diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2023-11-22 15:13:32 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-22 15:13:32 -0800 |
commit | 926bfc3bc0cfea976533c8eba8cda1fa298124e2 (patch) | |
tree | dd1e3e70003a7e7a95839749cbb13bae10816ce9 /yjit | |
parent | 5672fb63d21ca8311513c44a82ffe5a0c8f55240 (diff) | |
download | ruby-926bfc3bc0cfea976533c8eba8cda1fa298124e2.tar.gz |
YJIT: Avoid a register spill on arm64 (#9014)
Diffstat (limited to 'yjit')
-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 f09a07e571..7cd2449e73 100644 --- a/yjit/src/backend/arm64/mod.rs +++ b/yjit/src/backend/arm64/mod.rs @@ -564,6 +564,7 @@ impl Assembler // If we're attempting to load into a memory operand, then // we'll switch over to the store instruction. (Opnd::Mem(_), _) => { + let opnd0 = split_memory_address(asm, *dest); let value = match *src { // If the first operand is zero, then we can just use // the zero register. @@ -579,7 +580,6 @@ impl Assembler _ => split_bitmask_immediate(asm, *src, dest.rm_num_bits()) }; - let opnd0 = split_memory_address(asm, *dest); asm.store(opnd0, value); }, // If we're loading a memory operand into a register, then |