Skip to content

Commit

Permalink
[a64] Remove redundant OPCODE_DOT_PRODUCT_{3,4} lane-isolation
Browse files Browse the repository at this point in the history
The last `FADDP` writes into an `S` register, which automatically masks all the other lanes to zero.
  • Loading branch information
Wunkolo committed Jun 23, 2024
1 parent 9c8b067 commit 9c572c3
Showing 1 changed file with 0 additions and 10 deletions.
10 changes: 0 additions & 10 deletions src/xenia/cpu/backend/a64/a64_sequences.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2111,11 +2111,6 @@ struct DOT_PRODUCT_3_V128
e.MOV(dest.toQ().Selem()[3], WZR);
e.FADDP(dest.toQ().S4(), dest.toQ().S4(), dest.toQ().S4());
e.FADDP(dest.toS(), dest.toD().S2());

// Isolate lower lane
e.MOVI(Q0.D2(), RepImm(0b00'00'00'00));
e.INS(Q0.Selem()[0], dest.toQ().Selem()[0]);
e.MOV(dest.toQ().B16(), Q0.B16());
});
}
};
Expand All @@ -2134,11 +2129,6 @@ struct DOT_PRODUCT_4_V128
e.FMUL(dest.toQ().S4(), src1.S4(), src2.S4());
e.FADDP(dest.toQ().S4(), dest.toQ().S4(), dest.toQ().S4());
e.FADDP(dest.toS(), dest.toD().S2());

// Isolate lower lane
e.MOVI(Q0.D2(), RepImm(0b00'00'00'00));
e.INS(Q0.Selem()[0], dest.toQ().Selem()[0]);
e.MOV(dest.toQ().B16(), Q0.B16());
});
}
};
Expand Down

0 comments on commit 9c572c3

Please sign in to comment.