diff options
author | segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-09-07 08:06:43 +0000 |
---|---|---|
committer | segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-09-07 08:06:43 +0000 |
commit | 3ca019da4ace0fa219c2717644fd5b510f0ae444 (patch) | |
tree | f16d1127cf8472509af1eea87a22ac183f9512eb /gcc/config/rs6000 | |
parent | 6a60f320d4e61988c939e20414137231a3d16760 (diff) | |
download | gcc-3ca019da4ace0fa219c2717644fd5b510f0ae444.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191055 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r-- | gcc/config/rs6000/aix43.h | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/aix51.h | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/aix52.h | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/aix53.h | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/aix61.h | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/freebsd64.h | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/linux64.h | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 22 |
10 files changed, 12 insertions, 58 deletions
diff --git a/gcc/config/rs6000/aix43.h b/gcc/config/rs6000/aix43.h index c1a69dc3a5a..8ff211107ec 100644 --- a/gcc/config/rs6000/aix43.h +++ b/gcc/config/rs6000/aix43.h @@ -142,12 +142,6 @@ do { \ #undef PTRDIFF_TYPE #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 support from linker command line. */ #undef HAS_INIT_SECTION diff --git a/gcc/config/rs6000/aix51.h b/gcc/config/rs6000/aix51.h index 6ea30c1fba1..d62d3fb5d90 100644 --- a/gcc/config/rs6000/aix51.h +++ b/gcc/config/rs6000/aix51.h @@ -146,12 +146,6 @@ do { \ #undef WCHAR_TYPE_SIZE #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 support from linker command line. */ #undef HAS_INIT_SECTION diff --git a/gcc/config/rs6000/aix52.h b/gcc/config/rs6000/aix52.h index 1c9e77f9626..02b966d1f5b 100644 --- a/gcc/config/rs6000/aix52.h +++ b/gcc/config/rs6000/aix52.h @@ -158,12 +158,6 @@ do { \ #undef WCHAR_TYPE_SIZE #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 support from linker command line. */ #undef HAS_INIT_SECTION diff --git a/gcc/config/rs6000/aix53.h b/gcc/config/rs6000/aix53.h index d1a99e9c035..870eb0618d4 100644 --- a/gcc/config/rs6000/aix53.h +++ b/gcc/config/rs6000/aix53.h @@ -156,12 +156,6 @@ do { \ #undef WCHAR_TYPE_SIZE #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 support from linker command line. */ #undef HAS_INIT_SECTION diff --git a/gcc/config/rs6000/aix61.h b/gcc/config/rs6000/aix61.h index 663777c47cf..92168990a01 100644 --- a/gcc/config/rs6000/aix61.h +++ b/gcc/config/rs6000/aix61.h @@ -157,12 +157,6 @@ do { \ #undef WCHAR_TYPE_SIZE #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 support from linker command line. */ #undef HAS_INIT_SECTION diff --git a/gcc/config/rs6000/freebsd64.h b/gcc/config/rs6000/freebsd64.h index 909f703a07e..d434ace28f3 100644 --- a/gcc/config/rs6000/freebsd64.h +++ b/gcc/config/rs6000/freebsd64.h @@ -316,10 +316,6 @@ extern int dot_symbols; #undef ASM_APP_OFF #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 */ #undef RS6000_MCOUNT #define RS6000_MCOUNT "_mcount" diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h index 7c516eb56a8..8c32301a71d 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h @@ -417,10 +417,6 @@ extern int dot_symbols; #undef ASM_APP_OFF #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 #define RS6000_MCOUNT "_mcount" diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index ac7e6f2190f..c125019e821 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -14628,12 +14628,6 @@ print_operand (FILE *file, rtx x, int 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. */ case 'A': diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 4e33611baf4..b968802d9fb 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -2186,10 +2186,6 @@ extern char rs6000_reg_names[][8]; /* register names (0 vs. %r0). */ {"vs56", 101},{"vs57", 102},{"vs58", 103},{"vs59", 104}, \ {"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. */ #define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \ diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index d5ffd81b068..5dae300970c 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -9814,9 +9814,10 @@ "HAVE_AS_TLS && DEFAULT_ABI == ABI_AIX" { 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 - return "addi %0,%1,%2@got@tlsgd\;bl %z3\;%."; + return "addi %0,%1,%2@got@tlsgd\;bl %z3\;nop"; } "&& TARGET_TLS_MARKERS" [(set (match_dup 0) @@ -9919,7 +9920,7 @@ UNSPEC_TLSGD) (clobber (reg:SI LR_REGNO))] "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 "length" "8")]) @@ -9953,9 +9954,10 @@ "HAVE_AS_TLS && DEFAULT_ABI == ABI_AIX" { 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 - return "addi %0,%1,%&@got@tlsld\;bl %z2\;%."; + return "addi %0,%1,%&@got@tlsld\;bl %z2\;nop"; } "&& TARGET_TLS_MARKERS" [(set (match_dup 0) @@ -10051,7 +10053,7 @@ (unspec:TLSmode [(const_int 0)] UNSPEC_TLSLD) (clobber (reg:SI LR_REGNO))] "HAVE_AS_TLS && DEFAULT_ABI == ABI_AIX && TARGET_TLS_MARKERS" - "bl %z1(%&@tlsld)\;%." + "bl %z1(%&@tlsld)\;nop" [(set_attr "type" "branch") (set_attr "length" "8")]) @@ -10873,7 +10875,7 @@ "TARGET_32BIT && DEFAULT_ABI == ABI_AIX && (INTVAL (operands[2]) & CALL_LONG) == 0" - "bl %z0\;%." + "bl %z0\;nop" [(set_attr "type" "branch") (set_attr "length" "8")]) @@ -10885,7 +10887,7 @@ "TARGET_64BIT && DEFAULT_ABI == ABI_AIX && (INTVAL (operands[2]) & CALL_LONG) == 0" - "bl %z0\;%." + "bl %z0\;nop" [(set_attr "type" "branch") (set_attr "length" "8")]) @@ -10898,7 +10900,7 @@ "TARGET_32BIT && DEFAULT_ABI == ABI_AIX && (INTVAL (operands[3]) & CALL_LONG) == 0" - "bl %z1\;%." + "bl %z1\;nop" [(set_attr "type" "branch") (set_attr "length" "8")]) @@ -10911,7 +10913,7 @@ "TARGET_64BIT && DEFAULT_ABI == ABI_AIX && (INTVAL (operands[3]) & CALL_LONG) == 0" - "bl %z1\;%." + "bl %z1\;nop" [(set_attr "type" "branch") (set_attr "length" "8")]) |