mirror of
https://github.com/xenia-project/xenia.git
synced 2025-12-06 07:12:03 +01:00
[x64] Add AVX512 optimization for NOT_V128
This commit is contained in:
parent
7595cdb52b
commit
b0cc3db4d8
|
|
@ -2891,6 +2891,10 @@ struct NOT_I64 : Sequence<NOT_I64, I<OPCODE_NOT, I64Op, I64Op>> {
|
||||||
};
|
};
|
||||||
struct NOT_V128 : Sequence<NOT_V128, I<OPCODE_NOT, V128Op, V128Op>> {
|
struct NOT_V128 : Sequence<NOT_V128, I<OPCODE_NOT, V128Op, V128Op>> {
|
||||||
static void Emit(X64Emitter& e, const EmitArgType& i) {
|
static void Emit(X64Emitter& e, const EmitArgType& i) {
|
||||||
|
if (e.IsFeatureEnabled(kX64EmitAVX512Ortho)) {
|
||||||
|
e.vpternlogd(i.dest, i.src1, i.src1, 0b01010101);
|
||||||
|
return;
|
||||||
|
}
|
||||||
// dest = src ^ 0xFFFF...
|
// dest = src ^ 0xFFFF...
|
||||||
e.vpxor(i.dest, i.src1, e.GetXmmConstPtr(XMMFFFF /* FF... */));
|
e.vpxor(i.dest, i.src1, e.GetXmmConstPtr(XMMFFFF /* FF... */));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue