OSDN Git Service

* i386/i386.opt (recip_mask, recip_mask_explicit,
authormatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Oct 2011 13:27:47 +0000 (13:27 +0000)
committermatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Oct 2011 13:27:47 +0000 (13:27 +0000)
commit8acd1d98f7c902329eb561cbbe8829cdf0f4e853
treeeb347aa6978471e390f71a0cd82bf907b8cf2484
parent91a5e339b68aa9cad2ca3825736c536c190827cf
* i386/i386.opt (recip_mask, recip_mask_explicit,
x_recip_mask_explicit): New variables and cl_target member.
(mrecip=): New option.
* i386/i386.h (RECIP_MASK_DIV, RECIP_MASK_SQRT, RECIP_MASK_VEC_DIV,
RECIP_MASK_VEC_SQRT, RECIP_MASK_ALL, RECIP_MASK_NONE): New bitmasks.
(TARGET_RECIP_DIV, TARGET_RECIP_SQRT, TARGET_RECIP_VEC_DIV,
TARGET_RECIP_VEC_SQRT): New tests.
* i386/i386.md (divsf3): Check TARGET_RECIP_DIV.
(sqrt<mode>2): Check TARGET_RECIP_SQRT.
* i386/sse.md (div<mode>3): Check TARGET_RECIP_VEC_DIV.
(sqrt<mode>2): Check TARGET_RECIP_VEC_SQRT.
* i386/i386.c (ix86_option_override_internal): Set recip_mask
for -mrecip and -mrecip=options.
(ix86_function_specific_save): Save recip_mask_explicit.
(ix86_function_specific_restore): Restore recip_mask_explicit.

* doc/invoke.texi (ix86 Options): Document the new option.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179608 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md
gcc/config/i386/i386.opt
gcc/config/i386/sse.md
gcc/doc/invoke.texi