From: David Edelsohn Date: Wed, 31 Mar 2004 04:29:13 +0000 (-0500) Subject: [multiple changes] X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b150f4f320ed62f4b5d42466948644a8e3ed9d0d;p=gcc.git [multiple changes] 2004-03-30 David Edelsohn * 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 * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 61813c4529e..462feb758d1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,25 @@ +2004-03-30 David Edelsohn + + * 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 + + * 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 * fold-const.c (fold): Reassociate multiply expression diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index b88aef9fb99..921ed633eb3 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"))