parent
0e2f756cdd
commit
1919dda336
|
@ -68,10 +68,11 @@ struct VECTOR_CONVERT_I2F
|
||||||
// Merge the two ways depending on whether the number is >= 0x80000000
|
// Merge the two ways depending on whether the number is >= 0x80000000
|
||||||
// (has high bit set).
|
// (has high bit set).
|
||||||
// e.vblendvps(i.dest, Q1, Q0, i.src1);
|
// e.vblendvps(i.dest, Q1, Q0, i.src1);
|
||||||
e.FCVTNU(i.dest.reg().S4(), i.src1.reg().S4());
|
e.UCVTF(i.dest.reg().S4(), i.src1.reg().S4());
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
e.FCVTNS(i.dest.reg().S4(), i.src1.reg().S4());
|
|
||||||
// e.vcvtdq2ps(i.dest, i.src1);
|
// e.vcvtdq2ps(i.dest, i.src1);
|
||||||
|
e.SCVTF(i.dest.reg().S4(), i.src1.reg().S4());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -108,7 +109,8 @@ struct VECTOR_CONVERT_F2I
|
||||||
|
|
||||||
// saturate values > UINT_MAX
|
// saturate values > UINT_MAX
|
||||||
// e.vpor(i.dest, i.dest, Q0);
|
// e.vpor(i.dest, i.dest, Q0);
|
||||||
e.UCVTF(i.dest.reg().S4(), i.src1.reg().S4());
|
e.FCVTNU(i.dest.reg().S4(), i.src1.reg().S4());
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// xmm2 = NaN mask
|
// xmm2 = NaN mask
|
||||||
// e.vcmpunordps(e.xmm2, i.src1, i.src1);
|
// e.vcmpunordps(e.xmm2, i.src1, i.src1);
|
||||||
|
@ -125,7 +127,7 @@ struct VECTOR_CONVERT_F2I
|
||||||
|
|
||||||
// mask NaNs
|
// mask NaNs
|
||||||
// e.vpandn(i.dest, e.xmm2, i.dest);
|
// e.vpandn(i.dest, e.xmm2, i.dest);
|
||||||
e.SCVTF(i.dest.reg().S4(), i.src1.reg().S4());
|
e.FCVTNS(i.dest.reg().S4(), i.src1.reg().S4());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue