PPC rotate instructions don't have unmodeled side effcts
authorHal Finkel <hfinkel@anl.gov>
Sun, 7 Apr 2013 15:06:53 +0000 (15:06 +0000)
committerHal Finkel <hfinkel@anl.gov>
Sun, 7 Apr 2013 15:06:53 +0000 (15:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178982 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCInstr64Bit.td
lib/Target/PowerPC/PPCInstrInfo.td

index 45beecd7926ce8c59910cfe27ee3503071c34035..584829110ccd25061e0cb281f9ba0dd48058cd03 100644 (file)
@@ -495,6 +495,7 @@ def MULLD : XOForm_1<31, 233, 0, (outs G8RC:$rT), (ins G8RC:$rA, G8RC:$rB),
                      [(set i64:$rT, (mul i64:$rA, i64:$rB))]>, isPPC64;
 
 
+let neverHasSideEffects = 1 in {
 let isCommutable = 1 in {
 def RLDIMI : MDForm_1<30, 3,
                       (outs G8RC:$rA), (ins G8RC:$rSi, G8RC:$rS, u6imm:$SH, u6imm:$MB),
@@ -522,11 +523,12 @@ def RLWINM8 : MForm_2<21,
                      "rlwinm $rA, $rS, $SH, $MB, $ME", IntGeneral,
                      []>;
 
-let isSelect = 1, neverHasSideEffects = 1 in
+let isSelect = 1 in
 def ISEL8   : AForm_4<31, 15,
                      (outs G8RC:$rT), (ins G8RC_NOX0:$rA, G8RC:$rB, CRBITRC:$cond),
                      "isel $rT, $rA, $rB, $cond", IntGeneral,
                      []>;
+}  // neverHasSideEffects = 1
 }  // End FXU Operations.
 
 
index 585368185b4f1d30e598e1a9b83254b7369b7a3d..142abe1d71fe780465092214d58c4da04f8035e6 100644 (file)
@@ -1554,8 +1554,9 @@ let Uses = [RM] in {
   }
 }
 
+let neverHasSideEffects = 1 in {
 let PPC970_Unit = 1 in {  // FXU Operations.
-  let isSelect = 1, neverHasSideEffects = 1 in
+  let isSelect = 1 in
   def ISEL  : AForm_4<31, 15,
                      (outs GPRC:$rT), (ins GPRC_NOR0:$rA, GPRC:$rB, CRBITRC:$cond),
                      "isel $rT, $rA, $rB, $cond", IntGeneral,
@@ -1586,7 +1587,7 @@ def RLWNM  : MForm_2<23,
                      "rlwnm $rA, $rS, $rB, $MB, $ME", IntGeneral,
                      []>;
 }
-
+} // neverHasSideEffects = 1
 
 //===----------------------------------------------------------------------===//
 // PowerPC Instruction Patterns