+2011-09-19 Paul Brook <paul@codesourcery.com>
+
+ gcc/
+ * config/arm/predicates.md (shift_amount_operand): Check constant
+ shift count is in range.
+ (const_shift_operand): Remove.
+
2011-09-18 Eric Botcazou <ebotcazou@adacore.com>
Iain Sandoe <developer@sandoe-acoustics.co.uk>
(define_predicate "shift_amount_operand"
(ior (and (match_test "TARGET_ARM")
(match_operand 0 "s_register_operand"))
- (match_operand 0 "const_int_operand")))
+ (and (match_code "const_int")
+ (match_test "((unsigned HOST_WIDE_INT) INTVAL (op)) < 32"))))
(define_predicate "arm_add_operand"
(ior (match_operand 0 "arm_rhs_operand")
(and (match_code "reg,subreg,mem")
(match_operand 0 "nonimmediate_soft_df_operand"))))
-(define_predicate "const_shift_operand"
- (and (match_code "const_int")
- (ior (match_operand 0 "power_of_two_operand")
- (match_test "((unsigned HOST_WIDE_INT) INTVAL (op)) < 32"))))
-
-
(define_special_predicate "load_multiple_operation"
(match_code "parallel")
{