mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-23 10:00:47 +02:00
Fixes the HSUB ops
These were swizzling in the wrong direction. Confirmed by host runner
This commit is contained in:
1 parent
e168e5053a
commit
d425aa4f49
1 file changed
+6
-6
@@ -7479,15 +7479,15 @@ void OpDispatchBuilder::HSUBP(OpcodeArgs) {
|
||||
OrderedNode *Swizzle_Src = Src;
|
||||
|
||||
if (ElementSize == 4) {
|
||||
Swizzle_Dest = _VInsElement(Size, ElementSize, 0, 0, Swizzle_Dest, Dest_Neg);
|
||||
Swizzle_Dest = _VInsElement(Size, ElementSize, 2, 2, Swizzle_Dest, Dest_Neg);
|
||||
Swizzle_Dest = _VInsElement(Size, ElementSize, 1, 1, Swizzle_Dest, Dest_Neg);
|
||||
Swizzle_Dest = _VInsElement(Size, ElementSize, 3, 3, Swizzle_Dest, Dest_Neg);
|
||||
|
||||
Swizzle_Src = _VInsElement(Size, ElementSize, 0, 0, Swizzle_Src, Src_Neg);
|
||||
Swizzle_Src = _VInsElement(Size, ElementSize, 2, 2, Swizzle_Src, Src_Neg);
|
||||
Swizzle_Src = _VInsElement(Size, ElementSize, 1, 1, Swizzle_Src, Src_Neg);
|
||||
Swizzle_Src = _VInsElement(Size, ElementSize, 3, 3, Swizzle_Src, Src_Neg);
|
||||
}
|
||||
else {
|
||||
Swizzle_Dest = _VInsElement(Size, ElementSize, 0, 0, Swizzle_Dest, Dest_Neg);
|
||||
Swizzle_Src = _VInsElement(Size, ElementSize, 0, 0, Swizzle_Src, Src_Neg);
|
||||
Swizzle_Dest = _VInsElement(Size, ElementSize, 1, 1, Swizzle_Dest, Dest_Neg);
|
||||
Swizzle_Src = _VInsElement(Size, ElementSize, 1, 1, Swizzle_Src, Src_Neg);
|
||||
}
|
||||
|
||||
OrderedNode *Res = _VFAddP(Size, ElementSize, Swizzle_Dest, Swizzle_Src);
|
||||
|
||||
Reference in new issue
Block a user