From: Segher Boessenkool Date: Fri, 7 Sep 2012 08:06:43 +0000 (+0200) Subject: aix43.h (RS6000_CALL_GLUE): Delete. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7fb3b7a74699bd0dc6a1630756b4bb1ac31658a4;p=gcc.git aix43.h (RS6000_CALL_GLUE): Delete. 2012-09-07 Segher Boessenkool 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): Replace %. with nop. (tls_gd_call_aix): Ditto. (tls_ld_aix): Ditto. (tls_ld_call_aix): Ditto. (call_nonlocal_aix32): Ditto. (call_nonlocal_aix64): Ditto. (call_value_nonlocal_aix32): Ditto. (call_value_nonlocal_aix64): Ditto. From-SVN: r191055 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1c910cbaad3..353978190c9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,24 @@ +2012-09-07 Segher Boessenkool + + * 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): + Replace %. with nop. + (tls_gd_call_aix): Ditto. + (tls_ld_aix): Ditto. + (tls_ld_call_aix): Ditto. + (call_nonlocal_aix32): Ditto. + (call_nonlocal_aix64): Ditto. + (call_value_nonlocal_aix32): Ditto. + (call_value_nonlocal_aix64): Ditto. + 2012-06-04 Andi Kleen * doc/invoke.texi (-ffat-lto-objects): Clarify that gcc-ar 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")])