aboutsummaryrefslogtreecommitdiff
path: root/src/ARM_InstrInfo.cpp
diff options
context:
space:
mode:
authorRSDuck <rsduck@users.noreply.github.com>2020-02-04 18:29:52 +0100
committerRSDuck <rsduck@users.noreply.github.com>2020-06-16 11:57:51 +0200
commit99b34efe2d923c4fd6fbfdb051833d2af6ea2136 (patch)
tree2f8638d2120dcafad87c0dea4b42127149ed9f67 /src/ARM_InstrInfo.cpp
parentbaed0ac0d59d3cbbce01389a84da9774f5613b3b (diff)
move ARM64 JIT backend here
Diffstat (limited to 'src/ARM_InstrInfo.cpp')
-rw-r--r--src/ARM_InstrInfo.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ARM_InstrInfo.cpp b/src/ARM_InstrInfo.cpp
index 08e2f0a..b884773 100644
--- a/src/ARM_InstrInfo.cpp
+++ b/src/ARM_InstrInfo.cpp
@@ -2,6 +2,8 @@
#include <stdio.h>
+#include "Config.h"
+
namespace ARMInstrInfo
{
@@ -363,7 +365,11 @@ Info Decode(bool thumb, u32 num, u32 instr)
res.SpecialKind = special_WriteMem;
if (res.Kind == ARMInstrInfo::tk_LDR_PCREL)
+ {
+ if (!Config::JIT_LiteralOptimisations)
+ res.SrcRegs |= 1 << 15;
res.SpecialKind = special_LoadLiteral;
+ }
if (res.Kind == tk_LDMIA || res.Kind == tk_POP)
{
@@ -417,7 +423,6 @@ Info Decode(bool thumb, u32 num, u32 instr)
u32 cp = ((instr >> 8) & 0xF);
if ((num == 0 && cp != 15) || (num == 1 && cp != 14))
{
- printf("happens\n");
data = A_UNK;
res.Kind = ak_UNK;
}