diff options
Diffstat (limited to 'src/3rdparty')
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssembler.h | 2 | ||||
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssemblerARMv7.h | 11 | ||||
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssemblerX86_64.h | 13 |
3 files changed, 25 insertions, 1 deletions
diff --git a/src/3rdparty/masm/assembler/MacroAssembler.h b/src/3rdparty/masm/assembler/MacroAssembler.h index 6e77a9ffb7..20ddcadae1 100644 --- a/src/3rdparty/masm/assembler/MacroAssembler.h +++ b/src/3rdparty/masm/assembler/MacroAssembler.h @@ -810,7 +810,7 @@ public: Jump branchPtr(RelationalCondition cond, RegisterID left, TrustedImmPtr right) { - return branch64(cond, left, TrustedImm64(right)); + return this->branch64(cond, left, TrustedImm64(right)); } Jump branchPtr(RelationalCondition cond, RegisterID left, Address right) diff --git a/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h b/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h index fe8170d098..d91122d4a1 100644 --- a/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h +++ b/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h @@ -815,6 +815,17 @@ public: store8(src, setupArmAddress(address)); } + void store8(RegisterID src, Address address) + { + store8(src, setupArmAddress(address)); + } + + void store8(TrustedImm32 imm, Address address) + { + move(imm, dataTempRegister); + store8(dataTempRegister, address); + } + #if !defined(V4_BOOTSTRAP) void store8(RegisterID src, void* address) { diff --git a/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h b/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h index c7c6aae637..002caaae78 100644 --- a/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h +++ b/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h @@ -292,6 +292,12 @@ public: or64(imm, dest); } + void or64(TrustedImm64 imm, RegisterID src, RegisterID dest) + { + move(src, dest); + or64(imm, dest); + } + void rotateRight64(TrustedImm32 imm, RegisterID srcDst) { m_assembler.rorq_i8r(imm.m_value, srcDst); @@ -366,6 +372,13 @@ public: } } + void urshift64(RegisterID src, TrustedImm32 imm, RegisterID dest) + { + if (src != dest) + move(src, dest); + urshift64(imm, dest); + } + void urshift64(TrustedImm32 imm, RegisterID dest) { m_assembler.shrq_i8r(imm.m_value, dest); |