summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-14 16:05:01 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-14 16:05:01 +0000
commitd666e71f833de6390ce60ee5d6bb539d2b9ee209 (patch)
tree4ed819cec5256c16ccc4336160860b39147fd059
parent83f96a51df534264160e0d6b68bf29615db1f028 (diff)
downloadppe42-gcc-d666e71f833de6390ce60ee5d6bb539d2b9ee209.tar.gz
ppe42-gcc-d666e71f833de6390ce60ee5d6bb539d2b9ee209.zip
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108514 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/s390/s390.md44
2 files changed, 12 insertions, 37 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e49e19f7585..2a56930e486 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 c9ce6fd10dd..dab9b58eefe 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
OpenPOWER on IntegriCloud