aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorDaniel Berlin <dan@cgsoftware.com>2001-07-31 17:20:20 +0000
committerDaniel Berlin <dberlin@gcc.gnu.org>2001-07-31 17:20:20 +0000
commit2bfcf297772c19dea98fac91400e458f6a1e449e (patch)
tree189b8e1fd44b8f4e0a7998e44b31d6dc222a856b /gcc/config.gcc
parentbefe7c61462d147b408df88fe8a6f8e14e3ad877 (diff)
downloadgcc-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.gcc23
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
;;