aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2018-11-29 15:16:21 +1030
committerAlan Modra <amodra@gcc.gnu.org>2018-11-29 15:16:21 +1030
commit7a24893b2eb79af5785a7334126a82618a549c1e (patch)
tree75d02a8ef9df236235884d01e52519846a5b2bd8 /gcc
parent493bb3d0d1db7ec1dccd4edb51f9911ba09754ee (diff)
downloadgcc-7a24893b2eb79af5785a7334126a82618a549c1e.zip
gcc-7a24893b2eb79af5785a7334126a82618a549c1e.tar.gz
gcc-7a24893b2eb79af5785a7334126a82618a549c1e.tar.bz2
[RS6000] Remove constraints on call rounded_stack_size_rtx arg
This call arg is unused on rs6000. * config/rs6000/darwin.md (call_indirect_nonlocal_darwin64), (call_nonlocal_darwin64, call_value_indirect_nonlocal_darwin64), (call_value_nonlocal_darwin64): Remove constraints from second call arg, the rounded_stack_size_rtx arg. * config/rs6000/rs6000.md (tls_gd_aix, tls_gd_sysv, tls_gd_call_aix), (tls_gd_call_sysv, tls_ld_aix, tls_ld_sysv, tls_ld_call_aix), (tls_ld_call_sysv, call_local32, call_local64, call_value_local32), (call_value_local64, call_indirect_nonlocal_sysv), (call_nonlocal_sysv, call_nonlocal_sysv_secure), (call_value_indirect_nonlocal_sysv, call_value_nonlocal_sysv), (call_value_nonlocal_sysv_secure, call_local_aix), (call_value_local_aix, call_nonlocal_aix, call_value_nonlocal_aix), (call_indirect_aix, call_value_indirect_aix, call_indirect_elfv2), (call_value_indirect_elfv2, sibcall_local32, sibcall_local64), (sibcall_value_local32, sibcall_value_local64, sibcall_aix), (sibcall_value_aix): Likewise. From-SVN: r266603
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog19
-rw-r--r--gcc/config/rs6000/darwin.md8
-rw-r--r--gcc/config/rs6000/rs6000.md64
3 files changed, 55 insertions, 36 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3c9c0b4..560fb9b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,24 @@
2018-11-29 Alan Modra <amodra@gmail.com>
+ * config/rs6000/darwin.md (call_indirect_nonlocal_darwin64),
+ (call_nonlocal_darwin64, call_value_indirect_nonlocal_darwin64),
+ (call_value_nonlocal_darwin64): Remove constraints from second call
+ arg, the rounded_stack_size_rtx arg.
+ * config/rs6000/rs6000.md (tls_gd_aix, tls_gd_sysv, tls_gd_call_aix),
+ (tls_gd_call_sysv, tls_ld_aix, tls_ld_sysv, tls_ld_call_aix),
+ (tls_ld_call_sysv, call_local32, call_local64, call_value_local32),
+ (call_value_local64, call_indirect_nonlocal_sysv),
+ (call_nonlocal_sysv, call_nonlocal_sysv_secure),
+ (call_value_indirect_nonlocal_sysv, call_value_nonlocal_sysv),
+ (call_value_nonlocal_sysv_secure, call_local_aix),
+ (call_value_local_aix, call_nonlocal_aix, call_value_nonlocal_aix),
+ (call_indirect_aix, call_value_indirect_aix, call_indirect_elfv2),
+ (call_value_indirect_elfv2, sibcall_local32, sibcall_local64),
+ (sibcall_value_local32, sibcall_value_local64, sibcall_aix),
+ (sibcall_value_aix): Likewise.
+
+2018-11-29 Alan Modra <amodra@gmail.com>
+
* config/rs6000/rs6000.md (TLSmode): Delete mode iterator. Replace
with P throughout except for call mems which should use SI.
(tls_abi_suffix, tls_sysv_suffix, tls_insn_suffix): Delete mode
diff --git a/gcc/config/rs6000/darwin.md b/gcc/config/rs6000/darwin.md
index 2d6d1ca..a1c0770 100644
--- a/gcc/config/rs6000/darwin.md
+++ b/gcc/config/rs6000/darwin.md
@@ -302,7 +302,7 @@ You should have received a copy of the GNU General Public License
(define_insn "*call_indirect_nonlocal_darwin64"
[(call (mem:SI (match_operand:DI 0 "register_operand" "c,*l,c,*l"))
- (match_operand 1 "" "g,g,g,g"))
+ (match_operand 1))
(use (match_operand:SI 2 "immediate_operand" "O,O,n,n"))
(clobber (reg:SI LR_REGNO))]
"DEFAULT_ABI == ABI_DARWIN && TARGET_64BIT"
@@ -314,7 +314,7 @@ You should have received a copy of the GNU General Public License
(define_insn "*call_nonlocal_darwin64"
[(call (mem:SI (match_operand:DI 0 "symbol_ref_operand" "s,s"))
- (match_operand 1 "" "g,g"))
+ (match_operand 1))
(use (match_operand:SI 2 "immediate_operand" "O,n"))
(clobber (reg:SI LR_REGNO))]
"(DEFAULT_ABI == ABI_DARWIN)
@@ -332,7 +332,7 @@ You should have received a copy of the GNU General Public License
(define_insn "*call_value_indirect_nonlocal_darwin64"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:DI 1 "register_operand" "c,*l,c,*l"))
- (match_operand 2 "" "g,g,g,g")))
+ (match_operand 2)))
(use (match_operand:SI 3 "immediate_operand" "O,O,n,n"))
(clobber (reg:SI LR_REGNO))]
"DEFAULT_ABI == ABI_DARWIN"
@@ -345,7 +345,7 @@ You should have received a copy of the GNU General Public License
(define_insn "*call_value_nonlocal_darwin64"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:DI 1 "symbol_ref_operand" "s,s"))
- (match_operand 2 "" "g,g")))
+ (match_operand 2)))
(use (match_operand:SI 3 "immediate_operand" "O,n"))
(clobber (reg:SI LR_REGNO))]
"(DEFAULT_ABI == ABI_DARWIN)
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 81914a9..b223e0b 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -9425,7 +9425,7 @@
(define_insn_and_split "tls_gd_aix<bits>"
[(set (match_operand:P 0 "gpc_reg_operand" "=b")
(call (mem:SI (match_operand:P 3 "symbol_ref_operand" "s"))
- (match_operand 4 "" "g")))
+ (match_operand 4)))
(unspec:P [(match_operand:P 1 "gpc_reg_operand" "b")
(match_operand:P 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSGD)
@@ -9459,7 +9459,7 @@
(define_insn_and_split "tls_gd_sysv<mode>"
[(set (match_operand:P 0 "gpc_reg_operand" "=b")
(call (mem:SI (match_operand:P 3 "symbol_ref_operand" "s"))
- (match_operand 4 "" "g")))
+ (match_operand 4)))
(unspec:P [(match_operand:P 1 "gpc_reg_operand" "b")
(match_operand:P 2 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSGD)
@@ -9526,7 +9526,7 @@
(define_insn "*tls_gd_call_aix<bits>"
[(set (match_operand:P 0 "gpc_reg_operand" "=b")
(call (mem:SI (match_operand:P 1 "symbol_ref_operand" "s"))
- (match_operand 2 "" "g")))
+ (match_operand 2)))
(unspec:P [(match_operand:P 3 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSGD)
(clobber (reg:SI LR_REGNO))]
@@ -9541,7 +9541,7 @@
(define_insn "*tls_gd_call_sysv<bits>"
[(set (match_operand:P 0 "gpc_reg_operand" "=b")
(call (mem:SI (match_operand:P 1 "symbol_ref_operand" "s"))
- (match_operand 2 "" "g")))
+ (match_operand 2)))
(unspec:P [(match_operand:P 3 "rs6000_tls_symbol_ref" "")]
UNSPEC_TLSGD)
(clobber (reg:SI LR_REGNO))]
@@ -9554,7 +9554,7 @@
(define_insn_and_split "tls_ld_aix<bits>"
[(set (match_operand:P 0 "gpc_reg_operand" "=b")
(call (mem:SI (match_operand:P 2 "symbol_ref_operand" "s"))
- (match_operand 3 "" "g")))
+ (match_operand 3)))
(unspec:P [(match_operand:P 1 "gpc_reg_operand" "b")]
UNSPEC_TLSLD)
(clobber (reg:SI LR_REGNO))]
@@ -9586,7 +9586,7 @@
(define_insn_and_split "tls_ld_sysv<mode>"
[(set (match_operand:P 0 "gpc_reg_operand" "=b")
(call (mem:SI (match_operand:P 2 "symbol_ref_operand" "s"))
- (match_operand 3 "" "g")))
+ (match_operand 3)))
(unspec:P [(match_operand:P 1 "gpc_reg_operand" "b")]
UNSPEC_TLSLD)
(clobber (reg:SI LR_REGNO))]
@@ -9649,7 +9649,7 @@
(define_insn "*tls_ld_call_aix<bits>"
[(set (match_operand:P 0 "gpc_reg_operand" "=b")
(call (mem:SI (match_operand:P 1 "symbol_ref_operand" "s"))
- (match_operand 2 "" "g")))
+ (match_operand 2)))
(unspec:P [(const_int 0)] UNSPEC_TLSLD)
(clobber (reg:SI LR_REGNO))]
"HAVE_AS_TLS && TARGET_TLS_MARKERS
@@ -9663,7 +9663,7 @@
(define_insn "*tls_ld_call_sysv<bits>"
[(set (match_operand:P 0 "gpc_reg_operand" "=b")
(call (mem:SI (match_operand:P 1 "symbol_ref_operand" "s"))
- (match_operand 2 "" "g")))
+ (match_operand 2)))
(unspec:P [(const_int 0)] UNSPEC_TLSLD)
(clobber (reg:SI LR_REGNO))]
"HAVE_AS_TLS && DEFAULT_ABI == ABI_V4 && TARGET_TLS_MARKERS"
@@ -10425,7 +10425,7 @@
(define_insn "*call_local32"
[(call (mem:SI (match_operand:SI 0 "current_file_function_operand" "s,s"))
- (match_operand 1 "" "g,g"))
+ (match_operand 1))
(use (match_operand:SI 2 "immediate_operand" "O,n"))
(clobber (reg:SI LR_REGNO))]
"(INTVAL (operands[2]) & CALL_LONG) == 0"
@@ -10443,7 +10443,7 @@
(define_insn "*call_local64"
[(call (mem:SI (match_operand:DI 0 "current_file_function_operand" "s,s"))
- (match_operand 1 "" "g,g"))
+ (match_operand 1))
(use (match_operand:SI 2 "immediate_operand" "O,n"))
(clobber (reg:SI LR_REGNO))]
"TARGET_64BIT && (INTVAL (operands[2]) & CALL_LONG) == 0"
@@ -10462,7 +10462,7 @@
(define_insn "*call_value_local32"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:SI 1 "current_file_function_operand" "s,s"))
- (match_operand 2 "" "g,g")))
+ (match_operand 2)))
(use (match_operand:SI 3 "immediate_operand" "O,n"))
(clobber (reg:SI LR_REGNO))]
"(INTVAL (operands[3]) & CALL_LONG) == 0"
@@ -10482,7 +10482,7 @@
(define_insn "*call_value_local64"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:DI 1 "current_file_function_operand" "s,s"))
- (match_operand 2 "" "g,g")))
+ (match_operand 2)))
(use (match_operand:SI 3 "immediate_operand" "O,n"))
(clobber (reg:SI LR_REGNO))]
"TARGET_64BIT && (INTVAL (operands[3]) & CALL_LONG) == 0"
@@ -10507,7 +10507,7 @@
(define_insn "*call_indirect_nonlocal_sysv<mode>"
[(call (mem:SI (match_operand:P 0 "register_operand" "c,*l,c,*l"))
- (match_operand 1 "" "g,g,g,g"))
+ (match_operand 1))
(use (match_operand:SI 2 "immediate_operand" "O,O,n,n"))
(clobber (reg:SI LR_REGNO))]
"DEFAULT_ABI == ABI_V4
@@ -10536,7 +10536,7 @@
(define_insn_and_split "*call_nonlocal_sysv<mode>"
[(call (mem:SI (match_operand:P 0 "symbol_ref_operand" "s,s"))
- (match_operand 1 "" "g,g"))
+ (match_operand 1))
(use (match_operand:SI 2 "immediate_operand" "O,n"))
(clobber (reg:SI LR_REGNO))]
"(DEFAULT_ABI == ABI_DARWIN
@@ -10571,7 +10571,7 @@
(define_insn "*call_nonlocal_sysv_secure<mode>"
[(call (mem:SI (match_operand:P 0 "symbol_ref_operand" "s,s"))
- (match_operand 1 "" "g,g"))
+ (match_operand 1))
(use (match_operand:SI 2 "immediate_operand" "O,n"))
(use (match_operand:SI 3 "register_operand" "r,r"))
(clobber (reg:SI LR_REGNO))]
@@ -10593,7 +10593,7 @@
(define_insn "*call_value_indirect_nonlocal_sysv<mode>"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:P 1 "register_operand" "c,*l,c,*l"))
- (match_operand 2 "" "g,g,g,g")))
+ (match_operand 2)))
(use (match_operand:SI 3 "immediate_operand" "O,O,n,n"))
(clobber (reg:SI LR_REGNO))]
"DEFAULT_ABI == ABI_V4
@@ -10623,7 +10623,7 @@
(define_insn_and_split "*call_value_nonlocal_sysv<mode>"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:P 1 "symbol_ref_operand" "s,s"))
- (match_operand 2 "" "g,g")))
+ (match_operand 2)))
(use (match_operand:SI 3 "immediate_operand" "O,n"))
(clobber (reg:SI LR_REGNO))]
"(DEFAULT_ABI == ABI_DARWIN
@@ -10660,7 +10660,7 @@
(define_insn "*call_value_nonlocal_sysv_secure<mode>"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:P 1 "symbol_ref_operand" "s,s"))
- (match_operand 2 "" "g,g")))
+ (match_operand 2)))
(use (match_operand:SI 3 "immediate_operand" "O,n"))
(use (match_operand:SI 4 "register_operand" "r,r"))
(clobber (reg:SI LR_REGNO))]
@@ -10684,7 +10684,7 @@
(define_insn "*call_local_aix<mode>"
[(call (mem:SI (match_operand:P 0 "current_file_function_operand" "s"))
- (match_operand 1 "" "g"))
+ (match_operand 1))
(clobber (reg:P LR_REGNO))]
"DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2"
"bl %z0"
@@ -10693,7 +10693,7 @@
(define_insn "*call_value_local_aix<mode>"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:P 1 "current_file_function_operand" "s"))
- (match_operand 2 "" "g")))
+ (match_operand 2)))
(clobber (reg:P LR_REGNO))]
"DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2"
"bl %z1"
@@ -10704,7 +10704,7 @@
(define_insn "*call_nonlocal_aix<mode>"
[(call (mem:SI (match_operand:P 0 "symbol_ref_operand" "s"))
- (match_operand 1 "" "g"))
+ (match_operand 1))
(clobber (reg:P LR_REGNO))]
"DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2"
{
@@ -10716,7 +10716,7 @@
(define_insn "*call_value_nonlocal_aix<mode>"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:P 1 "symbol_ref_operand" "s"))
- (match_operand 2 "" "g")))
+ (match_operand 2)))
(clobber (reg:P LR_REGNO))]
"DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2"
{
@@ -10732,7 +10732,7 @@
(define_insn "*call_indirect_aix<mode>"
[(call (mem:SI (match_operand:P 0 "register_operand" "c,*l"))
- (match_operand 1 "" "g,g"))
+ (match_operand 1))
(use (match_operand:P 2 "memory_operand" "<ptrm>,<ptrm>"))
(set (reg:P TOC_REGNUM) (unspec:P [(match_operand:P 3 "const_int_operand" "n,n")] UNSPEC_TOCSLOT))
(clobber (reg:P LR_REGNO))]
@@ -10750,7 +10750,7 @@
(define_insn "*call_value_indirect_aix<mode>"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:P 1 "register_operand" "c,*l"))
- (match_operand 2 "" "g,g")))
+ (match_operand 2)))
(use (match_operand:P 3 "memory_operand" "<ptrm>,<ptrm>"))
(set (reg:P TOC_REGNUM) (unspec:P [(match_operand:P 4 "const_int_operand" "n,n")] UNSPEC_TOCSLOT))
(clobber (reg:P LR_REGNO))]
@@ -10771,7 +10771,7 @@
(define_insn "*call_indirect_elfv2<mode>"
[(call (mem:SI (match_operand:P 0 "register_operand" "c,*l"))
- (match_operand 1 "" "g,g"))
+ (match_operand 1))
(set (reg:P TOC_REGNUM) (unspec:P [(match_operand:P 2 "const_int_operand" "n,n")] UNSPEC_TOCSLOT))
(clobber (reg:P LR_REGNO))]
"DEFAULT_ABI == ABI_ELFv2"
@@ -10788,7 +10788,7 @@
(define_insn "*call_value_indirect_elfv2<mode>"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:P 1 "register_operand" "c,*l"))
- (match_operand 2 "" "g,g")))
+ (match_operand 2)))
(set (reg:P TOC_REGNUM) (unspec:P [(match_operand:P 3 "const_int_operand" "n,n")] UNSPEC_TOCSLOT))
(clobber (reg:P LR_REGNO))]
"DEFAULT_ABI == ABI_ELFv2"
@@ -10881,7 +10881,7 @@
(define_insn "*sibcall_local32"
[(call (mem:SI (match_operand:SI 0 "current_file_function_operand" "s,s"))
- (match_operand 1 "" "g,g"))
+ (match_operand 1))
(use (match_operand:SI 2 "immediate_operand" "O,n"))
(simple_return)]
"(INTVAL (operands[2]) & CALL_LONG) == 0"
@@ -10899,7 +10899,7 @@
(define_insn "*sibcall_local64"
[(call (mem:SI (match_operand:DI 0 "current_file_function_operand" "s,s"))
- (match_operand 1 "" "g,g"))
+ (match_operand 1))
(use (match_operand:SI 2 "immediate_operand" "O,n"))
(simple_return)]
"TARGET_64BIT && (INTVAL (operands[2]) & CALL_LONG) == 0"
@@ -10918,7 +10918,7 @@
(define_insn "*sibcall_value_local32"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:SI 1 "current_file_function_operand" "s,s"))
- (match_operand 2 "" "g,g")))
+ (match_operand 2)))
(use (match_operand:SI 3 "immediate_operand" "O,n"))
(simple_return)]
"(INTVAL (operands[3]) & CALL_LONG) == 0"
@@ -10937,7 +10937,7 @@
(define_insn "*sibcall_value_local64"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:DI 1 "current_file_function_operand" "s,s"))
- (match_operand 2 "" "g,g")))
+ (match_operand 2)))
(use (match_operand:SI 3 "immediate_operand" "O,n"))
(simple_return)]
"TARGET_64BIT && (INTVAL (operands[3]) & CALL_LONG) == 0"
@@ -11030,7 +11030,7 @@
(define_insn "*sibcall_aix<mode>"
[(call (mem:SI (match_operand:P 0 "call_operand" "s,c"))
- (match_operand 1 "" "g,g"))
+ (match_operand 1))
(simple_return)]
"DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2"
{
@@ -11044,7 +11044,7 @@
(define_insn "*sibcall_value_aix<mode>"
[(set (match_operand 0 "" "")
(call (mem:SI (match_operand:P 1 "call_operand" "s,c"))
- (match_operand 2 "" "g,g")))
+ (match_operand 2)))
(simple_return)]
"DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2"
{