about summary refs log tree commit diff
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
commit1876e520e8fd8a73404e38f1350405387b01ef59 (patch)
tree2b4c65cb7430cbf918dd13668b8819974646117c
parent329cd79cb4849e00b6dd64a484fff070ec9e5a4a (diff)
downloadrust-1876e520e8fd8a73404e38f1350405387b01ef59.tar.gz
rust-1876e520e8fd8a73404e38f1350405387b01ef59.zip
Make s390x non-clobber-only vector register support unstable
-rw-r--r--src/inline_asm.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/inline_asm.rs b/src/inline_asm.rs
index 0df1a30fc0a..a2fb711b9e1 100644
--- a/src/inline_asm.rs
+++ b/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;