diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2015-05-15 07:04:32 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2015-05-15 07:04:32 +0200 |
commit | 944ce67865dc2a15dd2eded977935cbe3545f2b4 (patch) | |
tree | 24e0ef038c835d8451c829aeb6bb99cd02034cf6 | |
parent | 7eb05850a844a5e24f1bb66718324596c034ae8e (diff) | |
download | gcc-944ce67865dc2a15dd2eded977935cbe3545f2b4.zip gcc-944ce67865dc2a15dd2eded977935cbe3545f2b4.tar.gz gcc-944ce67865dc2a15dd2eded977935cbe3545f2b4.tar.bz2 |
alpha.md (extendqidi2): Use general_operand instead of some_operand for operand[1] predicate.
* config/alpha/alpha.md (extendqidi2): Use general_operand
instead of some_operand for operand[1] predicate.
(extendhidi2): Ditto.
(cbranchdi4): Use general_operand instead of some_operand
for operand[1] and operands[2] predicates.
(cstoredi4): Ditto.
* config/alpha/predicates.md (some_operand): Remove unused predicate.
(some_ni_operand): Ditto.
From-SVN: r223211
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.md | 12 | ||||
-rw-r--r-- | gcc/config/alpha/predicates.md | 14 |
3 files changed, 17 insertions, 20 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9b6e112..d621d03 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,16 @@ 2015-05-15 Uros Bizjak <ubizjak@gmail.com> + * config/alpha/alpha.md (extendqidi2): Use general_operand + instead of some_operand for operand[1] predicate. + (extendhidi2): Ditto. + (cbranchdi4): Use general_operand instead of some_operand + for operand[1] and operands[2] predicates. + (cstoredi4): Ditto. + * config/alpha/predicates.md (some_operand): Remove unused predicate. + (some_ni_operand): Ditto. + +2015-05-15 Uros Bizjak <ubizjak@gmail.com> + * config/alpha/alpha.c (alpha_extract_integer): Do not handle CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x). (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index 762080b..81c2d4f 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -1235,7 +1235,7 @@ (define_expand "extendqidi2" [(set (match_operand:DI 0 "register_operand") - (sign_extend:DI (match_operand:QI 1 "some_operand")))] + (sign_extend:DI (match_operand:QI 1 "general_operand")))] "" { if (TARGET_BWX) @@ -1280,7 +1280,7 @@ (define_expand "extendhidi2" [(set (match_operand:DI 0 "register_operand") - (sign_extend:DI (match_operand:HI 1 "some_operand")))] + (sign_extend:DI (match_operand:HI 1 "general_operand")))] "" { if (TARGET_BWX) @@ -2902,8 +2902,8 @@ (define_expand "cbranchdi4" [(use (match_operator 0 "alpha_cbranch_operator" - [(match_operand:DI 1 "some_operand") - (match_operand:DI 2 "some_operand")])) + [(match_operand:DI 1 "general_operand") + (match_operand:DI 2 "general_operand")])) (use (match_operand 3))] "" "alpha_emit_conditional_branch (operands, DImode); DONE;") @@ -2936,8 +2936,8 @@ (define_expand "cstoredi4" [(use (match_operator:DI 1 "alpha_cbranch_operator" - [(match_operand:DI 2 "some_operand") - (match_operand:DI 3 "some_operand")])) + [(match_operand:DI 2 "general_operand") + (match_operand:DI 3 "general_operand")])) (clobber (match_operand:DI 0 "register_operand"))] "" { diff --git a/gcc/config/alpha/predicates.md b/gcc/config/alpha/predicates.md index b33044d..2a76710 100644 --- a/gcc/config/alpha/predicates.md +++ b/gcc/config/alpha/predicates.md @@ -148,20 +148,6 @@ return REGNO_REG_CLASS (REGNO (op)) == GENERAL_REGS; }) -;; Return 1 if OP is something that can be reloaded into a register; -;; if it is a MEM, it need not be valid. -(define_predicate "some_operand" - (ior (match_code "reg,mem,const_int,const_wide_int,const_double,const_vector, - label_ref,symbol_ref,const,high") - (and (match_code "subreg") - (match_test "some_operand (SUBREG_REG (op), VOIDmode)")))) - -;; Likewise, but don't accept constants. -(define_predicate "some_ni_operand" - (ior (match_code "reg,mem") - (and (match_code "subreg") - (match_test "some_ni_operand (SUBREG_REG (op), VOIDmode)")))) - ;; Return 1 if OP is a valid operand for the source of a move insn. (define_predicate "input_operand" (match_code "label_ref,symbol_ref,const,high,reg,subreg,mem, |