about summary refs log tree commit diff
path: root/compiler/rustc_target
diff options
context:
space:
mode:
authorTaiki Endo <te316e89@gmail.com>2024-11-22 04:18:14 +0900
committerTaiki Endo <te316e89@gmail.com>2024-11-22 04:18:14 +0900
commit2c8f6de1babfd5cce9badd8ff85c0652377edd75 (patch)
tree5e01e55756acf442cb06044d2f796e6e667273b6 /compiler/rustc_target
parent75703c1a78c3cd99fa1347b237f3966fb8860e98 (diff)
downloadrust-2c8f6de1babfd5cce9badd8ff85c0652377edd75.tar.gz
rust-2c8f6de1babfd5cce9badd8ff85c0652377edd75.zip
Support input/output in vector registers of s390x inline assembly
Diffstat (limited to 'compiler/rustc_target')
-rw-r--r--compiler/rustc_target/src/asm/s390x.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/rustc_target/src/asm/s390x.rs b/compiler/rustc_target/src/asm/s390x.rs
index 9b31190a72b..426417e5bac 100644
--- a/compiler/rustc_target/src/asm/s390x.rs
+++ b/compiler/rustc_target/src/asm/s390x.rs
@@ -42,7 +42,10 @@ impl S390xInlineAsmRegClass {
         match self {
             Self::reg | Self::reg_addr => types! { _: I8, I16, I32, I64; },
             Self::freg => types! { _: F32, F64; },
-            Self::vreg => &[],
+            Self::vreg => types! {
+                vector: I32, F32, I64, F64, I128, F128,
+                    VecI8(16), VecI16(8), VecI32(4), VecI64(2), VecF32(4), VecF64(2);
+            },
             Self::areg => &[],
         }
     }