aboutsummaryrefslogtreecommitdiffstats
path: root/src/3rdparty
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@qt.io>2017-11-07 11:30:14 +0100
committerErik Verbruggen <erik.verbruggen@qt.io>2017-11-21 06:59:23 +0000
commit9af8a47746b69b6040fc149c1d24602a1e25b08f (patch)
treec1b90686f46eca2956526b9faf6e40149db10cc1 /src/3rdparty
parent296de594828a8ab7ccbe011813378cfee3c7660f (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.h9
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)