AMDGPU: Remove redundant patterns for shifts
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 3 May 2019 15:08:36 +0000 (15:08 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 3 May 2019 15:08:36 +0000 (15:08 +0000)
llvm-svn: 359895

llvm/lib/Target/AMDGPU/VOP2Instructions.td

index 33b4cb7..3d7c75a 100644 (file)
@@ -519,11 +519,9 @@ class DivergentClampingBinOp<SDPatternOperator Op, VOP_Pseudo Inst> :
       )
   >;
 
-let AddedComplexity = 1 in {
-  def : DivergentBinOp<srl, V_LSHRREV_B32_e64>;
-  def : DivergentBinOp<sra, V_ASHRREV_I32_e64>;
-  def : DivergentBinOp<shl, V_LSHLREV_B32_e64>;
-}
+def : DivergentBinOp<srl, V_LSHRREV_B32_e64>;
+def : DivergentBinOp<sra, V_ASHRREV_I32_e64>;
+def : DivergentBinOp<shl, V_LSHLREV_B32_e64>;
 
 let SubtargetPredicate = HasAddNoCarryInsts in {
   def : DivergentBinOp<add, V_ADD_U32_e32>;
@@ -534,12 +532,9 @@ let SubtargetPredicate = isGFX6GFX7GFX8GFX9, Predicates = [isGFX6GFX7GFX8GFX9] i
 def : DivergentBinOp<add, V_ADD_I32_e32>;
 def : DivergentBinOp<sub, V_SUB_I32_e32>;
 
-def : DivergentBinOp<srl, V_LSHRREV_B32_e32>;
-def : DivergentBinOp<sra, V_ASHRREV_I32_e32>;
-def : DivergentBinOp<shl, V_LSHLREV_B32_e32>;
-}
 def : DivergentBinOp<adde, V_ADDC_U32_e32>;
 def : DivergentBinOp<sube, V_SUBB_U32_e32>;
+}
 
 class divergent_i64_BinOp <SDPatternOperator Op, Instruction Inst> :
   GCNPat<