about summary refs log tree commit diff
path: root/compiler/rustc_codegen_cranelift/src/inline_asm.rs
diff options
context:
space:
mode:
authorTaiki Endo <te316e89@gmail.com>2024-11-24 21:42:22 +0900
committerTaiki Endo <te316e89@gmail.com>2024-11-24 21:42:22 +0900
commitc024d8ccdfb462f4e99b54e6c8456fbc4d745752 (patch)
tree746d303b898bf928538b56a2d50b1b5c05ed28a5 /compiler/rustc_codegen_cranelift/src/inline_asm.rs
parent2c8f6de1babfd5cce9badd8ff85c0652377edd75 (diff)
downloadrust-c024d8ccdfb462f4e99b54e6c8456fbc4d745752.tar.gz
rust-c024d8ccdfb462f4e99b54e6c8456fbc4d745752.zip
Make s390x non-clobber-only vector register support unstable
Diffstat (limited to 'compiler/rustc_codegen_cranelift/src/inline_asm.rs')
-rw-r--r--compiler/rustc_codegen_cranelift/src/inline_asm.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/compiler/rustc_codegen_cranelift/src/inline_asm.rs b/compiler/rustc_codegen_cranelift/src/inline_asm.rs
index 0df1a30fc0a..a2fb711b9e1 100644
--- a/compiler/rustc_codegen_cranelift/src/inline_asm.rs
+++ b/compiler/rustc_codegen_cranelift/src/inline_asm.rs
@@ -462,8 +462,12 @@ impl<'tcx> InlineAssemblyGenerator<'_, 'tcx> {
         let mut slots_output = vec![None; self.operands.len()];
 
         let new_slot_fn = |slot_size: &mut Size, reg_class: InlineAsmRegClass| {
-            let reg_size =
-                reg_class.supported_types(self.arch).iter().map(|(ty, _)| ty.size()).max().unwrap();
+            let reg_size = reg_class
+                .supported_types(self.arch, true)
+                .iter()
+                .map(|(ty, _)| ty.size())
+                .max()
+                .unwrap();
             let align = rustc_abi::Align::from_bytes(reg_size.bytes()).unwrap();
             let offset = slot_size.align_to(align);
             *slot_size = offset + reg_size;