mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-14 08:00:50 +02:00
VectorOps: Handle 256-bit VOr
This commit is contained in:
1 parent
4be6626c89
commit
afc5e8a140
2 files changed
+16
-2
No files matched your search
@@ -154,7 +154,16 @@ DEF_OP(VBic) {
|
||||
|
||||
DEF_OP(VOr) {
|
||||
auto Op = IROp->C<IR::IROp_VOr>();
|
||||
orr(GetDst(Node).V16B(), GetSrc(Op->Vector1.ID()).V16B(), GetSrc(Op->Vector2.ID()).V16B());
|
||||
|
||||
const auto Dst = GetDst(Node);
|
||||
const auto Vector1 = GetSrc(Op->Vector1.ID());
|
||||
const auto Vector2 = GetSrc(Op->Vector2.ID());
|
||||
|
||||
if (CanUseSVE) {
|
||||
orr(Dst.Z().VnD(), Vector1.Z().VnD(), Vector2.Z().VnD());
|
||||
} else {
|
||||
orr(Dst.V16B(), Vector1.V16B(), Vector2.V16B());
|
||||
}
|
||||
}
|
||||
|
||||
DEF_OP(VXor) {
|
||||
|
||||
@@ -157,7 +157,12 @@ DEF_OP(VBic) {
|
||||
|
||||
DEF_OP(VOr) {
|
||||
auto Op = IROp->C<IR::IROp_VOr>();
|
||||
vpor(GetDst(Node), GetSrc(Op->Vector1.ID()), GetSrc(Op->Vector2.ID()));
|
||||
|
||||
const auto Dst = ToYMM(GetDst(Node));
|
||||
const auto Vector1 = ToYMM(GetSrc(Op->Vector1.ID()));
|
||||
const auto Vector2 = ToYMM(GetSrc(Op->Vector2.ID()));
|
||||
|
||||
vpor(Dst, Vector1, Vector2);
|
||||
}
|
||||
|
||||
DEF_OP(VXor) {
|
||||
|
||||
Reference in new issue
Block a user