diff options
Diffstat (limited to 'src/3rdparty/masm/assembler/MacroAssemblerARM64.h')
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssemblerARM64.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/3rdparty/masm/assembler/MacroAssemblerARM64.h b/src/3rdparty/masm/assembler/MacroAssemblerARM64.h index d5f4acb3ca..1f94eb9032 100644 --- a/src/3rdparty/masm/assembler/MacroAssemblerARM64.h +++ b/src/3rdparty/masm/assembler/MacroAssemblerARM64.h @@ -718,15 +718,20 @@ public: void or64(TrustedImm64 imm, RegisterID dest) { + or64(imm, dest, dest); + } + + void or64(TrustedImm64 imm, RegisterID src, RegisterID dest) + { LogicalImmediate logicalImm = LogicalImmediate::create64(static_cast<intptr_t>(static_cast<int64_t>(imm.m_value))); if (logicalImm.isValid()) { - m_assembler.orr<64>(dest, dest, logicalImm); + m_assembler.orr<64>(dest, src, logicalImm); return; } move(imm, getCachedDataTempRegisterIDAndInvalidate()); - m_assembler.orr<64>(dest, dest, dataTempRegister); + m_assembler.orr<64>(dest, src, dataTempRegister); } void rotateRight64(TrustedImm32 imm, RegisterID srcDst) |