OpcodeDispatcher: Remove redundant move from VAESDec

Zero-extension will occur automatically upon storing if necessary.
This commit is contained in:
Lioncache committed 2023-08-23 21:26:49 -04:00
1 parent a6f1a9f8e8
commit d37ce08ae9
2 files changed
+2 -6

No files matched your search

@@ -331,7 +331,7 @@ void OpDispatchBuilder::AESDecOp(OpcodeArgs) {
void OpDispatchBuilder::VAESDecOp(OpcodeArgs) {
const auto DstSize = GetDstSize(Op);
const auto Is128Bit = DstSize == Core::CPUState::XMM_SSE_REG_SIZE;
[[maybe_unused]] const auto Is128Bit = DstSize == Core::CPUState::XMM_SSE_REG_SIZE;
// TODO: Handle 256-bit VAESDEC.
LOGMAN_THROW_A_FMT(Is128Bit, "256-bit VAESDEC unimplemented");
@@ -340,9 +340,6 @@ void OpDispatchBuilder::VAESDecOp(OpcodeArgs) {
OrderedNode *Key = LoadSource(FPRClass, Op, Op->Src[1], Op->Flags, -1);
OrderedNode *Result = _VAESDec(DstSize, State, Key);
if (Is128Bit) {
Result = _VMov(16, Result);
}
StoreResult(FPRClass, Op, Result, -1);
}
+1 -2
View File
@@ -3679,7 +3679,7 @@
]
},
"vaesdec xmm0, xmm1, xmm2": {
"ExpectedInstructionCount": 10,
"ExpectedInstructionCount": 9,
"Optimal": "No",
"Comment": [
"Map 2 0b01 0xde 128-bit"
@@ -3693,7 +3693,6 @@
"unimplemented (Unimplemented)",
"eor v4.16b, v0.16b, v5.16b",
"mov v4.16b, v4.16b",
"mov v4.16b, v4.16b",
"mov z16.d, p7/m, z4.d"
]
},