diff options
author | Edmar Wienskoski <edmar@freescale.com> | 2009-12-07 15:34:21 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2009-12-07 10:34:21 -0500 |
commit | b17f98b1c541dbbb8a615063a0449b4c6245cbc2 (patch) | |
tree | 4e82947b7eb88a8982ab8dcd325577a711121248 /gcc/config.gcc | |
parent | d0d92baf438995061f3c86a8b85c9b431573d986 (diff) | |
download | gcc-b17f98b1c541dbbb8a615063a0449b4c6245cbc2.zip gcc-b17f98b1c541dbbb8a615063a0449b4c6245cbc2.tar.gz gcc-b17f98b1c541dbbb8a615063a0449b4c6245cbc2.tar.bz2 |
config.gcc (cpu_is_64bit): Add new core e500mc64.
2009-12-07 Edmar Wienskoski <edmar@freescale.com>
* config.gcc (cpu_is_64bit): Add new core e500mc64.
(powerpc*-*-*): Add new core e500mc64.
* config/rs6000/e500mc64.md: New file.
* config/rs6000/rs6000.c (processor_costs): Add new costs for
e500mc64.
(rs6000_override_options): Add e500mc64 case to
processor_target_table. Altivec and Spe options not allowed with
e500mc64. Disable string instructions for e500mc64. Enable branch
targets alignment for both e500mc and e500mc64. Initialize
rs6000_cost for e500mc64.
(rs6000_emit_sISEL): New function.
(rs6000_emit_sCOND): Call rs6000_emit_sISEL for isel targets.
(rs6000_emit_int_cmove): Fix mode of 64 bit isel pattern
generation.
(rs6000_issue_rate): Set issue rate for e500mc64.
(rs6000_rtx_costs): Set more accurate cost for mfcr instruction
on architectures with isel.
* config/rs6000/rs6000-protos.h (rs6000_emit_sISEL): Declare.
* config/rs6000/rs6000.h (processor_type): Add
PROCESSOR_PPCE500MC64.
(ASM_CPU_SPEC): Add e500mc64.
* config/rs6000/rs6000.md (define_attr "cpu"): Add ppce500mc64.
Include e500mc64.md.
(abssi2_isel): Expand pattern to handle DImode.
(nabs<mode>2_isel): New pattern.
(absdi2): Change pattern to handle 64 bit isel targets.
(absdi2_internal): Exclude ISEL targets.
(nabsdi2): Exclude ISEL targets.
* doc/invoke.texi: Add e500mc64 to list of cpus.
From-SVN: r155044
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index f7b23aa..ca9441f 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -327,7 +327,7 @@ powerpc*-*-*) extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h" need_64bit_hwint=yes case x$with_cpu in - xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[34567]|xpower6x|xrs64a|xcell|xa2) + xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[34567]|xpower6x|xrs64a|xcell|xa2|xe500mc64) cpu_is_64bit=yes ;; esac @@ -3081,7 +3081,7 @@ case "${target}" in | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \ | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \ | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \ - | a2 | e300c[23] | 854[08] | e500mc \ + | a2 | e300c[23] | 854[08] | e500mc | e500mc64 \ | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell) # OK ;; |