Merge pull request #3084 from Sonicadvance1/optimize_bswap

OpcodeDispatcher: Optimize 32-bit bswap
This commit is contained in:
Mai authored and GitHub committed 2023-09-12 20:09:00 -04:00
commit ebdca02218
2 files changed
+4 -5

No files matched your search

@@ -4337,7 +4337,7 @@ void OpDispatchBuilder::BSWAPOp(OpcodeArgs) {
Dest = _Constant(0);
}
else {
Dest = LoadSource(GPRClass, Op, Op->Dest, Op->Flags, -1);
Dest = LoadSource_WithOpSize(GPRClass, Op, Op->Dest, CTX->GetGPRSize(), Op->Flags, -1);
Dest = _Rev(IR::SizeToOpSize(Size), Dest);
}
StoreResult(GPRClass, Op, Dest, -1);
+3 -4
View File
@@ -3705,12 +3705,11 @@
]
},
"bswap eax": {
"ExpectedInstructionCount": 2,
"Optimal": "No",
"ExpectedInstructionCount": 1,
"Optimal": "Yes",
"Comment": "0x0f 0xc8",
"ExpectedArm64ASM": [
"lsr w20, w4, #0",
"rev w4, w20"
"rev w4, w4"
]
},
"bswap rax": {