summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar MerryMage2016-02-27 12:45:26 +0000
committerGravatar MerryMage2016-02-27 12:45:26 +0000
commitf73c39d5730bb7f3403c4608250b92067f0c2f2f (patch)
treeda179445660da73a6135cfe61d20e5d466a1e551
parentMerge pull request #1424 from MerryMage/lut_init (diff)
downloadyuzu-f73c39d5730bb7f3403c4608250b92067f0c2f2f.tar.gz
yuzu-f73c39d5730bb7f3403c4608250b92067f0c2f2f.tar.xz
yuzu-f73c39d5730bb7f3403c4608250b92067f0c2f2f.zip
x64 Emitter: Fix L bit in VEX prefix
Diffstat (limited to '')
-rw-r--r--src/common/x64/emitter.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/common/x64/emitter.cpp b/src/common/x64/emitter.cpp
index 939df210e..1dcf2416c 100644
--- a/src/common/x64/emitter.cpp
+++ b/src/common/x64/emitter.cpp
@@ -225,14 +225,14 @@ void OpArg::WriteVex(XEmitter* emit, X64Reg regOp1, X64Reg regOp2, int L, int pp
225 // do we need any VEX fields that only appear in the three-byte form? 225 // do we need any VEX fields that only appear in the three-byte form?
226 if (X == 1 && B == 1 && W == 0 && mmmmm == 1) 226 if (X == 1 && B == 1 && W == 0 && mmmmm == 1)
227 { 227 {
228 u8 RvvvvLpp = (R << 7) | (vvvv << 3) | (L << 1) | pp; 228 u8 RvvvvLpp = (R << 7) | (vvvv << 3) | (L << 2) | pp;
229 emit->Write8(0xC5); 229 emit->Write8(0xC5);
230 emit->Write8(RvvvvLpp); 230 emit->Write8(RvvvvLpp);
231 } 231 }
232 else 232 else
233 { 233 {
234 u8 RXBmmmmm = (R << 7) | (X << 6) | (B << 5) | mmmmm; 234 u8 RXBmmmmm = (R << 7) | (X << 6) | (B << 5) | mmmmm;
235 u8 WvvvvLpp = (W << 7) | (vvvv << 3) | (L << 1) | pp; 235 u8 WvvvvLpp = (W << 7) | (vvvv << 3) | (L << 2) | pp;
236 emit->Write8(0xC4); 236 emit->Write8(0xC4);
237 emit->Write8(RXBmmmmm); 237 emit->Write8(RXBmmmmm);
238 emit->Write8(WvvvvLpp); 238 emit->Write8(WvvvvLpp);