aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Edelsohn <dje@gcc.gnu.org>2004-03-30 23:29:13 -0500
committerDavid Edelsohn <dje@gcc.gnu.org>2004-03-30 23:29:13 -0500
commitb150f4f320ed62f4b5d42466948644a8e3ed9d0d (patch)
tree59040d26503c827e575ca2965df5ecb2927adcb9 /gcc
parent8cfa1c3e37979ac77f7b5f9923aebdb476eddba4 (diff)
downloadgcc-b150f4f320ed62f4b5d42466948644a8e3ed9d0d.zip
gcc-b150f4f320ed62f4b5d42466948644a8e3ed9d0d.tar.gz
gcc-b150f4f320ed62f4b5d42466948644a8e3ed9d0d.tar.bz2
[multiple changes]
2004-03-30 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.md (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32, tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32, tls_dtprel_lo_64, tls_got_dtprel_64, tls_tprel_32, tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32, tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32, tls_tls_64): Replace register_operand with gpc_reg_operand. 2004-03-30 Mostafa Hagog <mustafa@il.ibm.com> * config/rs6000/rs6000.md (*ctrsi_internal1, *ctrsi_internal2, *ctrdi_internal1, *ctrdi_internal2, *ctrsi_internal3, *ctrsi_internal4, *ctrdi_internal3, *ctrdi_internal4, *ctrsi_internal5, *ctrsi_internal6, *ctrdi_internal5, *ctrdi_internal6): Replace register_operand with nonimmediate_operand. From-SVN: r80114
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog22
-rw-r--r--gcc/config/rs6000/rs6000.md112
2 files changed, 78 insertions, 56 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 61813c4..462feb7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,25 @@
+2004-03-30 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (tls_gd_32, tls_gd_64,
+ tls_ld_32, tls_ld_64, tls_dtprel_32, tls_dtprel_64,
+ tls_dtprel_ha_32, tls_dtprel_ha_64,
+ tls_dtprel_lo_32, tls_dtprel_lo_64,
+ tls_got_dtprel_64, tls_tprel_32, tls_tprel_64,
+ tls_tprel_ha_32, tls_tprel_ha_64,
+ tls_tprel_lo_32, tls_tprel_lo_64,
+ tls_got_tprel_32, tls_got_tprel_64,
+ tls_tls_32, tls_tls_64): Replace register_operand with
+ gpc_reg_operand.
+
+2004-03-30 Mostafa Hagog <mustafa@il.ibm.com>
+
+ * config/rs6000/rs6000.md (*ctrsi_internal1, *ctrsi_internal2,
+ *ctrdi_internal1, *ctrdi_internal2, *ctrsi_internal3,
+ *ctrsi_internal4, *ctrdi_internal3, *ctrdi_internal4,
+ *ctrsi_internal5, *ctrsi_internal6, *ctrdi_internal5,
+ *ctrdi_internal6): Replace register_operand with
+ nonimmediate_operand.
+
2004-03-29 Fariborz Jahanian <fjahanian@apple.com>
* fold-const.c (fold): Reassociate multiply expression
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index b88aef9..921ed63 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -9635,142 +9635,142 @@
;; "b" output constraint here and on tls_ld to support tls linker optimization.
(define_insn "tls_gd_32"
- [(set (match_operand:SI 0 "register_operand" "=b")
- (unspec:SI [(match_operand:SI 1 "register_operand" "b")
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=b")
+ (unspec:SI [(match_operand:SI 1 "gpc_reg_operand" "b")
(match_operand:SI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSGD))]
"HAVE_AS_TLS && !TARGET_64BIT"
"addi %0,%1,%2@got@tlsgd")
(define_insn "tls_gd_64"
- [(set (match_operand:DI 0 "register_operand" "=b")
- (unspec:DI [(match_operand:DI 1 "register_operand" "b")
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=b")
+ (unspec:DI [(match_operand:DI 1 "gpc_reg_operand" "b")
(match_operand:DI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSGD))]
"HAVE_AS_TLS && TARGET_64BIT"
"addi %0,%1,%2@got@tlsgd")
(define_insn "tls_ld_32"
- [(set (match_operand:SI 0 "register_operand" "=b")
- (unspec:SI [(match_operand:SI 1 "register_operand" "b")]
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=b")
+ (unspec:SI [(match_operand:SI 1 "gpc_reg_operand" "b")]
UNSPEC_TLSLD))]
"HAVE_AS_TLS && !TARGET_64BIT"
"addi %0,%1,%&@got@tlsld")
(define_insn "tls_ld_64"
- [(set (match_operand:DI 0 "register_operand" "=b")
- (unspec:DI [(match_operand:DI 1 "register_operand" "b")]
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=b")
+ (unspec:DI [(match_operand:DI 1 "gpc_reg_operand" "b")]
UNSPEC_TLSLD))]
"HAVE_AS_TLS && TARGET_64BIT"
"addi %0,%1,%&@got@tlsld")
(define_insn "tls_dtprel_32"
- [(set (match_operand:SI 0 "register_operand" "=r")
- (unspec:SI [(match_operand:SI 1 "register_operand" "b")
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+ (unspec:SI [(match_operand:SI 1 "gpc_reg_operand" "b")
(match_operand:SI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSDTPREL))]
"HAVE_AS_TLS && !TARGET_64BIT"
"addi %0,%1,%2@dtprel")
(define_insn "tls_dtprel_64"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (unspec:DI [(match_operand:DI 1 "register_operand" "b")
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (unspec:DI [(match_operand:DI 1 "gpc_reg_operand" "b")
(match_operand:DI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSDTPREL))]
"HAVE_AS_TLS && TARGET_64BIT"
"addi %0,%1,%2@dtprel")
(define_insn "tls_dtprel_ha_32"
- [(set (match_operand:SI 0 "register_operand" "=r")
- (unspec:SI [(match_operand:SI 1 "register_operand" "b")
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+ (unspec:SI [(match_operand:SI 1 "gpc_reg_operand" "b")
(match_operand:SI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSDTPRELHA))]
"HAVE_AS_TLS && !TARGET_64BIT"
"addis %0,%1,%2@dtprel@ha")
(define_insn "tls_dtprel_ha_64"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (unspec:DI [(match_operand:DI 1 "register_operand" "b")
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (unspec:DI [(match_operand:DI 1 "gpc_reg_operand" "b")
(match_operand:DI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSDTPRELHA))]
"HAVE_AS_TLS && TARGET_64BIT"
"addis %0,%1,%2@dtprel@ha")
(define_insn "tls_dtprel_lo_32"
- [(set (match_operand:SI 0 "register_operand" "=r")
- (unspec:SI [(match_operand:SI 1 "register_operand" "b")
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+ (unspec:SI [(match_operand:SI 1 "gpc_reg_operand" "b")
(match_operand:SI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSDTPRELLO))]
"HAVE_AS_TLS && !TARGET_64BIT"
"addi %0,%1,%2@dtprel@l")
(define_insn "tls_dtprel_lo_64"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (unspec:DI [(match_operand:DI 1 "register_operand" "b")
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (unspec:DI [(match_operand:DI 1 "gpc_reg_operand" "b")
(match_operand:DI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSDTPRELLO))]
"HAVE_AS_TLS && TARGET_64BIT"
"addi %0,%1,%2@dtprel@l")
(define_insn "tls_got_dtprel_32"
- [(set (match_operand:SI 0 "register_operand" "=r")
- (unspec:SI [(match_operand:SI 1 "register_operand" "b")
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+ (unspec:SI [(match_operand:SI 1 "gpc_reg_operand" "b")
(match_operand:SI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSGOTDTPREL))]
"HAVE_AS_TLS && !TARGET_64BIT"
"lwz %0,%2@got@dtprel(%1)")
(define_insn "tls_got_dtprel_64"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (unspec:DI [(match_operand:DI 1 "register_operand" "b")
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (unspec:DI [(match_operand:DI 1 "gpc_reg_operand" "b")
(match_operand:DI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSGOTDTPREL))]
"HAVE_AS_TLS && TARGET_64BIT"
"ld %0,%2@got@dtprel(%1)")
(define_insn "tls_tprel_32"
- [(set (match_operand:SI 0 "register_operand" "=r")
- (unspec:SI [(match_operand:SI 1 "register_operand" "b")
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+ (unspec:SI [(match_operand:SI 1 "gpc_reg_operand" "b")
(match_operand:SI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSTPREL))]
"HAVE_AS_TLS && !TARGET_64BIT"
"addi %0,%1,%2@tprel")
(define_insn "tls_tprel_64"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (unspec:DI [(match_operand:DI 1 "register_operand" "b")
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (unspec:DI [(match_operand:DI 1 "gpc_reg_operand" "b")
(match_operand:DI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSTPREL))]
"HAVE_AS_TLS && TARGET_64BIT"
"addi %0,%1,%2@tprel")
(define_insn "tls_tprel_ha_32"
- [(set (match_operand:SI 0 "register_operand" "=r")
- (unspec:SI [(match_operand:SI 1 "register_operand" "b")
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+ (unspec:SI [(match_operand:SI 1 "gpc_reg_operand" "b")
(match_operand:SI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSTPRELHA))]
"HAVE_AS_TLS && !TARGET_64BIT"
"addis %0,%1,%2@tprel@ha")
(define_insn "tls_tprel_ha_64"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (unspec:DI [(match_operand:DI 1 "register_operand" "b")
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (unspec:DI [(match_operand:DI 1 "gpc_reg_operand" "b")
(match_operand:DI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSTPRELHA))]
"HAVE_AS_TLS && TARGET_64BIT"
"addis %0,%1,%2@tprel@ha")
(define_insn "tls_tprel_lo_32"
- [(set (match_operand:SI 0 "register_operand" "=r")
- (unspec:SI [(match_operand:SI 1 "register_operand" "b")
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+ (unspec:SI [(match_operand:SI 1 "gpc_reg_operand" "b")
(match_operand:SI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSTPRELLO))]
"HAVE_AS_TLS && !TARGET_64BIT"
"addi %0,%1,%2@tprel@l")
(define_insn "tls_tprel_lo_64"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (unspec:DI [(match_operand:DI 1 "register_operand" "b")
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (unspec:DI [(match_operand:DI 1 "gpc_reg_operand" "b")
(match_operand:DI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSTPRELLO))]
"HAVE_AS_TLS && TARGET_64BIT"
@@ -9780,32 +9780,32 @@
;; optimization. The linker may edit the instructions emitted by a
;; tls_got_tprel/tls_tls pair to addis,addi.
(define_insn "tls_got_tprel_32"
- [(set (match_operand:SI 0 "register_operand" "=b")
- (unspec:SI [(match_operand:SI 1 "register_operand" "b")
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=b")
+ (unspec:SI [(match_operand:SI 1 "gpc_reg_operand" "b")
(match_operand:SI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSGOTTPREL))]
"HAVE_AS_TLS && !TARGET_64BIT"
"lwz %0,%2@got@tprel(%1)")
(define_insn "tls_got_tprel_64"
- [(set (match_operand:DI 0 "register_operand" "=b")
- (unspec:DI [(match_operand:DI 1 "register_operand" "b")
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=b")
+ (unspec:DI [(match_operand:DI 1 "gpc_reg_operand" "b")
(match_operand:DI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSGOTTPREL))]
"HAVE_AS_TLS && TARGET_64BIT"
"ld %0,%2@got@tprel(%1)")
(define_insn "tls_tls_32"
- [(set (match_operand:SI 0 "register_operand" "=r")
- (unspec:SI [(match_operand:SI 1 "register_operand" "b")
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+ (unspec:SI [(match_operand:SI 1 "gpc_reg_operand" "b")
(match_operand:SI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSTLS))]
"HAVE_AS_TLS && !TARGET_64BIT"
"add %0,%1,%2@tls")
(define_insn "tls_tls_64"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (unspec:DI [(match_operand:DI 1 "register_operand" "b")
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (unspec:DI [(match_operand:DI 1 "gpc_reg_operand" "b")
(match_operand:DI 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSTLS))]
"HAVE_AS_TLS && TARGET_64BIT"
@@ -13902,7 +13902,7 @@
(const_int 1))
(label_ref (match_operand 0 "" ""))
(pc)))
- (set (match_operand:SI 2 "register_operand" "=1,*r,m,*q*c*l")
+ (set (match_operand:SI 2 "nonimmediate_operand" "=1,*r,m,*q*c*l")
(plus:SI (match_dup 1)
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x,&x"))
@@ -13926,7 +13926,7 @@
(const_int 1))
(pc)
(label_ref (match_operand 0 "" ""))))
- (set (match_operand:SI 2 "register_operand" "=1,*r,m,*q*c*l")
+ (set (match_operand:SI 2 "nonimmediate_operand" "=1,*r,m,*q*c*l")
(plus:SI (match_dup 1)
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x,&x"))
@@ -13950,7 +13950,7 @@
(const_int 1))
(label_ref (match_operand 0 "" ""))
(pc)))
- (set (match_operand:DI 2 "register_operand" "=1,*r,m,*c*l")
+ (set (match_operand:DI 2 "nonimmediate_operand" "=1,*r,m,*c*l")
(plus:DI (match_dup 1)
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x,&x"))
@@ -13974,7 +13974,7 @@
(const_int 1))
(pc)
(label_ref (match_operand 0 "" ""))))
- (set (match_operand:DI 2 "register_operand" "=1,*r,m,*c*l")
+ (set (match_operand:DI 2 "nonimmediate_operand" "=1,*r,m,*c*l")
(plus:DI (match_dup 1)
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x,&x"))
@@ -14000,7 +14000,7 @@
(const_int 0))
(label_ref (match_operand 0 "" ""))
(pc)))
- (set (match_operand:SI 2 "register_operand" "=1,*r,m,*q*c*l")
+ (set (match_operand:SI 2 "nonimmediate_operand" "=1,*r,m,*q*c*l")
(plus:SI (match_dup 1)
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x,&x"))
@@ -14024,7 +14024,7 @@
(const_int 0))
(pc)
(label_ref (match_operand 0 "" ""))))
- (set (match_operand:SI 2 "register_operand" "=1,*r,m,*q*c*l")
+ (set (match_operand:SI 2 "nonimmediate_operand" "=1,*r,m,*q*c*l")
(plus:SI (match_dup 1)
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x,&x"))
@@ -14048,7 +14048,7 @@
(const_int 0))
(label_ref (match_operand 0 "" ""))
(pc)))
- (set (match_operand:DI 2 "register_operand" "=1,*r,m,*c*l")
+ (set (match_operand:DI 2 "nonimmediate_operand" "=1,*r,m,*c*l")
(plus:DI (match_dup 1)
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x,&x"))
@@ -14072,7 +14072,7 @@
(const_int 0))
(pc)
(label_ref (match_operand 0 "" ""))))
- (set (match_operand:DI 2 "register_operand" "=1,*r,m,*c*l")
+ (set (match_operand:DI 2 "nonimmediate_operand" "=1,*r,m,*c*l")
(plus:DI (match_dup 1)
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x,&x"))
@@ -14098,7 +14098,7 @@
(const_int 1))
(label_ref (match_operand 0 "" ""))
(pc)))
- (set (match_operand:SI 2 "register_operand" "=1,*r,m,*q*c*l")
+ (set (match_operand:SI 2 "nonimmediate_operand" "=1,*r,m,*q*c*l")
(plus:SI (match_dup 1)
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x,&x"))
@@ -14122,7 +14122,7 @@
(const_int 1))
(pc)
(label_ref (match_operand 0 "" ""))))
- (set (match_operand:SI 2 "register_operand" "=1,*r,m,*q*c*l")
+ (set (match_operand:SI 2 "nonimmediate_operand" "=1,*r,m,*q*c*l")
(plus:SI (match_dup 1)
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x,&x"))
@@ -14146,7 +14146,7 @@
(const_int 1))
(label_ref (match_operand 0 "" ""))
(pc)))
- (set (match_operand:DI 2 "register_operand" "=1,*r,m,*c*l")
+ (set (match_operand:DI 2 "nonimmediate_operand" "=1,*r,m,*c*l")
(plus:DI (match_dup 1)
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x,&x"))
@@ -14170,7 +14170,7 @@
(const_int 1))
(pc)
(label_ref (match_operand 0 "" ""))))
- (set (match_operand:DI 2 "register_operand" "=1,*r,m,*c*l")
+ (set (match_operand:DI 2 "nonimmediate_operand" "=1,*r,m,*c*l")
(plus:DI (match_dup 1)
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x,&x"))