diff options
| author | Ryan Houdek <Sonicadvance1@Gmail.com> | 2013-08-30 09:37:57 +0000 |
|---|---|---|
| committer | Ryan Houdek <Sonicadvance1@Gmail.com> | 2013-08-30 09:38:11 +0000 |
| commit | 2c1337eb5f89be68ed649ec66e8805055ecfca1c (patch) | |
| tree | 8c8601c1bb5e12938452292b444a5f4d336b1425 /Source/Core/Common | |
| parent | 2ab7fc10daa8b7af2dde19c1c584a09cee79f624 (diff) | |
[ARM] Support both hardfp and softfp with lfs and lfd. Fixes these two instructions on Android since it uses softfp calling conventions. This adds a emitter for moving from two ARM Registers to a double VFP reg.
Diffstat (limited to 'Source/Core/Common')
| -rw-r--r-- | Source/Core/Common/Src/ArmEmitter.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/Core/Common/Src/ArmEmitter.cpp b/Source/Core/Common/Src/ArmEmitter.cpp index 2788760c6d..e9102f20cf 100644 --- a/Source/Core/Common/Src/ArmEmitter.cpp +++ b/Source/Core/Common/Src/ArmEmitter.cpp @@ -1154,7 +1154,10 @@ void ARMXEmitter::VMOV(ARMReg Dest, ARMReg Src) else { // Move 64bit from Arm reg - _dbg_assert_msg_(DYNA_REC, false, "This VMOV doesn't support moving 64bit ARM to NEON"); + ARMReg Src2 = (ARMReg)(Src + 1); + Dest = (ARMReg)(Dest - S0); + Write32(condition | (0xC4 << 20) | (Src2 << 16) | (Src << 12) \ + | (0xB << 8) | ((Dest & 0x10) << 1) | (1 << 4) | ((Dest & 0xF) >> 1)); return; } } |
