i386.opt (recip_mask, [...]): New variables and cl_target member.
commitb86b9f447472aa9e1ad05dbbabe3aa1b09ca3573
authorMichael Matz <matz@suse.de>
Thu, 6 Oct 2011 13:27:47 +0000 (6 13:27 +0000)
committerMichael Matz <matz@gcc.gnu.org>
Thu, 6 Oct 2011 13:27:47 +0000 (6 13:27 +0000)
treeeb347aa6978471e390f71a0cd82bf907b8cf2484
parent16340e8601a250e5024d999e05a192b992b8475d
i386.opt (recip_mask, [...]): New variables and cl_target member.

* 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.

From-SVN: r179608
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