mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-27 22:33:17 +00:00
- ptest is a SSE 4.1 instruction
This commit is contained in:
parent
2e383073e8
commit
d88d173b38
1 changed files with 9 additions and 3 deletions
|
@ -708,7 +708,9 @@ void JitCompiler::EmitMULF_RK()
|
|||
void JitCompiler::EmitDIVF_RR()
|
||||
{
|
||||
auto label = EmitThrowExceptionLabel(X_DIVISION_BY_ZERO);
|
||||
cc.ptest(regF[C], regF[C]);
|
||||
auto zero = newTempXmmSd();
|
||||
cc.xorpd(zero, zero);
|
||||
cc.ucomisd(regF[C], zero);
|
||||
cc.je(label);
|
||||
|
||||
auto rc = CheckRegF(C, A);
|
||||
|
@ -748,7 +750,9 @@ static double DoubleModF(double a, double b)
|
|||
void JitCompiler::EmitMODF_RR()
|
||||
{
|
||||
auto label = EmitThrowExceptionLabel(X_DIVISION_BY_ZERO);
|
||||
cc.ptest(regF[C], regF[C]);
|
||||
auto zero = newTempXmmSd();
|
||||
cc.xorpd(zero, zero);
|
||||
cc.ucomisd(regF[C], zero);
|
||||
cc.je(label);
|
||||
|
||||
auto result = newResultXmmSd();
|
||||
|
@ -787,7 +791,9 @@ void JitCompiler::EmitMODF_KR()
|
|||
using namespace asmjit;
|
||||
|
||||
auto label = EmitThrowExceptionLabel(X_DIVISION_BY_ZERO);
|
||||
cc.ptest(regF[C], regF[C]);
|
||||
auto zero = newTempXmmSd();
|
||||
cc.xorpd(zero, zero);
|
||||
cc.ucomisd(regF[C], zero);
|
||||
cc.je(label);
|
||||
|
||||
auto tmp = newTempXmmSd();
|
||||
|
|
Loading…
Reference in a new issue