diff options
| author | Alan Wu <XrXr@users.noreply.github.com> | 2026-01-13 23:15:47 -0500 |
|---|---|---|
| committer | Alan Wu <XrXr@users.noreply.github.com> | 2026-01-14 17:19:52 -0500 |
| commit | cdb2b0eed50e1c837adeb85ef8978e533f056327 (patch) | |
| tree | 1470fe076104c7093db261b18c81debaa9ea8be8 | |
| parent | 9f3225d0c5c64c4aac9fd196061f8cfd3f25f271 (diff) | |
YJIT: A64: In CPopAll, pop into the register before using MSR
Or else we put garbage into the flags.
| -rw-r--r-- | yjit/src/backend/arm64/mod.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/yjit/src/backend/arm64/mod.rs b/yjit/src/backend/arm64/mod.rs index a89d47f75f..4486b46e36 100644 --- a/yjit/src/backend/arm64/mod.rs +++ b/yjit/src/backend/arm64/mod.rs @@ -1155,8 +1155,8 @@ impl Assembler let regs = Assembler::get_caller_save_regs(); // Pop the state/flags register - msr(cb, SystemRegister::NZCV, Self::SCRATCH0); emit_pop(cb, Self::SCRATCH0); + msr(cb, SystemRegister::NZCV, Self::SCRATCH0); for reg in regs.into_iter().rev() { emit_pop(cb, A64Opnd::Reg(reg)); |
