aboutsummaryrefslogtreecommitdiff
path: root/gcc/common
diff options
context:
space:
mode:
authorJulia Koval <julia.koval@intel.com>2017-11-07 20:11:08 +0100
committerKirill Yukhin <kyukhin@gcc.gnu.org>2017-11-07 19:11:08 +0000
commitd4bc3829f139406a9b8d238d834fb1580f68e1ec (patch)
treee451bb0175417322e852a2d7ca52ff5f2bbc67cc /gcc/common
parentd8dcc3a67dc8dca69d7f03f6e9a6f2bec141b103 (diff)
downloadgcc-d4bc3829f139406a9b8d238d834fb1580f68e1ec.zip
gcc-d4bc3829f139406a9b8d238d834fb1580f68e1ec.tar.gz
gcc-d4bc3829f139406a9b8d238d834fb1580f68e1ec.tar.bz2
Fix SSE bits dependencies.
gcc/ PR target/82812 * common/config/i386/i386-common.c (OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET): Remove MPX from flag. (ix86_handle_option): Move MPX to isa_flags2 and GFNI to isa_flags. * config/i386/i386-c.c (ix86_target_macros_internal): Ditto. * config/i386/i386.opt: Ditto. * config/i386/i386.c (ix86_target_string): Ditto. (ix86_option_override_internal): Ditto. (ix86_init_mpx_builtins): Move MPX to args2. (ix86_expand_builtin): Special handling for OPTION_MASK_ISA_GFNI. * config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineinvqb_v64qi, __builtin_ia32_vgf2p8affineinvqb_v64qi_mask, __builtin_ia32_vgf2p8affineinvqb_v32qi, __builtin_ia32_vgf2p8affineinvqb_v32qi_mask, __builtin_ia32_vgf2p8affineinvqb_v16qi, __builtin_ia32_vgf2p8affineinvqb_v16qi_mask): Move to ARGS array. From-SVN: r254507
Diffstat (limited to 'gcc/common')
-rw-r--r--gcc/common/config/i386/i386-common.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/gcc/common/config/i386/i386-common.c b/gcc/common/config/i386/i386-common.c
index ada918e..acad248 100644
--- a/gcc/common/config/i386/i386-common.c
+++ b/gcc/common/config/i386/i386-common.c
@@ -242,8 +242,7 @@ along with GCC; see the file COPYING3. If not see
#define OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET \
(OPTION_MASK_ISA_MMX_UNSET \
- | OPTION_MASK_ISA_SSE_UNSET \
- | OPTION_MASK_ISA_MPX)
+ | OPTION_MASK_ISA_SSE_UNSET)
/* Implement TARGET_HANDLE_OPTION. */
@@ -265,8 +264,12 @@ ix86_handle_option (struct gcc_options *opts,
general registers are allowed. */
opts->x_ix86_isa_flags
&= ~OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET;
+ opts->x_ix86_isa_flags2
+ &= ~OPTION_MASK_ISA_MPX;
opts->x_ix86_isa_flags_explicit
|= OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET;
+ opts->x_ix86_isa_flags2_explicit
+ |= OPTION_MASK_ISA_MPX;
opts->x_target_flags &= ~MASK_80387;
}
@@ -493,13 +496,13 @@ ix86_handle_option (struct gcc_options *opts,
case OPT_mgfni:
if (value)
{
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA_GFNI_SET;
- opts->x_ix86_isa_flags2_explicit |= OPTION_MASK_ISA_GFNI_SET;
+ opts->x_ix86_isa_flags |= OPTION_MASK_ISA_GFNI_SET;
+ opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_GFNI_SET;
}
else
{
- opts->x_ix86_isa_flags2 &= ~OPTION_MASK_ISA_GFNI_UNSET;
- opts->x_ix86_isa_flags2_explicit |= OPTION_MASK_ISA_GFNI_UNSET;
+ opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_GFNI_UNSET;
+ opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_GFNI_UNSET;
}
return true;