emit_x64_floating_point: zext FPFixedU32ToDouble
This commit is contained in:
parent
43e8d0d7fc
commit
b764c2425c
1 changed files with 2 additions and 0 deletions
|
@ -1870,6 +1870,8 @@ void EmitX64::EmitFPFixedU32ToDouble(EmitContext& ctx, IR::Inst* inst) {
|
||||||
const size_t fbits = args[1].GetImmediateU8();
|
const size_t fbits = args[1].GetImmediateU8();
|
||||||
[[maybe_unused]] const FP::RoundingMode rounding_mode = static_cast<FP::RoundingMode>(args[2].GetImmediateU8()); // Not required
|
[[maybe_unused]] const FP::RoundingMode rounding_mode = static_cast<FP::RoundingMode>(args[2].GetImmediateU8()); // Not required
|
||||||
|
|
||||||
|
code.xorps(to, to);
|
||||||
|
|
||||||
if (code.HasHostFeature(HostFeature::AVX512F)) {
|
if (code.HasHostFeature(HostFeature::AVX512F)) {
|
||||||
const Xbyak::Reg64 from = ctx.reg_alloc.UseGpr(args[0]);
|
const Xbyak::Reg64 from = ctx.reg_alloc.UseGpr(args[0]);
|
||||||
code.vcvtusi2sd(to, to, from.cvt32());
|
code.vcvtusi2sd(to, to, from.cvt32());
|
||||||
|
|
Loading…
Reference in a new issue