mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-24 01:00:44 +02:00
Fixes VADDV assert and implementation detail
AArch64's ADDV instruction doesn't support 8byte elements, it instead needs to use ADDP(scalar) for the operation. Fixes an assert and minor behaviour difference there
This commit is contained in:
1 parent
43a8915074
commit
383b8b7bb5
1 file changed
+3
-1
@@ -269,8 +269,10 @@ DEF_OP(VAddV) {
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
addv(GetDst(Node).VCast(Op->Header.ElementSize * 8, 1), GetSrc(Op->Header.Args[0].ID()).VCast(OpSize * 8, Elements));
|
||||
break;
|
||||
case 8:
|
||||
addv(GetDst(Node).VCast(OpSize * 8, Elements), GetSrc(Op->Header.Args[0].ID()).VCast(OpSize * 8, Elements));
|
||||
addp(GetDst(Node).VCast(OpSize * 8, 1), GetSrc(Op->Header.Args[0].ID()).VCast(OpSize * 8, Elements));
|
||||
break;
|
||||
default: LogMan::Msg::A("Unknown Element Size: %d", Op->Header.ElementSize); break;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user