diff mbox series

[4/6,RS6000] Remove constraints on call rounded_stack_size_rtx arg

Message ID 20181113125130.GT29784@bubble.grove.modra.org
State New
Headers show
Series [1/6,RS6000] rs6000_call_template for external call insn assembly output | expand

Commit Message

Alan Modra Nov. 13, 2018, 12:51 p.m. UTC
Version 2.  (Same as before, here for completeness.)

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.

Comments

Segher Boessenkool Nov. 27, 2018, 3:27 p.m. UTC | #1
On Tue, Nov 13, 2018 at 11:21:30PM +1030, Alan Modra wrote:
> Version 2.  (Same as before, here for completeness.)
> 
> 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.

This is still OK for trunk.  Thanks!


Segher
diff mbox series

Patch

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 @@  (define_insn "macho_correct_pic_di"
 
 (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 @@  (define_insn "*call_indirect_nonlocal_darwin64"
 
 (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 @@  (define_insn "*call_nonlocal_darwin64"
 (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 @@  (define_insn "*call_value_indirect_nonlocal_darwin64"
 (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 793a0a9d840..c261c8bb9c1 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -9439,7 +9439,7 @@  (define_peephole2
 (define_insn_and_split "tls_gd_aix<P: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)
@@ -9473,7 +9473,7 @@  (define_insn_and_split "tls_gd_aix<P:bits>"
 (define_insn_and_split "tls_gd_sysv<P: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)
@@ -9540,7 +9540,7 @@  (define_insn "*tls_gd_low<P:bits>"
 (define_insn "*tls_gd_call_aix<P: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))]
@@ -9555,7 +9555,7 @@  (define_insn "*tls_gd_call_aix<P:bits>"
 (define_insn "*tls_gd_call_sysv<P: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))]
@@ -9568,7 +9568,7 @@  (define_insn "*tls_gd_call_sysv<P:bits>"
 (define_insn_and_split "tls_ld_aix<P: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))]
@@ -9600,7 +9600,7 @@  (define_insn_and_split "tls_ld_aix<P:bits>"
 (define_insn_and_split "tls_ld_sysv<P: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))]
@@ -9663,7 +9663,7 @@  (define_insn "*tls_ld_low<P:bits>"
 (define_insn "*tls_ld_call_aix<P: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
@@ -9677,7 +9677,7 @@  (define_insn "*tls_ld_call_aix<P:bits>"
 (define_insn "*tls_ld_call_sysv<P: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"
@@ -10439,7 +10439,7 @@  (define_expand "call_value"
 
 (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"
@@ -10457,7 +10457,7 @@  (define_insn "*call_local32"
 
 (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"
@@ -10476,7 +10476,7 @@  (define_insn "*call_local64"
 (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"
@@ -10496,7 +10496,7 @@  (define_insn "*call_value_local32"
 (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"
@@ -10521,7 +10521,7 @@  (define_insn "*call_value_local64"
 
 (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
@@ -10550,7 +10550,7 @@  (define_insn "*call_indirect_nonlocal_sysv<mode>"
 
 (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
@@ -10585,7 +10585,7 @@  (define_insn_and_split "*call_nonlocal_sysv<mode>"
 
 (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))]
@@ -10607,7 +10607,7 @@  (define_insn "*call_nonlocal_sysv_secure<mode>"
 (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
@@ -10637,7 +10637,7 @@  (define_insn "*call_value_indirect_nonlocal_sysv<mode>"
 (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
@@ -10674,7 +10674,7 @@  (define_insn_and_split "*call_value_nonlocal_sysv<mode>"
 (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))]
@@ -10698,7 +10698,7 @@  (define_insn "*call_value_nonlocal_sysv_secure<mode>"
 
 (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"
@@ -10707,7 +10707,7 @@  (define_insn "*call_local_aix<mode>"
 (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"
@@ -10718,7 +10718,7 @@  (define_insn "*call_value_local_aix<mode>"
 
 (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"
 {
@@ -10730,7 +10730,7 @@  (define_insn "*call_nonlocal_aix<mode>"
 (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"
 {
@@ -10746,7 +10746,7 @@  (define_insn "*call_value_nonlocal_aix<mode>"
 
 (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))]
@@ -10764,7 +10764,7 @@  (define_insn "*call_indirect_aix<mode>"
 (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))]
@@ -10785,7 +10785,7 @@  (define_insn "*call_value_indirect_aix<mode>"
 
 (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"
@@ -10802,7 +10802,7 @@  (define_insn "*call_indirect_elfv2<mode>"
 (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"
@@ -10895,7 +10895,7 @@  (define_expand "sibcall_value"
 
 (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"
@@ -10913,7 +10913,7 @@  (define_insn "*sibcall_local32"
 
 (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"
@@ -10932,7 +10932,7 @@  (define_insn "*sibcall_local64"
 (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"
@@ -10951,7 +10951,7 @@  (define_insn "*sibcall_value_local32"
 (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"
@@ -11044,7 +11044,7 @@  (define_insn "*sibcall_value_nonlocal_sysv<mode>"
 
 (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"
 {
@@ -11058,7 +11058,7 @@  (define_insn "*sibcall_aix<mode>"
 (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"
 {