Commit 7fb3b7a7 by Segher Boessenkool Committed by Segher Boessenkool

aix43.h (RS6000_CALL_GLUE): Delete.

2012-09-07  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
	* config/rs6000/aix43.h (RS6000_CALL_GLUE): Delete.
	* config/rs6000/aix51.h (RS6000_CALL_GLUE): Delete.
	* config/rs6000/aix52.h (RS6000_CALL_GLUE): Delete.
	* config/rs6000/aix53.h (RS6000_CALL_GLUE): Delete.
	* config/rs6000/aix61.h (RS6000_CALL_GLUE): Delete.
	* config/rs6000/freebsd64.h (RS6000_CALL_GLUE): Delete.
	* config/rs6000/linux64.h (RS6000_CALL_GLUE): Delete.
	* config/rs6000/rs6000.c (print_operand) ['.']: Delete.
	* config/rs6000/rs6000.h (RS6000_CALL_GLUE): Delete.
	* config/rs6000/rs6000.md (tls_gd_aix<TLSmode:tls_abi_suffix>):
	Replace %. with nop.
	(tls_gd_call_aix<TLSmode:tls_abi_suffix>): Ditto.
	(tls_ld_aix<TLSmode:tls_abi_suffix>): Ditto.
	(tls_ld_call_aix<TLSmode:tls_abi_suffix>): Ditto.
	(call_nonlocal_aix32): Ditto.
	(call_nonlocal_aix64): Ditto.
	(call_value_nonlocal_aix32): Ditto.
	(call_value_nonlocal_aix64): Ditto.

From-SVN: r191055
parent 35d5c697
2012-09-07 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/aix43.h (RS6000_CALL_GLUE): Delete.
* config/rs6000/aix51.h (RS6000_CALL_GLUE): Delete.
* config/rs6000/aix52.h (RS6000_CALL_GLUE): Delete.
* config/rs6000/aix53.h (RS6000_CALL_GLUE): Delete.
* config/rs6000/aix61.h (RS6000_CALL_GLUE): Delete.
* config/rs6000/freebsd64.h (RS6000_CALL_GLUE): Delete.
* config/rs6000/linux64.h (RS6000_CALL_GLUE): Delete.
* config/rs6000/rs6000.c (print_operand) ['.']: Delete.
* config/rs6000/rs6000.h (RS6000_CALL_GLUE): Delete.
* config/rs6000/rs6000.md (tls_gd_aix<TLSmode:tls_abi_suffix>):
Replace %. with nop.
(tls_gd_call_aix<TLSmode:tls_abi_suffix>): Ditto.
(tls_ld_aix<TLSmode:tls_abi_suffix>): Ditto.
(tls_ld_call_aix<TLSmode:tls_abi_suffix>): Ditto.
(call_nonlocal_aix32): Ditto.
(call_nonlocal_aix64): Ditto.
(call_value_nonlocal_aix32): Ditto.
(call_value_nonlocal_aix64): Ditto.
2012-06-04 Andi Kleen <ak@linux.intel.com> 2012-06-04 Andi Kleen <ak@linux.intel.com>
* doc/invoke.texi (-ffat-lto-objects): Clarify that gcc-ar * doc/invoke.texi (-ffat-lto-objects): Clarify that gcc-ar
......
...@@ -142,12 +142,6 @@ do { \ ...@@ -142,12 +142,6 @@ do { \
#undef PTRDIFF_TYPE #undef PTRDIFF_TYPE
#define PTRDIFF_TYPE "long int" #define PTRDIFF_TYPE "long int"
/* AIX 4 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC
and "cror 31,31,31" for POWER architecture. */
#undef RS6000_CALL_GLUE
#define RS6000_CALL_GLUE "nop"
/* AIX 4.2 and above provides initialization and finalization function /* AIX 4.2 and above provides initialization and finalization function
support from linker command line. */ support from linker command line. */
#undef HAS_INIT_SECTION #undef HAS_INIT_SECTION
......
...@@ -146,12 +146,6 @@ do { \ ...@@ -146,12 +146,6 @@ do { \
#undef WCHAR_TYPE_SIZE #undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE (!TARGET_64BIT ? 16 : 32) #define WCHAR_TYPE_SIZE (!TARGET_64BIT ? 16 : 32)
/* AIX V5 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC
and "cror 31,31,31" for POWER architecture. */
#undef RS6000_CALL_GLUE
#define RS6000_CALL_GLUE "nop"
/* AIX 4.2 and above provides initialization and finalization function /* AIX 4.2 and above provides initialization and finalization function
support from linker command line. */ support from linker command line. */
#undef HAS_INIT_SECTION #undef HAS_INIT_SECTION
......
...@@ -158,12 +158,6 @@ do { \ ...@@ -158,12 +158,6 @@ do { \
#undef WCHAR_TYPE_SIZE #undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE (!TARGET_64BIT ? 16 : 32) #define WCHAR_TYPE_SIZE (!TARGET_64BIT ? 16 : 32)
/* AIX V5 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC
and "cror 31,31,31" for POWER architecture. */
#undef RS6000_CALL_GLUE
#define RS6000_CALL_GLUE "nop"
/* AIX 4.2 and above provides initialization and finalization function /* AIX 4.2 and above provides initialization and finalization function
support from linker command line. */ support from linker command line. */
#undef HAS_INIT_SECTION #undef HAS_INIT_SECTION
......
...@@ -156,12 +156,6 @@ do { \ ...@@ -156,12 +156,6 @@ do { \
#undef WCHAR_TYPE_SIZE #undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE (!TARGET_64BIT ? 16 : 32) #define WCHAR_TYPE_SIZE (!TARGET_64BIT ? 16 : 32)
/* AIX V5 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC
and "cror 31,31,31" for POWER architecture. */
#undef RS6000_CALL_GLUE
#define RS6000_CALL_GLUE "nop"
/* AIX 4.2 and above provides initialization and finalization function /* AIX 4.2 and above provides initialization and finalization function
support from linker command line. */ support from linker command line. */
#undef HAS_INIT_SECTION #undef HAS_INIT_SECTION
......
...@@ -157,12 +157,6 @@ do { \ ...@@ -157,12 +157,6 @@ do { \
#undef WCHAR_TYPE_SIZE #undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE (!TARGET_64BIT ? 16 : 32) #define WCHAR_TYPE_SIZE (!TARGET_64BIT ? 16 : 32)
/* AIX V5 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC
and "cror 31,31,31" for POWER architecture. */
#undef RS6000_CALL_GLUE
#define RS6000_CALL_GLUE "nop"
/* AIX 4.2 and above provides initialization and finalization function /* AIX 4.2 and above provides initialization and finalization function
support from linker command line. */ support from linker command line. */
#undef HAS_INIT_SECTION #undef HAS_INIT_SECTION
......
...@@ -316,10 +316,6 @@ extern int dot_symbols; ...@@ -316,10 +316,6 @@ extern int dot_symbols;
#undef ASM_APP_OFF #undef ASM_APP_OFF
#define ASM_APP_OFF "#NO_APP\n" #define ASM_APP_OFF "#NO_APP\n"
/* PowerPC no-op instruction. */
#undef RS6000_CALL_GLUE
#define RS6000_CALL_GLUE (TARGET_64BIT ? "nop" : "cror 31,31,31")
/* Function profiling bits */ /* Function profiling bits */
#undef RS6000_MCOUNT #undef RS6000_MCOUNT
#define RS6000_MCOUNT "_mcount" #define RS6000_MCOUNT "_mcount"
......
...@@ -417,10 +417,6 @@ extern int dot_symbols; ...@@ -417,10 +417,6 @@ extern int dot_symbols;
#undef ASM_APP_OFF #undef ASM_APP_OFF
#define ASM_APP_OFF "#NO_APP\n" #define ASM_APP_OFF "#NO_APP\n"
/* PowerPC no-op instruction. */
#undef RS6000_CALL_GLUE
#define RS6000_CALL_GLUE (TARGET_64BIT ? "nop" : "cror 31,31,31")
#undef RS6000_MCOUNT #undef RS6000_MCOUNT
#define RS6000_MCOUNT "_mcount" #define RS6000_MCOUNT "_mcount"
......
...@@ -14628,12 +14628,6 @@ print_operand (FILE *file, rtx x, int code) ...@@ -14628,12 +14628,6 @@ print_operand (FILE *file, rtx x, int code)
switch (code) switch (code)
{ {
case '.':
/* Write out an instruction after the call which may be replaced
with glue code by the loader. This depends on the AIX version. */
asm_fprintf (file, RS6000_CALL_GLUE);
return;
/* %a is output_address. */ /* %a is output_address. */
case 'A': case 'A':
......
...@@ -2186,10 +2186,6 @@ extern char rs6000_reg_names[][8]; /* register names (0 vs. %r0). */ ...@@ -2186,10 +2186,6 @@ extern char rs6000_reg_names[][8]; /* register names (0 vs. %r0). */
{"vs56", 101},{"vs57", 102},{"vs58", 103},{"vs59", 104}, \ {"vs56", 101},{"vs57", 102},{"vs58", 103},{"vs59", 104}, \
{"vs60", 105},{"vs61", 106},{"vs62", 107},{"vs63", 108} } {"vs60", 105},{"vs61", 106},{"vs62", 107},{"vs63", 108} }
/* Text to write out after a CALL that may be replaced by glue code by
the loader. This depends on the AIX version. */
#define RS6000_CALL_GLUE "cror 31,31,31"
/* This is how to output an element of a case-vector that is relative. */ /* This is how to output an element of a case-vector that is relative. */
#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \ #define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \
......
...@@ -9814,9 +9814,10 @@ ...@@ -9814,9 +9814,10 @@
"HAVE_AS_TLS && DEFAULT_ABI == ABI_AIX" "HAVE_AS_TLS && DEFAULT_ABI == ABI_AIX"
{ {
if (TARGET_CMODEL != CMODEL_SMALL) if (TARGET_CMODEL != CMODEL_SMALL)
return "addis %0,%1,%2@got@tlsgd@ha\;addi %0,%0,%2@got@tlsgd@l\;bl %z3\;%."; return "addis %0,%1,%2@got@tlsgd@ha\;addi %0,%0,%2@got@tlsgd@l\;"
"bl %z3\;nop";
else else
return "addi %0,%1,%2@got@tlsgd\;bl %z3\;%."; return "addi %0,%1,%2@got@tlsgd\;bl %z3\;nop";
} }
"&& TARGET_TLS_MARKERS" "&& TARGET_TLS_MARKERS"
[(set (match_dup 0) [(set (match_dup 0)
...@@ -9919,7 +9920,7 @@ ...@@ -9919,7 +9920,7 @@
UNSPEC_TLSGD) UNSPEC_TLSGD)
(clobber (reg:SI LR_REGNO))] (clobber (reg:SI LR_REGNO))]
"HAVE_AS_TLS && DEFAULT_ABI == ABI_AIX && TARGET_TLS_MARKERS" "HAVE_AS_TLS && DEFAULT_ABI == ABI_AIX && TARGET_TLS_MARKERS"
"bl %z1(%3@tlsgd)\;%." "bl %z1(%3@tlsgd)\;nop"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "8")]) (set_attr "length" "8")])
...@@ -9953,9 +9954,10 @@ ...@@ -9953,9 +9954,10 @@
"HAVE_AS_TLS && DEFAULT_ABI == ABI_AIX" "HAVE_AS_TLS && DEFAULT_ABI == ABI_AIX"
{ {
if (TARGET_CMODEL != CMODEL_SMALL) if (TARGET_CMODEL != CMODEL_SMALL)
return "addis %0,%1,%&@got@tlsld@ha\;addi %0,%0,%&@got@tlsld@l\;bl %z2\;%."; return "addis %0,%1,%&@got@tlsld@ha\;addi %0,%0,%&@got@tlsld@l\;"
"bl %z2\;nop";
else else
return "addi %0,%1,%&@got@tlsld\;bl %z2\;%."; return "addi %0,%1,%&@got@tlsld\;bl %z2\;nop";
} }
"&& TARGET_TLS_MARKERS" "&& TARGET_TLS_MARKERS"
[(set (match_dup 0) [(set (match_dup 0)
...@@ -10051,7 +10053,7 @@ ...@@ -10051,7 +10053,7 @@
(unspec:TLSmode [(const_int 0)] UNSPEC_TLSLD) (unspec:TLSmode [(const_int 0)] UNSPEC_TLSLD)
(clobber (reg:SI LR_REGNO))] (clobber (reg:SI LR_REGNO))]
"HAVE_AS_TLS && DEFAULT_ABI == ABI_AIX && TARGET_TLS_MARKERS" "HAVE_AS_TLS && DEFAULT_ABI == ABI_AIX && TARGET_TLS_MARKERS"
"bl %z1(%&@tlsld)\;%." "bl %z1(%&@tlsld)\;nop"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "8")]) (set_attr "length" "8")])
...@@ -10873,7 +10875,7 @@ ...@@ -10873,7 +10875,7 @@
"TARGET_32BIT "TARGET_32BIT
&& DEFAULT_ABI == ABI_AIX && DEFAULT_ABI == ABI_AIX
&& (INTVAL (operands[2]) & CALL_LONG) == 0" && (INTVAL (operands[2]) & CALL_LONG) == 0"
"bl %z0\;%." "bl %z0\;nop"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "8")]) (set_attr "length" "8")])
...@@ -10885,7 +10887,7 @@ ...@@ -10885,7 +10887,7 @@
"TARGET_64BIT "TARGET_64BIT
&& DEFAULT_ABI == ABI_AIX && DEFAULT_ABI == ABI_AIX
&& (INTVAL (operands[2]) & CALL_LONG) == 0" && (INTVAL (operands[2]) & CALL_LONG) == 0"
"bl %z0\;%." "bl %z0\;nop"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "8")]) (set_attr "length" "8")])
...@@ -10898,7 +10900,7 @@ ...@@ -10898,7 +10900,7 @@
"TARGET_32BIT "TARGET_32BIT
&& DEFAULT_ABI == ABI_AIX && DEFAULT_ABI == ABI_AIX
&& (INTVAL (operands[3]) & CALL_LONG) == 0" && (INTVAL (operands[3]) & CALL_LONG) == 0"
"bl %z1\;%." "bl %z1\;nop"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "8")]) (set_attr "length" "8")])
...@@ -10911,7 +10913,7 @@ ...@@ -10911,7 +10913,7 @@
"TARGET_64BIT "TARGET_64BIT
&& DEFAULT_ABI == ABI_AIX && DEFAULT_ABI == ABI_AIX
&& (INTVAL (operands[3]) & CALL_LONG) == 0" && (INTVAL (operands[3]) & CALL_LONG) == 0"
"bl %z1\;%." "bl %z1\;nop"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "8")]) (set_attr "length" "8")])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment