summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2014-09-18 06:51:37 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2014-09-18 06:51:37 -0500
commitd54c8eb6bfac91e3799dc0d1435d15fb0597700b (patch)
tree560f3ea595b26a9bc1df16e3072a906ed31aab7f /Source
parent0294b344e23837b6b67d778c54aa7ba0b2a7a0d2 (diff)
parent2ae6f13d2211de23dd0e9fe754762afdc862c367 (diff)
Merge pull request #1098 from FioraAeterna/cvtsi2ss
JIT: use cvtsi2ss in paired singles
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/PowerPC/JitCommon/JitAsmCommon.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/Source/Core/Core/PowerPC/JitCommon/JitAsmCommon.cpp b/Source/Core/Core/PowerPC/JitCommon/JitAsmCommon.cpp
index f76acc6ba7..24f59e2701 100644
--- a/Source/Core/Core/PowerPC/JitCommon/JitAsmCommon.cpp
+++ b/Source/Core/Core/PowerPC/JitCommon/JitAsmCommon.cpp
@@ -544,8 +544,7 @@ void CommonAsmRoutines::GenQuantizedLoads()
SafeLoadToReg(RSCRATCH_EXTRA, R(RSCRATCH_EXTRA), 8, 0, QUANTIZED_REGS_TO_SAVE_LOAD, false, SAFE_LOADSTORE_NO_PROLOG);
else
UnsafeLoadRegToRegNoSwap(RSCRATCH_EXTRA, RSCRATCH_EXTRA, 8, 0); // RSCRATCH_EXTRA = 0x000000xx
- MOVD_xmm(XMM0, R(RSCRATCH_EXTRA));
- CVTDQ2PS(XMM0, R(XMM0)); // Is CVTSI2SS better?
+ CVTSI2SS(XMM0, R(RSCRATCH_EXTRA));
SHR(32, R(RSCRATCH2), Imm8(5));
MOVSS(XMM1, MDisp(RSCRATCH2, (u32)(u64)m_dequantizeTableS));
MULSS(XMM0, R(XMM1));
@@ -585,8 +584,7 @@ void CommonAsmRoutines::GenQuantizedLoads()
SafeLoadToReg(RSCRATCH_EXTRA, R(RSCRATCH_EXTRA), 8, 0, QUANTIZED_REGS_TO_SAVE_LOAD, true, SAFE_LOADSTORE_NO_PROLOG);
else
UnsafeLoadRegToRegNoSwap(RSCRATCH_EXTRA, RSCRATCH_EXTRA, 8, 0, true);
- MOVD_xmm(XMM0, R(RSCRATCH_EXTRA));
- CVTDQ2PS(XMM0, R(XMM0));
+ CVTSI2SS(XMM0, R(RSCRATCH_EXTRA));
SHR(32, R(RSCRATCH2), Imm8(5));
MOVSS(XMM1, MDisp(RSCRATCH2, (u32)(u64)m_dequantizeTableS));
MULSS(XMM0, R(XMM1));
@@ -621,8 +619,7 @@ void CommonAsmRoutines::GenQuantizedLoads()
SafeLoadToReg(RSCRATCH_EXTRA, R(RSCRATCH_EXTRA), 16, 0, QUANTIZED_REGS_TO_SAVE_LOAD, false, SAFE_LOADSTORE_NO_PROLOG);
else
UnsafeLoadRegToReg(RSCRATCH_EXTRA, RSCRATCH_EXTRA, 16, 0, false);
- MOVD_xmm(XMM0, R(RSCRATCH_EXTRA));
- CVTDQ2PS(XMM0, R(XMM0));
+ CVTSI2SS(XMM0, R(RSCRATCH_EXTRA));
SHR(32, R(RSCRATCH2), Imm8(5));
MOVSS(XMM1, MDisp(RSCRATCH2, (u32)(u64)m_dequantizeTableS));
MULSS(XMM0, R(XMM1));
@@ -656,8 +653,7 @@ void CommonAsmRoutines::GenQuantizedLoads()
SafeLoadToReg(RSCRATCH_EXTRA, R(RSCRATCH_EXTRA), 16, 0, QUANTIZED_REGS_TO_SAVE_LOAD, true, SAFE_LOADSTORE_NO_PROLOG);
else
UnsafeLoadRegToReg(RSCRATCH_EXTRA, RSCRATCH_EXTRA, 16, 0, true);
- MOVD_xmm(XMM0, R(RSCRATCH_EXTRA));
- CVTDQ2PS(XMM0, R(XMM0));
+ CVTSI2SS(XMM0, R(RSCRATCH_EXTRA));
SHR(32, R(RSCRATCH2), Imm8(5));
MOVSS(XMM1, MDisp(RSCRATCH2, (u32)(u64)m_dequantizeTableS));
MULSS(XMM0, R(XMM1));