aboutsummaryrefslogtreecommitdiff
path: root/gcc/configure.ac
diff options
context:
space:
mode:
authorPete Steinmetz <steinmtz@us.ibm.com>2006-11-01 20:47:53 +0000
committerPeter Bergner <bergner@gcc.gnu.org>2006-11-01 14:47:53 -0600
commit44cd321ed8bd28102f04abe2aa04db015d0e36d5 (patch)
treeab3ea16dc1830623b6ebf0ec731c8c624fddb22a /gcc/configure.ac
parent293be7fd22c09dafed1a8d44fe4a63ff61901cb0 (diff)
downloadgcc-44cd321ed8bd28102f04abe2aa04db015d0e36d5.zip
gcc-44cd321ed8bd28102f04abe2aa04db015d0e36d5.tar.gz
gcc-44cd321ed8bd28102f04abe2aa04db015d0e36d5.tar.bz2
invoke.texi: Add cpu_type power6x (RS/6000 and PowerPC Options): Add -mmfpgpr.
* doc/invoke.texi: Add cpu_type power6x (RS/6000 and PowerPC Options): Add -mmfpgpr. * config.gcc: Add cpu_type power6x. * configure.ac: Add test for mf{t,f}gpr instructions. (HAVE_AS_MFPGPR): New. * config.in: Regenerate. * configure: Regenerate. * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6x. * config/rs6000/rs6000.md (define_attr "type"): Add insert_dword, shift,trap,var_shift_rotate,cntlz,exts, var_delayed_compare, mffgpr and mftgpr attributes. (define_attr "cpu"): Add power6. Change instruction sequences to use new attributes. (floatsidf2,fix_truncdfsi2): use TARGET_MFPGPR. (fix_truncdfsi2_mfpgpr): New. (floatsidf_ppc64_mfpgpr): New. (floatsidf_ppc64): Added !TARGET_MFPGPR condition. (movdf_hardfloat64_mfpgpr,movdi_mfpgpr): New. (movdf_hardfloat64): Added !TARGET_MFPGPR condition. (movdi_internal64): Added !TARGET_MFPGPR and related conditions. (fix_truncdfsi2): Use gpc_reg_operand constraint. * config/rs6000/{6xx.md,power4.md,8540.md,603.md,mpc.md, 7xx.md,rios2.md,7450.md,440.md,rios1.md,rs64.md,power5.md,40x.md}: Add descriptions for insert_dword, shift,trap,var_shift_rotate, cntlz,exts and var_delayed_compare. * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define _ARCH_PWR6X, if features enabled. * config/rs6000/rs6000.opt (mmfpgpr): New. * config/rs6000/rs6000.c (rs6000_align_branch_targets): New variable. (cached_can_issue_more): New variable. (processor_costs): Add power6_cost. (rs6000_sched_init): New function. (is_dispatch_slot_restricted): Deleted. (set_to_load_agen): New function. (is_load_insn,is_store_insn): New functions. (adjacent_mem_locations): New function. (insn_must_be_first_in_group): New function. (insn_must_be_last_in_group): New function. (rs6000_sched_reorder): New function. (rs6000_sched_reorder2): New function. (TARGET_SCHED_INIT,TARGET_SCHED_REORDER, TARGET_SCHED_REORDER2): Define. (processor_target_table): Use PROCESSOR_POWER6 for power6. Add power6x. Add MASK_MFPGPR for power6x. (POWERPC_MASKS): Add MASK_MFPGPR. (rs6000_override_options): Set rs6000_always_hint to false for power6. Set rs6000_align_branch_targets. Replace rs6000_sched_groups check with rs6000_align_branch_targets. Use PROCESSOR_POWER6. (last_scheduled_insn): New variable. (load_store_pendulum): New variable. (rs6000_variable_issue): Set last_scheduled_insn and cached_can_issue_more. (rs6000_adjust_cost): Add power6 cost adjustments. (rs6000_adjust_priority): Replace is_dispatch_slot_restricted with insn_must_be_first_in_group. Add power6 priority adjustments. (rs6000_issue_rate): Add CPU_POWER6. (insn_terminates_group_p): Use insn_must_be_{first,last}_in_group. * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER6. (TARGET_MFPGPR): New. (SECONDARY_MEMORY_NEEDED): Use TARGET_MFPGPR. (ASM_CPU_SPEC): Add power6x. (SECONDARY_MEMORY_NEEDED): Added mode!=DFmode and mode!=DImode conditions. * config/rs6000/power6.md: New file. Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com> From-SVN: r118396
Diffstat (limited to 'gcc/configure.ac')
-rw-r--r--gcc/configure.ac15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 7b57138..fca9fed 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -2934,6 +2934,21 @@ foo: nop
[Define if your assembler supports fprnd.])])
case $target in
+ *-*-aix*) conftest_s=' .machine "pwr6"
+ .csect .text[[PR]]
+ mffgpr 1,3';;
+ *) conftest_s=' .machine power6
+ .text
+ mffgpr 1,3';;
+ esac
+
+ gcc_GAS_CHECK_FEATURE([move fp gpr support],
+ gcc_cv_as_powerpc_mfpgpr, [9,99,0],,
+ [$conftest_s],,
+ [AC_DEFINE(HAVE_AS_MFPGPR, 1,
+ [Define if your assembler supports mffgpr and mftgpr.])])
+
+ case $target in
*-*-aix*) conftest_s=' .csect .text[[PR]]
LCF..0:
addis 11,30,_GLOBAL_OFFSET_TABLE_-LCF..0@ha';;