(extv, extzv): Don't use ROTL when field is outside boundaries of a
authorRichard Kenner <kenner@gcc.gnu.org>
Mon, 29 Aug 1994 21:50:48 +0000 (17:50 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 29 Aug 1994 21:50:48 +0000 (17:50 -0400)
word.

From-SVN: r8000

gcc/config/vax/vax.md

index 96d7f91e74ba5a834e47d715bd63045c8a23b9b9..d3368626ac5bc3eba442ed51d6545fa54c97e265 100644 (file)
   if (GET_CODE (operands[0]) != REG || GET_CODE (operands[2]) != CONST_INT
       || GET_CODE (operands[3]) != CONST_INT
       || (INTVAL (operands[2]) != 8 && INTVAL (operands[2]) != 16)
+      || INTVAL (operands[2]) + INTVAL (operands[3]) > 32
       || side_effects_p (operands[1])
       || (GET_CODE (operands[1]) == MEM
          && mode_dependent_address_p (XEXP (operands[1], 0))))
 {
   if (GET_CODE (operands[0]) != REG || GET_CODE (operands[2]) != CONST_INT
       || GET_CODE (operands[3]) != CONST_INT
+      || INTVAL (operands[2]) + INTVAL (operands[3]) > 32
       || side_effects_p (operands[1])
       || (GET_CODE (operands[1]) == MEM
          && mode_dependent_address_p (XEXP (operands[1], 0))))