Fix two-vector unpack case.
Bug swiftshader:15
Change-Id: I351268b44491091c271d6c7c5b644cd21ffb623b
Reviewed-on: https://chromium-review.googlesource.com/403409
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/IceTargetLoweringX86BaseImpl.h b/src/IceTargetLoweringX86BaseImpl.h
index a18ff98..1ac77c4 100644
--- a/src/IceTargetLoweringX86BaseImpl.h
+++ b/src/IceTargetLoweringX86BaseImpl.h
@@ -6144,8 +6144,9 @@
if (Instr->indexesAre(0, 8, 1, 9, 2, 10, 3, 11)) {
auto *T = makeReg(DestTy);
auto *Src0RM = legalize(Src0, Legal_Reg | Legal_Mem);
+ auto *Src1RM = legalize(Src1, Legal_Reg | Legal_Mem);
_movp(T, Src0RM);
- _punpckl(T, Src0RM);
+ _punpckl(T, Src1RM);
_movp(Dest, T);
return;
}