aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2010-02-26 22:35:34 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2010-02-26 22:35:34 +0000
commit05b38372e74b9fe84077a2b803af106194177787 (patch)
tree6a342c05f368403ddfcd707696d2257fb3bcd0ec /gcc/config.gcc
parent16b4d5bbcc6fedad04a5dd8370b774fb94d1fa0e (diff)
Set the default arch at least to Prescott/Pentium 4.
2010-02-26 H.J. Lu <hongjiu.lu@intel.com> * config.gcc: Set the default arch at least to Prescott for i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets if SSE math is enabled. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157101 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc31
1 files changed, 25 insertions, 6 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index df84f50db64..a1894004eca 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2625,16 +2625,20 @@ esac
# to generic if there is no processor scheduler model for the target.
arch=
cpu=
+arch_without_sse2=no
case ${target} in
i386-*-*)
arch=i386
cpu=i386
+ arch_without_sse2=yes
;;
i486-*-*)
arch=i486
cpu=i486
+ arch_without_sse2=yes
;;
i586-*-*)
+ arch_without_sse2=yes
case ${target_noncanonical} in
k6_2-*)
arch=k6-2
@@ -2675,22 +2679,27 @@ case ${target} in
athlon_xp-*|athlon_mp-*|athlon_4-*)
arch=athlon-4
cpu=athlon-4
+ arch_without_sse2=yes
;;
athlon_tbird-*|athlon-*)
arch=athlon
cpu=athlon
+ arch_without_sse2=yes
;;
geode-*)
arch=geode
cpu=geode
+ arch_without_sse2=yes
;;
pentium2-*)
arch=pentium2
cpu=pentium2
+ arch_without_sse2=yes
;;
pentium3-*|pentium3m-*)
arch=pentium3
cpu=pentium3
+ arch_without_sse2=yes
;;
pentium4-*|pentium4m-*)
arch=pentium4
@@ -2719,10 +2728,12 @@ case ${target} in
pentiumpro-*)
arch=pentiumpro
cpu=pentiumpro
+ arch_without_sse2=yes
;;
*)
arch=pentiumpro
cpu=generic
+ arch_without_sse2=yes
;;
esac
;;
@@ -2836,14 +2847,22 @@ esac
if test x$with_arch = x ; then
case ${target} in
i[34567]86-*-darwin*)
- # Don't set default arch for Darwin since it will set the default
- # ISA to SSE2.
+ # SSE math is enabled for Darwin, which sets the default ISA to
+ # SSE2. The minimum ISA supported Darwin is SSE3, which is the
+ # same as Prescott.
+ if test $arch_without_sse2 = no; then
+ with_arch=$arch
+ else
+ with_arch=prescott
+ fi
;;
i[34567]86-*-*)
- # Don't set default arch if --with-fpmath is used since it will set
- # the default ISA to SSE2.
- if test x$with_fpmath = x; then
- with_arch=$arch
+ # --with-fpmath sets the default ISA to SSE2, which is the same
+ # ISA supported by Pentium 4.
+ if test x$with_fpmath = x || test $arch_without_sse2 = no; then
+ with_arch=$arch
+ else
+ with_arch=pentium4
fi
;;
x86_64-*-*)