diff options
author | Daniel Berlin <dan@cgsoftware.com> | 2001-07-31 17:20:20 +0000 |
---|---|---|
committer | Daniel Berlin <dberlin@gcc.gnu.org> | 2001-07-31 17:20:20 +0000 |
commit | 2bfcf297772c19dea98fac91400e458f6a1e449e (patch) | |
tree | 189b8e1fd44b8f4e0a7998e44b31d6dc222a856b /gcc/config.gcc | |
parent | befe7c61462d147b408df88fe8a6f8e14e3ad877 (diff) | |
download | gcc-2bfcf297772c19dea98fac91400e458f6a1e449e.zip gcc-2bfcf297772c19dea98fac91400e458f6a1e449e.tar.gz gcc-2bfcf297772c19dea98fac91400e458f6a1e449e.tar.bz2 |
PowerPC reorg and support for powerpc64-*-linux*.
2001-07-31 Daniel Berlin <dan@cgsoftware.com>
PowerPC reorg and support for powerpc64-*-linux*.
Also fixes emitting of constants on 32 bit and 64 bit
platforms.
* config.gcc: powerpc64-*-linux* is a new target.
Things that needed aix.h now also include xcoff.h
* config/rs6000/rs6000.h: Split XCOFF specific stuff into
xcoff.h.
Move AIX specific stuff into aix.h.
(ASM_LONG): Use DOUBLE_INT_ASM_OP if we are on a 64 bit target.
(ASM_OUTPUT_DOUBLE_INT): Ditto.
(TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
with more than just XCOFF now.
(SET_ASM_OP): Remove, now defined where needed.
(FUNCTION_PROLOGUE): New macro definition.
(FUNCTION_EPILOGUE): New macro definition.
(CONST_OK_FOR_LETTER_P): Change N to require that value is
positive, too.
(ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
(PREDICATE_CODES): Added exact_log2_cint_operand,
reg_or_add_cint64_operand, reg_or_sub_cint64_operand.
* config/rs6000/rs6000.c: #ifdef XCOFF debugging info stuff on
XCOFF_DEBUGGING_INFO.
Use DOUBLE_INT_ASM_OP where approriate.
(rs6000_emit_set_long_const): New function.
(rs6000_emit_set_const): New function.
(reg_or_sub_cint64_operand): New function.
(reg_or_add_cint64_operand): New function.
(exact_log2_cint_operand): New function.
* config/rs6000/rs6000.md: Fix emitting of constants.
Fix patterns that were AIX ABI specific, but depended on
!TARGET_ELF (instead of DEFAULT_ABI == ABI_AIX).
* config/rs6000/xcoff.h: New file.
* config/rs6000/linux64.h: New file.
* config/rs6000/darwin.h: Copy needed AIX alignment definitions.
From-SVN: r44516
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 7a14135..6380bab 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -2559,9 +2559,16 @@ romp-*-openbsd*) powerpc-*-openbsd*) tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd" ;; +powerpc64-*-linux*) + tm_file="${tm_file} svr4.h rs6000/sysv4.h rs6000/linux64.h" + out_file=rs6000/rs6000.c + tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm" + xmake_file=x-linux + extra_headers=ppc-asm.h + ;; powerpc-*-beos*) cpu_type=rs6000 - tm_file="${tm_file} rs6000/aix.h rs6000/beos.h" + tm_file="${tm_file} rs6000/aix.h rs6000/beos.h rs6000/xcoff.h" xm_defines=POSIX xm_file=rs6000/xm-beos.h tmake_file=rs6000/t-beos @@ -2700,27 +2707,27 @@ powerpcle-*-solaris2*) ;; rs6000-ibm-aix3.[01]*) xm_defines=POSIX - tm_file="${tm_file} rs6000/aix.h rs6000/aix31.h" + tm_file="${tm_file} rs6000/aix.h rs6000/aix31.h rs6000/xcoff.h" float_format=none use_collect2=yes ;; rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*) xm_defines=POSIX - tm_file="${tm_file} rs6000/aix.h rs6000/aix3newas.h" + tm_file="${tm_file} rs6000/aix.h rs6000/aix3newas.h rs6000/xcoff.h" tmake_file=rs6000/t-newas float_format=none use_collect2=yes ;; rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*) xm_defines=POSIX - tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h" + tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h" tmake_file=rs6000/t-newas float_format=none use_collect2=yes ;; rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*) xm_defines=POSIX - tm_file="${tm_file} rs6000/aix.h rs6000/aix43.h" + tm_file="${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h" tmake_file=rs6000/t-aix43 float_format=none use_collect2=yes @@ -2728,7 +2735,7 @@ rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*) ;; rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*) xm_defines=POSIX - tm_file="${tm_file} rs6000/aix.h rs6000/aix51.h" + tm_file="${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h" tmake_file=rs6000/t-aix43 float_format=none use_collect2=yes @@ -2736,13 +2743,13 @@ rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*) ;; rs6000-ibm-aix*) xm_defines=POSIX - tm_file="${tm_file} rs6000/aix.h" + tm_file="${tm_file} rs6000/aix.h rs6000/xcoff.h" float_format=none use_collect2=yes ;; rs6000-bull-bosx) xm_defines=POSIX - tm_file="${tm_file} rs6000/aix.h" + tm_file="${tm_file} rs6000/aix.h rs6000/xcoff.h" float_format=none use_collect2=yes ;; |