diff options
author | Adrian Straetling <straetling@de.ibm.com> | 2005-12-14 16:05:01 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2005-12-14 16:05:01 +0000 |
commit | 0101708cff1c9f2bc2a1ec468c2139ddddc60fd5 (patch) | |
tree | 4ed819cec5256c16ccc4336160860b39147fd059 /gcc | |
parent | f41d6665b2a2baa315878fc48549e53575625136 (diff) | |
download | gcc-0101708cff1c9f2bc2a1ec468c2139ddddc60fd5.zip gcc-0101708cff1c9f2bc2a1ec468c2139ddddc60fd5.tar.gz gcc-0101708cff1c9f2bc2a1ec468c2139ddddc60fd5.tar.bz2 |
s390.md ("atype", "length"): Rewrite.
2005-12-14 Adrian Straetling <straetling@de.ibm.com>
* config/s390/s390.md ("atype", "length"): Rewrite.
("*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): Add mode.
From-SVN: r108514
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/s390/s390.md | 44 |
2 files changed, 12 insertions, 37 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e49e19f..2a56930 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-12-14 Adrian Straetling <straetling@de.ibm.com> + + * config/s390/s390.md ("atype", "length"): Rewrite. + ("*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): Add mode. + 2005-12-14 Sebastian Pop <pop@cri.ensmp.fr> * tree-ssa-operands.c (build_ssa_operands): Update leading comment. diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index c9ce6fd..dab9b58 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -213,45 +213,15 @@ ;; reg: Instruction does not use the agen unit (define_attr "atype" "agen,reg" - (cond [(eq_attr "op_type" "E") (const_string "reg") - (eq_attr "op_type" "RR") (const_string "reg") - (eq_attr "op_type" "RX") (const_string "agen") - (eq_attr "op_type" "RI") (const_string "reg") - (eq_attr "op_type" "RRE") (const_string "reg") - (eq_attr "op_type" "RS") (const_string "agen") - (eq_attr "op_type" "RSI") (const_string "agen") - (eq_attr "op_type" "S") (const_string "agen") - (eq_attr "op_type" "SI") (const_string "agen") - (eq_attr "op_type" "SS") (const_string "agen") - (eq_attr "op_type" "SSE") (const_string "agen") - (eq_attr "op_type" "RXE") (const_string "agen") - (eq_attr "op_type" "RSE") (const_string "agen") - (eq_attr "op_type" "RIL") (const_string "agen") - (eq_attr "op_type" "RXY") (const_string "agen") - (eq_attr "op_type" "RSY") (const_string "agen") - (eq_attr "op_type" "SIY") (const_string "agen")] - (const_string "agen"))) + (if_then_else (eq_attr "op_type" "E,RR,RI,RRE") + (const_string "reg") + (const_string "agen"))) ;; Length in bytes. (define_attr "length" "" - (cond [(eq_attr "op_type" "E") (const_int 2) - (eq_attr "op_type" "RR") (const_int 2) - (eq_attr "op_type" "RX") (const_int 4) - (eq_attr "op_type" "RI") (const_int 4) - (eq_attr "op_type" "RRE") (const_int 4) - (eq_attr "op_type" "RS") (const_int 4) - (eq_attr "op_type" "RSI") (const_int 4) - (eq_attr "op_type" "S") (const_int 4) - (eq_attr "op_type" "SI") (const_int 4) - (eq_attr "op_type" "SS") (const_int 6) - (eq_attr "op_type" "SSE") (const_int 6) - (eq_attr "op_type" "RXE") (const_int 6) - (eq_attr "op_type" "RSE") (const_int 6) - (eq_attr "op_type" "RIL") (const_int 6) - (eq_attr "op_type" "RXY") (const_int 6) - (eq_attr "op_type" "RSY") (const_int 6) - (eq_attr "op_type" "SIY") (const_int 6)] + (cond [(eq_attr "op_type" "E,RR") (const_int 2) + (eq_attr "op_type" "RX,RI,RRE,RS,RSI,S,SI") (const_int 4)] (const_int 6))) @@ -2615,7 +2585,7 @@ [(set (zero_extract:P (match_operand:P 0 "register_operand" "+d") (const_int 16) (match_operand 1 "const_int_operand" "n")) - (match_operand 2 "const_int_operand" "n"))] + (match_operand:P 2 "const_int_operand" "n"))] "TARGET_ZARCH && INTVAL (operands[1]) >= 0 && INTVAL (operands[1]) < BITS_PER_WORD @@ -2636,7 +2606,7 @@ [(set (zero_extract:P (match_operand:P 0 "register_operand" "+d") (const_int 32) (match_operand 1 "const_int_operand" "n")) - (match_operand 2 "const_int_operand" "n"))] + (match_operand:P 2 "const_int_operand" "n"))] "TARGET_EXTIMM && INTVAL (operands[1]) >= 0 && INTVAL (operands[1]) < BITS_PER_WORD |