From 0e11c017a9bd47de37eeb6a0bc495c9b0bcc5461 Mon Sep 17 00:00:00 2001 From: Hal Finkel Date: Fri, 28 Mar 2014 20:24:55 +0000 Subject: [PATCH] [PowerPC] Fix VSX permutation isel Not only did I invert the indices when I wrote the code, but I also did the same thing when I wrote the regression test. Oops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205046 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 2 +- test/CodeGen/PowerPC/vsx.ll | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp index b8a042503d2..3bbc8397c92 100644 --- a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp +++ b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp @@ -1351,7 +1351,7 @@ SDNode *PPCDAGToDAGISel::Select(SDNode *N) { else DM[i] = 1; - SDValue DMV = CurDAG->getTargetConstant(DM[0] | (DM[1] << 1), MVT::i32); + SDValue DMV = CurDAG->getTargetConstant(DM[1] | (DM[0] << 1), MVT::i32); if (Op1 == Op2 && DM[0] == 0 && DM[1] == 0 && Op1.getOpcode() == ISD::SCALAR_TO_VECTOR && diff --git a/test/CodeGen/PowerPC/vsx.ll b/test/CodeGen/PowerPC/vsx.ll index 4f4f816d723..ec10bc683b0 100644 --- a/test/CodeGen/PowerPC/vsx.ll +++ b/test/CodeGen/PowerPC/vsx.ll @@ -465,7 +465,7 @@ define <2 x double> @test54(<2 x double> %a, <2 x double> %b) { ret <2 x double> %v ; CHECK-LABEL: @test54 -; CHECK: xxpermdi 34, 34, 35, 1 +; CHECK: xxpermdi 34, 34, 35, 2 ; CHECK: blr }