diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-11-07 11:30:14 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-11-21 06:59:23 +0000 |
commit | 9af8a47746b69b6040fc149c1d24602a1e25b08f (patch) | |
tree | c1b90686f46eca2956526b9faf6e40149db10cc1 /src/3rdparty | |
parent | 296de594828a8ab7ccbe011813378cfee3c7660f (diff) |
V4: Add int32 fastpath for add/sub/mul in the JITwip/new-backend
Change-Id: I21b0e31c7c93ae51b4ab406948450e566546e246
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/3rdparty')
-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) |