From 7a24893b2eb79af5785a7334126a82618a549c1e Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 29 Nov 2018 15:16:21 +1030 Subject: [PATCH] [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 --- gcc/ChangeLog | 19 +++++++++++ gcc/config/rs6000/darwin.md | 8 ++--- gcc/config/rs6000/rs6000.md | 64 ++++++++++++++++++------------------- 3 files changed, 55 insertions(+), 36 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3c9c0b450e1..560fb9b29ea 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,22 @@ +2018-11-29 Alan Modra + + * 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 * config/rs6000/rs6000.md (TLSmode): Delete mode iterator. Replace diff --git a/gcc/config/rs6000/darwin.md b/gcc/config/rs6000/darwin.md index 2d6d1ca57dd..a1c07702d6f 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 81914a99c90..b223e0b266d 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -9425,7 +9425,7 @@ (define_insn_and_split "tls_gd_aix" [(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" [(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" [(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" [(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" [(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" [(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" [(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" [(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" [(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" [(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" [(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" [(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" [(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" [(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" [(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" [(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" [(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" [(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" [(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" ",")) (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" [(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" ",")) (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" [(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" [(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" [(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" [(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" { -- 2.30.2