aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAdrian Straetling <straetling@de.ibm.com>2005-05-13 12:21:01 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2005-05-13 12:21:01 +0000
commita1aed706562a160e9d304a6806ce5ac70de89910 (patch)
tree36f7eda908e02cda38aff002225706531b970997 /gcc
parentf5c9a09777ebdaa3fd74d356e00c1777d2610cd4 (diff)
downloadgcc-a1aed706562a160e9d304a6806ce5ac70de89910.zip
gcc-a1aed706562a160e9d304a6806ce5ac70de89910.tar.gz
gcc-a1aed706562a160e9d304a6806ce5ac70de89910.tar.bz2
s390.md: ("DBL"): New mode attribute.
2005-05-13 Adrian Straetling <straetling@de.ibm.com> * config/s390.md: ("DBL"): New mode attribute. ("*movmem_long_64", "*movmem_long_31"): Merge to "*movmem_long". ("*clrmem_long_64", "*clrmem_long_31"): Merge to "*clrmem_long". ("*cmpmem_long_64", "*cmpmem_long_31"): Merge to "*cmpmem_long". From-SVN: r99654
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/s390/s390.md76
2 files changed, 28 insertions, 55 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 286c65c..00f3607 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2005-05-13 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390.md: ("DBL"): New mode attribute.
+ ("*movmem_long_64", "*movmem_long_31"): Merge to "*movmem_long".
+ ("*clrmem_long_64", "*clrmem_long_31"): Merge to "*clrmem_long".
+ ("*cmpmem_long_64", "*cmpmem_long_31"): Merge to "*cmpmem_long".
+
2005-05-13 Richard Guenther <rguenth@gcc.gnu.org>
* c-format.c (check_format_arg): Handle string literals of
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index d853f8a..93f805e 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -329,6 +329,10 @@
;; HImode and "llgc" in QImode.
(define_mode_attr hc [(HI "h") (QI "c")])
+;; In P templates, the mode <DBL> will expand to "TI" in DImode and "DI"
+;; in SImode.
+(define_mode_attr DBL [(DI "TI") (SI "DI")])
+
;; Maximum unsigned integer that fits in MODE.
(define_mode_attr max_uint [(HI "65535") (QI "255")])
@@ -1897,28 +1901,15 @@
operands[3] = reg1;
})
-(define_insn "*movmem_long_64"
- [(clobber (match_operand:TI 0 "register_operand" "=d"))
- (clobber (match_operand:TI 1 "register_operand" "=d"))
- (set (mem:BLK (subreg:DI (match_operand:TI 2 "register_operand" "0") 0))
- (mem:BLK (subreg:DI (match_operand:TI 3 "register_operand" "1") 0)))
- (use (match_dup 2))
- (use (match_dup 3))
- (clobber (reg:CC CC_REGNUM))]
- "TARGET_64BIT"
- "mvcle\t%0,%1,0\;jo\t.-4"
- [(set_attr "length" "8")
- (set_attr "type" "vs")])
-
-(define_insn "*movmem_long_31"
- [(clobber (match_operand:DI 0 "register_operand" "=d"))
- (clobber (match_operand:DI 1 "register_operand" "=d"))
- (set (mem:BLK (subreg:SI (match_operand:DI 2 "register_operand" "0") 0))
- (mem:BLK (subreg:SI (match_operand:DI 3 "register_operand" "1") 0)))
+(define_insn "*movmem_long"
+ [(clobber (match_operand:<DBL> 0 "register_operand" "=d"))
+ (clobber (match_operand:<DBL> 1 "register_operand" "=d"))
+ (set (mem:BLK (subreg:P (match_operand:<DBL> 2 "register_operand" "0") 0))
+ (mem:BLK (subreg:P (match_operand:<DBL> 3 "register_operand" "1") 0)))
(use (match_dup 2))
(use (match_dup 3))
(clobber (reg:CC CC_REGNUM))]
- "!TARGET_64BIT"
+ ""
"mvcle\t%0,%1,0\;jo\t.-4"
[(set_attr "length" "8")
(set_attr "type" "vs")])
@@ -2037,26 +2028,14 @@
operands[2] = reg1;
})
-(define_insn "*clrmem_long_64"
- [(clobber (match_operand:TI 0 "register_operand" "=d"))
- (set (mem:BLK (subreg:DI (match_operand:TI 2 "register_operand" "0") 0))
+(define_insn "*clrmem_long"
+ [(clobber (match_operand:<DBL> 0 "register_operand" "=d"))
+ (set (mem:BLK (subreg:P (match_operand:<DBL> 2 "register_operand" "0") 0))
(const_int 0))
(use (match_dup 2))
- (use (match_operand:TI 1 "register_operand" "d"))
+ (use (match_operand:<DBL> 1 "register_operand" "d"))
(clobber (reg:CC CC_REGNUM))]
- "TARGET_64BIT"
- "mvcle\t%0,%1,0\;jo\t.-4"
- [(set_attr "length" "8")
- (set_attr "type" "vs")])
-
-(define_insn "*clrmem_long_31"
- [(clobber (match_operand:DI 0 "register_operand" "=d"))
- (set (mem:BLK (subreg:SI (match_operand:DI 2 "register_operand" "0") 0))
- (const_int 0))
- (use (match_dup 2))
- (use (match_operand:DI 1 "register_operand" "d"))
- (clobber (reg:CC CC_REGNUM))]
- "!TARGET_64BIT"
+ ""
"mvcle\t%0,%1,0\;jo\t.-4"
[(set_attr "length" "8")
(set_attr "type" "vs")])
@@ -2180,28 +2159,15 @@
operands[3] = reg1;
})
-(define_insn "*cmpmem_long_64"
- [(clobber (match_operand:TI 0 "register_operand" "=d"))
- (clobber (match_operand:TI 1 "register_operand" "=d"))
+(define_insn "*cmpmem_long"
+ [(clobber (match_operand:<DBL> 0 "register_operand" "=d"))
+ (clobber (match_operand:<DBL> 1 "register_operand" "=d"))
(set (reg:CCU CC_REGNUM)
- (compare:CCU (mem:BLK (subreg:DI (match_operand:TI 2 "register_operand" "0") 0))
- (mem:BLK (subreg:DI (match_operand:TI 3 "register_operand" "1") 0))))
+ (compare:CCU (mem:BLK (subreg:P (match_operand:<DBL> 2 "register_operand" "0") 0))
+ (mem:BLK (subreg:P (match_operand:<DBL> 3 "register_operand" "1") 0))))
(use (match_dup 2))
(use (match_dup 3))]
- "TARGET_64BIT"
- "clcle\t%0,%1,0\;jo\t.-4"
- [(set_attr "length" "8")
- (set_attr "type" "vs")])
-
-(define_insn "*cmpmem_long_31"
- [(clobber (match_operand:DI 0 "register_operand" "=d"))
- (clobber (match_operand:DI 1 "register_operand" "=d"))
- (set (reg:CCU CC_REGNUM)
- (compare:CCU (mem:BLK (subreg:SI (match_operand:DI 2 "register_operand" "0") 0))
- (mem:BLK (subreg:SI (match_operand:DI 3 "register_operand" "1") 0))))
- (use (match_dup 2))
- (use (match_dup 3))]
- "!TARGET_64BIT"
+ ""
"clcle\t%0,%1,0\;jo\t.-4"
[(set_attr "length" "8")
(set_attr "type" "vs")])