diff options
| author | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2025-02-13 14:23:18 +0000 |
|---|---|---|
| committer | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2025-02-13 14:23:18 +0000 |
| commit | 27e8329b2071e3be980c149c23bc15093681065d (patch) | |
| tree | 42b731c1702b9c9d840bf958dc614d984482231e /src | |
| parent | c27715bf66353eb77625eec2f9ebcf4bda68497d (diff) | |
Slightly optimize dynamic realignment in create_stack_slot
Diffstat (limited to 'src')
| -rw-r--r-- | src/common.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/common.rs b/src/common.rs index 25941e07a19..766278d8718 100644 --- a/src/common.rs +++ b/src/common.rs @@ -408,7 +408,7 @@ impl<'tcx> FunctionCx<'_, '_, 'tcx> { align_shift: 4, }); let base_ptr = self.bcx.ins().stack_addr(self.pointer_type, stack_slot, 0); - let misalign_offset = self.bcx.ins().urem_imm(base_ptr, i64::from(align)); + let misalign_offset = self.bcx.ins().band_imm(base_ptr, i64::from(align - 1)); let realign_offset = self.bcx.ins().irsub_imm(misalign_offset, i64::from(align)); Pointer::new(self.bcx.ins().iadd(base_ptr, realign_offset)) } |
