+2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
+ (xs_hi_nonmemory_operand): Remove error.
+ * config/stormy16/stormy16.md (movhi, movhi_internal): Use
+ general_operand rather than xs_hi_general_operand.
+
2015-04-27 Richard Biener <rguenther@suse.de>
* tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
&& (INTVAL (XEXP (op, 1)) < -4 || INTVAL (XEXP (op, 1)) > 4));
})
-(define_predicate "xs_hi_general_operand"
- (match_code "const_int,reg,subreg,mem,symbol_ref,label_ref,const")
-{
- if ((GET_CODE (op) == CONST_INT)
- && ((INTVAL (op) >= 32768) || (INTVAL (op) < -32768)))
- {
- error ("constant halfword load operand out of range");
- return false;
- }
-
- return general_operand (op, mode);
-})
-
(define_predicate "xs_hi_nonmemory_operand"
(match_code "const_int,reg,subreg,const")
{
- if ((GET_CODE (op) == CONST_INT)
- && ((INTVAL (op) >= 32768) || (INTVAL (op) < -32768)))
- {
- error ("constant arithmetic operand out of range");
- return false;
- }
-
return nonmemory_operand (op, mode);
})
(define_expand "movhi"
[(set (match_operand:HI 0 "nonimmediate_nonstack_operand" "")
- (match_operand:HI 1 "xs_hi_general_operand" ""))]
+ (match_operand:HI 1 "general_operand" ""))]
""
{ xstormy16_expand_move (HImode, operands[0], operands[1]);
DONE;
(define_insn "movhi_internal"
[(set (match_operand:HI 0 "nonimmediate_nonstack_operand" "=r,m,e,e,T,r,S,W,e")
- (match_operand:HI 1 "xs_hi_general_operand" "r,e,m,L,L,i,i,ie,W"))]
+ (match_operand:HI 1 "general_operand" "r,e,m,L,L,i,i,ie,W"))]
""
"@
mov %0,%1