floating_point_conversion_integer: Handle S64/U64 -> F32 conversions in SCVTF_float_int and UCVTF_float_int
This commit is contained in:
parent
7a84b6e8d8
commit
9c0d5cf15c
1 changed files with 2 additions and 2 deletions
|
@ -37,7 +37,7 @@ bool TranslatorVisitor::SCVTF_float_int(bool sf, Imm<2> type, Reg Rn, Vec Vd) {
|
||||||
} else if (intsize == 32 && *fltsize == 64) {
|
} else if (intsize == 32 && *fltsize == 64) {
|
||||||
fltval = ir.FPS32ToDouble(intval, false, true);
|
fltval = ir.FPS32ToDouble(intval, false, true);
|
||||||
} else if (intsize == 64 && *fltsize == 32) {
|
} else if (intsize == 64 && *fltsize == 32) {
|
||||||
return InterpretThisInstruction();
|
fltval = ir.FPS64ToSingle(intval, false, true);
|
||||||
} else if (intsize == 64 && *fltsize == 64) {
|
} else if (intsize == 64 && *fltsize == 64) {
|
||||||
fltval = ir.FPS64ToDouble(intval, false, true);
|
fltval = ir.FPS64ToDouble(intval, false, true);
|
||||||
} else {
|
} else {
|
||||||
|
@ -64,7 +64,7 @@ bool TranslatorVisitor::UCVTF_float_int(bool sf, Imm<2> type, Reg Rn, Vec Vd) {
|
||||||
} else if (intsize == 32 && *fltsize == 64) {
|
} else if (intsize == 32 && *fltsize == 64) {
|
||||||
fltval = ir.FPU32ToDouble(intval, false, true);
|
fltval = ir.FPU32ToDouble(intval, false, true);
|
||||||
} else if (intsize == 64 && *fltsize == 32) {
|
} else if (intsize == 64 && *fltsize == 32) {
|
||||||
return InterpretThisInstruction();
|
fltval = ir.FPU64ToSingle(intval, false, true);
|
||||||
} else if (intsize == 64 && *fltsize == 64) {
|
} else if (intsize == 64 && *fltsize == 64) {
|
||||||
fltval = ir.FPU64ToDouble(intval, false, true);
|
fltval = ir.FPU64ToDouble(intval, false, true);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue