[mips][msa] Correct pattern for LSA
authorDaniel Sanders <daniel.sanders@imgtec.com>
Fri, 17 Jan 2014 15:40:05 +0000 (15:40 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Fri, 17 Jan 2014 15:40:05 +0000 (15:40 +0000)
Summary:
$rs and $rt were the wrong way round in the .td and the testcase wasn't
strict enough to detect the mistake.

Reviewers: matheusalmeida

Reviewed By: matheusalmeida

Differential Revision: http://llvm-reviews.chandlerc.com/D2554

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199498 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/MipsMSAInstrInfo.td
test/CodeGen/Mips/msa/special.ll

index 59b771f70b26e8fad8e59fa4abe2cf337bf9ae37..fbcd10fe2b868d7717c901972d7ab1a9903d4905 100644 (file)
@@ -2297,8 +2297,8 @@ class LSA_DESC {
   dag OutOperandList = (outs GPR32Opnd:$rd);
   dag InOperandList = (ins GPR32Opnd:$rs, GPR32Opnd:$rt, LSAImm:$sa);
   string AsmString = "lsa\t$rd, $rs, $rt, $sa";
-  list<dag> Pattern = [(set GPR32Opnd:$rd, (add GPR32Opnd:$rs,
-                                                (shl GPR32Opnd:$rt,
+  list<dag> Pattern = [(set GPR32Opnd:$rd, (add GPR32Opnd:$rt,
+                                                (shl GPR32Opnd:$rs,
                                                      immZExt2Lsa:$sa)))];
   InstrItinClass Itinerary = NoItinerary;
 }
index 60a4369dfb1c5510ed566e93f1411228cd01cfd9..90f6172b4bd6c6ca70d9ccb62cece51f0e1dd31a 100644 (file)
@@ -11,7 +11,7 @@ entry:
 declare i32 @llvm.mips.lsa(i32, i32, i32) nounwind
 
 ; CHECK: llvm_mips_lsa_test:
-; CHECK: lsa {{\$[0-9]+}}, {{\$[0-9]+}}, {{\$[0-9]+}}, 2
+; CHECK: lsa {{\$[0-9]+}}, $5, $4, 2
 ; CHECK: .size llvm_mips_lsa_test
 
 define i32 @lsa_test(i32 %a, i32 %b) nounwind {
@@ -22,5 +22,5 @@ entry:
 }
 
 ; CHECK: lsa_test:
-; CHECK: lsa {{\$[0-9]+}}, {{\$[0-9]+}}, {{\$[0-9]+}}, 2
+; CHECK: lsa {{\$[0-9]+}}, $5, $4, 2
 ; CHECK: .size lsa_test