summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/rs6000.h
diff options
context:
space:
mode:
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2009-12-07 15:34:21 +0000
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2009-12-07 15:34:21 +0000
commit20d6e0e0f76d7458478ce75e2502add12de236d5 (patch)
tree4e82947b7eb88a8982ab8dcd325577a711121248 /gcc/config/rs6000/rs6000.h
parent0f77e4b8530980a42d981b38f6295a71ae02bc74 (diff)
downloadgcc-20d6e0e0f76d7458478ce75e2502add12de236d5.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155044 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000/rs6000.h')
-rw-r--r--gcc/config/rs6000/rs6000.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 4b1ca3d635a..a0c2ad79b72 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -158,6 +158,7 @@
%{mcpu=e300c2: -me300} \
%{mcpu=e300c3: -me300} \
%{mcpu=e500mc: -me500mc} \
+%{mcpu=e500mc64: -me500mc64} \
%{maltivec: -maltivec} \
-many"
@@ -341,6 +342,7 @@ enum processor_type
PROCESSOR_PPCE300C2,
PROCESSOR_PPCE300C3,
PROCESSOR_PPCE500MC,
+ PROCESSOR_PPCE500MC64,
PROCESSOR_POWER4,
PROCESSOR_POWER5,
PROCESSOR_POWER6,