diff options
| author | bors <bors@rust-lang.org> | 2024-11-25 08:13:44 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-11-25 08:13:44 +0000 |
| commit | 1278dad1e9a46a3a6fb5de80a5620cd2e58196cb (patch) | |
| tree | 4aa87ca24f3ebf4d53208bf8176e3e7d8c0102eb /compiler/rustc_codegen_cranelift | |
| parent | 67a8c642592f86eaf3b84030c04e0305d79953d1 (diff) | |
| parent | d2590e0ca3c4cee93b4b9a2c13699213489d4413 (diff) | |
| download | rust-1278dad1e9a46a3a6fb5de80a5620cd2e58196cb.tar.gz rust-1278dad1e9a46a3a6fb5de80a5620cd2e58196cb.zip | |
Auto merge of #133433 - matthiaskrgr:rollup-lfa3wp1, r=matthiaskrgr
Rollup of 8 pull requests
Successful merges:
- #131523 (Fix asm goto with outputs and move it to a separate feature gate)
- #131664 (Support input/output in vector registers of s390x inline assembly (under asm_experimental_reg feature))
- #132432 (Add a test to verify that libstd doesn't use protected symbols)
- #132502 (Document possibility to set core features in example config.toml)
- #132529 (ci(triagebot): add more top-level files to A-meta)
- #132533 (Add BorrowedBuf::into_filled{,_mut} methods to allow returning buffer with original lifetime)
- #132803 (Fix broken url)
- #132982 (alloc: fix `Allocator` method names in `alloc` free function docs)
r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_cranelift')
| -rw-r--r-- | compiler/rustc_codegen_cranelift/src/inline_asm.rs | 8 |
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 70176754f33..7bc500b1814 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; |
