extend restrictions on combining lshiftrt with insv to all shifts
authorDavid Edelsohn <edelsohn@gnu.org>
Fri, 9 May 1997 18:47:12 +0000 (18:47 +0000)
committerDavid Edelsohn <edelsohn@gnu.org>
Fri, 9 May 1997 18:47:12 +0000 (18:47 +0000)
From-SVN: r14057

gcc/config/rs6000/rs6000.md

index 8c4f0b37bf6244dc9facfa493082d7c9ef684c43..fc1323a7b3ca4220d3ff3a3c3d36d682f1e904d7 100644 (file)
                         (match_operand:SI 2 "const_int_operand" "i"))
        (ashift:SI (match_operand:SI 3 "gpc_reg_operand" "r")
                   (match_operand:SI 4 "const_int_operand" "i")))]
-  ""
+  "(32 - (INTVAL (operands[4]) & 31)) >= INTVAL (operands[1])"
   "*
 {
   int shift = INTVAL (operands[4]) & 31;
                         (match_operand:SI 2 "const_int_operand" "i"))
        (ashiftrt:SI (match_operand:SI 3 "gpc_reg_operand" "r")
                     (match_operand:SI 4 "const_int_operand" "i")))]
-  ""
+  "(32 - (INTVAL (operands[4]) & 31)) >= INTVAL (operands[1])"
   "*
 {
   int shift = INTVAL (operands[4]) & 31;