Support --with-fpmath=sse for x86.
2010-02-26 H.J. Lu <hongjiu.lu@intel.com> * config.gcc: Support --with-fpmath=sse for x86. * config/i386/ssemath.h: New. * doc/install.texi (--with-fpmath=sse): Documented. From-SVN: r157090
This commit is contained in:
parent
482b2e5b35
commit
a3af5e2615
@ -1,3 +1,11 @@
|
||||
2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* config.gcc: Support --with-fpmath=sse for x86.
|
||||
|
||||
* config/i386/ssemath.h: New.
|
||||
|
||||
* doc/install.texi (--with-fpmath=sse): Documented.
|
||||
|
||||
2010-02-26 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/43188
|
||||
|
@ -2835,7 +2835,18 @@ esac
|
||||
# This block sets nothing except for with_arch.
|
||||
if test x$with_arch = x ; then
|
||||
case ${target} in
|
||||
i[34567]86-*-*|x86_64-*-*)
|
||||
i[34567]86-*-darwin*)
|
||||
# Don't set default arch for Darwin since it will set the default
|
||||
# ISA to SSE2.
|
||||
;;
|
||||
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
|
||||
fi
|
||||
;;
|
||||
x86_64-*-*)
|
||||
with_arch=$arch
|
||||
;;
|
||||
esac
|
||||
@ -2856,6 +2867,27 @@ if test x$with_arch = x ; then
|
||||
esac
|
||||
fi
|
||||
|
||||
# Support --with-fpmath.
|
||||
if test x$with_fpmath != x; then
|
||||
case ${target} in
|
||||
i[34567]86-*-* | x86_64-*-*)
|
||||
case ${with_fpmath} in
|
||||
sse)
|
||||
tm_file="${tm_file} i386/ssemath.h"
|
||||
;;
|
||||
*)
|
||||
echo "Invalid --with-fpmath=$with_fpmath" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo "--with-fpmath isn't supported for $target." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Similarly for --with-schedule.
|
||||
if test x$with_schedule = x; then
|
||||
case ${target} in
|
||||
|
25
gcc/config/i386/ssemath.h
Normal file
25
gcc/config/i386/ssemath.h
Normal file
@ -0,0 +1,25 @@
|
||||
/* Copyright (C) 2010
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
GCC is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3, or (at your option)
|
||||
any later version.
|
||||
|
||||
GCC is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING3. If not see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#undef TARGET_FPMATH_DEFAULT
|
||||
#define TARGET_FPMATH_DEFAULT (TARGET_SSE2 ? FPMATH_SSE : FPMATH_387)
|
||||
|
||||
#undef TARGET_SUBTARGET32_ISA_DEFAULT
|
||||
#define TARGET_SUBTARGET32_ISA_DEFAULT \
|
||||
(OPTION_MASK_ISA_MMX | OPTION_MASK_ISA_SSE | OPTION_MASK_ISA_SSE2)
|
@ -1170,6 +1170,11 @@ of the arguments depend on the target.
|
||||
Specify if the compiler should default to @option{-marm} or @option{-mthumb}.
|
||||
This option is only supported on ARM targets.
|
||||
|
||||
@item --with-fpmath=sse
|
||||
Specify if the compiler should default to @option{-msse2} and
|
||||
@option{-mfpmath=sse}. This option is only supported on i386 and
|
||||
x86-64 targets.
|
||||
|
||||
@item --with-divide=@var{type}
|
||||
Specify how the compiler should generate code for checking for
|
||||
division by zero. This option is only supported on the MIPS target.
|
||||
|
Loading…
Reference in New Issue
Block a user