aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@qt.io>2017-05-03 16:58:44 +0200
committerSimon Hausmann <simon.hausmann@qt.io>2017-05-03 15:49:31 +0000
commit0da6de65468d3b8cc1ca7ee0af10f254ae3d4dd6 (patch)
tree0e74decd09bc54fb2f6d8653cb6b5b9c10d4090e
parent30dbe57521c9b1f4cac74db8f5f15a3c466c20d0 (diff)
Fix ARM64 code generation
When generating instructions for pointer arithmetic, do use the 64-bit registers, otherwise for example when loading pointers we'll end up only loading the lower 32 bits. Task-number: QTBUG-60441 Change-Id: I2c7c82964029e383afcadabc078842690d2d637a Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
-rw-r--r--src/3rdparty/masm/assembler/MacroAssemblerARM64.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/3rdparty/masm/assembler/MacroAssemblerARM64.h b/src/3rdparty/masm/assembler/MacroAssemblerARM64.h
index 11f1672e15..d5f4acb3ca 100644
--- a/src/3rdparty/masm/assembler/MacroAssemblerARM64.h
+++ b/src/3rdparty/masm/assembler/MacroAssemblerARM64.h
@@ -214,27 +214,27 @@ public:
#if defined(V4_BOOTSTRAP)
void loadPtr(ImplicitAddress address, RegisterID dest)
{
- load32(address, dest);
+ load64(address, dest);
}
void subPtr(TrustedImm32 imm, RegisterID dest)
{
- sub32(imm, dest);
+ sub64(imm, dest);
}
void addPtr(TrustedImm32 imm, RegisterID dest)
{
- add32(imm, dest);
+ add64(imm, dest);
}
void addPtr(TrustedImm32 imm, RegisterID src, RegisterID dest)
{
- add32(imm, src, dest);
+ add64(imm, src, dest);
}
void storePtr(RegisterID src, ImplicitAddress address)
{
- store32(src, address);
+ store64(src, address);
}
#endif