summaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-19 17:10:24 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-19 17:10:24 +0000
commit9db3d688a80ad527b7d9518ab89d2117e6d639fb (patch)
tree663b0dfc372983eeaa2731df2996175f8675550a /gcc/config.gcc
parent0abd231ce4e3243236baa0c7264f63a660917394 (diff)
downloadgcc-9db3d688a80ad527b7d9518ab89d2117e6d639fb.tar.gz
* invoke.texi (generic): Document
(i686) Update. * config.gcc: Make x86_64-* and i686-* default to generic tunning. * i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC, TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros. (x86_use_incdec, x86_pad_returns): New variables (TARGET_CPU_DEFAULT_generic): New constant (TARGET_CPU_DEFAULT_NAMES): Add generic. (enum processor_type): Add generic32 and generic64. * i386.md (cpu attribute): Add generic32/generic64 (movhi splitter): Behave sanely when both partial_reg_dependency and partial_reg_stall are set. (K8 splitters): Enable for generic as well. * predicates.md (incdec_operand): Use TARGET_INCDEC (aligned_operand): Avoid memory mismatch stalls. * athlon.md: Enable for generic64, new patterns for 128bit moves. * ppro.md: Enable for generic32 * i386.c (generic64_cost, generic32_cost): New. (m_GENERIC32, m_GENERIC64, m_GENERIC): New macros. (x86_use_leave): Enable for generic64. (x86_use_sahf, x86_ext_80387_constants): Enable for generic32. (x86_push_memory, x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop, x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves, x86_partial_reg_dependency, x86_memory_mismatch_stall, x86_accumulate_outgoing_args, x86_prologue_using_move, x86_epilogue_using_move, x86_arch_always_fancy_math_387, x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule): Enable for generic. (x86_use_incdec, x86_pad_returns): New. (override_options): Add generic32 and generic64, translate "generic" to generic32/generic64 and "i686" to "generic32", refuse "generic32"/"generic64" as arch target. (ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon. (ix86_reorg): Honor PAD_RETURNS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109971 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc36
1 files changed, 30 insertions, 6 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 076e71541f4..252f10c80ad 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2366,6 +2366,9 @@ if test x$with_cpu = x ; then
# A Cirrus ARM variant.
with_cpu="ep9312"
;;
+ i386-*-*)
+ with_cpu=i386
+ ;;
i486-*-*)
with_cpu=i486
;;
@@ -2417,13 +2420,26 @@ if test x$with_cpu = x ; then
pentium_m-*)
with_cpu=pentium-m
;;
- *)
+ pentiumpro-*)
with_cpu=pentiumpro
;;
+ *)
+ with_cpu=generic
+ ;;
esac
;;
x86_64-*-*)
- with_cpu=k8
+ case ${target_noncanonical} in
+ k8-*|opteron-*|athlon_64-*)
+ with_cpu=k8
+ ;;
+ nocona-*)
+ with_cpu=nocona
+ ;;
+ *)
+ with_cpu=generic
+ ;;
+ esac
;;
alphaev6[78]*-*-*)
with_cpu=ev67
@@ -2629,13 +2645,21 @@ case "${target}" in
for which in arch cpu tune; do
eval "val=\$with_$which"
case ${val} in
- "" | i386 | i486 \
+ i386 | i486 \
| i586 | pentium | pentium-mmx | winchip-c6 | winchip2 \
| c3 | c3-2 | i686 | pentiumpro | pentium2 | pentium3 \
| pentium4 | k6 | k6-2 | k6-3 | athlon | athlon-tbird \
- | athlon-4 | athlon-xp | athlon-mp | k8 | opteron \
- | athlon64 | athlon-fx | prescott | pentium-m \
- | pentium4m | pentium3m| nocona)
+ | athlon-4 | athlon-xp | athlon-mp \
+ | prescott | pentium-m | pentium4m | pentium3m)
+ case "${target}" in
+ x86_64-*-*)
+ echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
+ exit 1
+ ;;
+ esac
+ # OK
+ ;;
+ "" | k8 | opteron | athlon64 | athlon-fx | nocona | generic)
# OK
;;
*)