Add some explicit type casts so that tblgen knows the type of the shift
authorChris Lattner <sabre@nondot.org>
Mon, 5 Dec 2005 02:34:05 +0000 (02:34 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 5 Dec 2005 02:34:05 +0000 (02:34 +0000)
amount, which is not necessarily the same as the type being shifted.

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

lib/Target/PowerPC/PPCInstrInfo.td

index ba8609611c90f658ca242774ebbfaff9b0fa653a..504c3cc82e535663271de0174fd7d0b22bdfff09 100644 (file)
@@ -467,7 +467,7 @@ def STVX  : XForm_8<31, 231, (ops VRRC:$rS, GPRC:$rA, GPRC:$rB),
 }
 def SRAWI : XForm_10<31, 824, (ops GPRC:$rA, GPRC:$rS, u5imm:$SH), 
                      "srawi $rA, $rS, $SH", IntShift,
-                     [(set GPRC:$rA, (sra GPRC:$rS, imm:$SH))]>;
+                     [(set GPRC:$rA, (sra GPRC:$rS, (i32 imm:$SH)))]>;
 def CNTLZW : XForm_11<31,  26, (ops GPRC:$rA, GPRC:$rS),
                       "cntlzw $rA, $rS", IntGeneral,
                       [(set GPRC:$rA, (ctlz GPRC:$rS))]>;
@@ -875,14 +875,14 @@ def : Pat<(trunc G8RC:$in),
           (OR8To4 G8RC:$in, G8RC:$in)>;
 
 // SHL
-def : Pat<(shl GPRC:$in, imm:$imm),
+def : Pat<(shl GPRC:$in, (i32 imm:$imm)),
           (RLWINM GPRC:$in, imm:$imm, 0, (SHL32 imm:$imm))>;
-def : Pat<(shl G8RC:$in, imm:$imm),
+def : Pat<(shl G8RC:$in, (i64 imm:$imm)),
           (RLDICR G8RC:$in, imm:$imm, (SHL64 imm:$imm))>;
 // SRL
-def : Pat<(srl GPRC:$in, imm:$imm),
+def : Pat<(srl GPRC:$in, (i32 imm:$imm)),
           (RLWINM GPRC:$in, (SRL32 imm:$imm), imm:$imm, 31)>;
-def : Pat<(srl G8RC:$in, imm:$imm),
+def : Pat<(srl G8RC:$in, (i64 imm:$imm)),
           (RLDICL G8RC:$in, (SRL64 imm:$imm), imm:$imm)>;
 
 // Hi and Lo for Darwin Global Addresses.