mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-14 17:00:52 +02:00
Implements new VTBL1 IR op in x86 JIT
This commit is contained in:
1 parent
59bffc7431
commit
91229c8ea2
1 file changed
+17
@@ -4219,6 +4219,23 @@ void *JITCore::CompileCode([[maybe_unused]] FEXCore::IR::IRListView<true> const
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IR::OP_VTBL1: {
|
||||
auto Op = IROp->C<IR::IROp_VTBL1>();
|
||||
switch (OpSize) {
|
||||
case 8: {
|
||||
vpshufb(GetDst(Node), GetSrc(Op->Header.Args[0].ID()), GetSrc(Op->Header.Args[1].ID()));
|
||||
movq(GetDst(Node), GetDst(Node));
|
||||
break;
|
||||
}
|
||||
case 16: {
|
||||
vpshufb(GetDst(Node), GetSrc(Op->Header.Args[0].ID()), GetSrc(Op->Header.Args[1].ID()));
|
||||
break;
|
||||
}
|
||||
default: LogMan::Msg::A("Unknown OpSize: %d", OpSize); break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case IR::OP_FLOAT_FROMGPR_S: {
|
||||
auto Op = IROp->C<IR::IROp_Float_FromGPR_S>();
|
||||
if (Op->Header.ElementSize == 8) {
|
||||
|
||||
Reference in new issue
Block a user