mirror of
https://github.com/azahar-emu/dynarmic
synced 2025-11-08 08:00:01 +01:00
A64: Implement SCVTF (vector, integer), scalar varaint
This commit is contained in:
parent
bfba38d0b6
commit
e4237c44eb
@ -364,7 +364,7 @@ INST(DUP_elt_1, "DUP (element)", "01011
|
|||||||
//INST(FCVTAS_1, "FCVTAS (vector)", "0101111001111001110010nnnnnddddd")
|
//INST(FCVTAS_1, "FCVTAS (vector)", "0101111001111001110010nnnnnddddd")
|
||||||
//INST(FCVTAS_2, "FCVTAS (vector)", "010111100z100001110010nnnnnddddd")
|
//INST(FCVTAS_2, "FCVTAS (vector)", "010111100z100001110010nnnnnddddd")
|
||||||
//INST(SCVTF_int_1, "SCVTF (vector, integer)", "0101111001111001110110nnnnnddddd")
|
//INST(SCVTF_int_1, "SCVTF (vector, integer)", "0101111001111001110110nnnnnddddd")
|
||||||
//INST(SCVTF_int_2, "SCVTF (vector, integer)", "010111100z100001110110nnnnnddddd")
|
INST(SCVTF_int_2, "SCVTF (vector, integer)", "010111100z100001110110nnnnnddddd")
|
||||||
//INST(FCMGT_zero_1, "FCMGT (zero)", "0101111011111000110010nnnnnddddd")
|
//INST(FCMGT_zero_1, "FCMGT (zero)", "0101111011111000110010nnnnnddddd")
|
||||||
//INST(FCMGT_zero_2, "FCMGT (zero)", "010111101z100000110010nnnnnddddd")
|
//INST(FCMGT_zero_2, "FCMGT (zero)", "010111101z100000110010nnnnnddddd")
|
||||||
//INST(FCMEQ_zero_1, "FCMEQ (zero)", "0101111011111000110110nnnnnddddd")
|
//INST(FCMEQ_zero_1, "FCMEQ (zero)", "0101111011111000110110nnnnnddddd")
|
||||||
|
|||||||
@ -33,6 +33,19 @@ bool TranslatorVisitor::NEG_1(Imm<2> size, Vec Vn, Vec Vd) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TranslatorVisitor::SCVTF_int_2(bool sz, Vec Vn, Vec Vd) {
|
||||||
|
const auto esize = sz ? 64 : 32;
|
||||||
|
|
||||||
|
IR::U32U64 element = V_scalar(esize, Vn);
|
||||||
|
if (esize == 32) {
|
||||||
|
element = ir.FPS32ToSingle(element, false, true);
|
||||||
|
} else {
|
||||||
|
return InterpretThisInstruction();
|
||||||
|
}
|
||||||
|
V_scalar(esize, Vd, element);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool TranslatorVisitor::UCVTF_int_2(bool sz, Vec Vn, Vec Vd) {
|
bool TranslatorVisitor::UCVTF_int_2(bool sz, Vec Vn, Vec Vd) {
|
||||||
const auto esize = sz ? 64 : 32;
|
const auto esize = sz ? 64 : 32;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user