aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJulia Koval <julia.koval@intel.com>2017-11-16 07:14:54 +0100
committerKirill Yukhin <kyukhin@gcc.gnu.org>2017-11-16 06:14:54 +0000
commitbde4b3ddd631c24de2c24785ee0e62404eed58a4 (patch)
tree8019f363fda2a74b98b97172192e9b0c7d7f8dea /gcc
parentfca51879ff3939a44588bd24e5e21af96feb01d6 (diff)
downloadgcc-bde4b3ddd631c24de2c24785ee0e62404eed58a4.zip
gcc-bde4b3ddd631c24de2c24785ee0e62404eed58a4.tar.gz
gcc-bde4b3ddd631c24de2c24785ee0e62404eed58a4.tar.bz2
Fix GFNI check which didn't work properly in gfni+sse case
gcc/ PR target/82983 * config/i386/gfniintrin.h: Add sse check. * config/i386/i386.c (ix86_expand_builtin): Fix gfni check. From-SVN: r254797
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/gfniintrin.h4
-rw-r--r--gcc/config/i386/i386.c2
3 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8a716af..0068c53 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2017-11-16 Julia Koval <julia.koval@intel.com>
+ PR target/82983
+ * config/i386/gfniintrin.h: Add sse check.
+ * config/i386/i386.c (ix86_expand_builtin): Fix gfni check.
+
+2017-11-16 Julia Koval <julia.koval@intel.com>
+
* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI2_SET,
OPTION_MASK_ISA_AVX512VBMI2_UNSET): New.
(ix86_handle_option): Handle -mavx512vbmi2.
diff --git a/gcc/config/i386/gfniintrin.h b/gcc/config/i386/gfniintrin.h
index dc07428..e9fea2e 100644
--- a/gcc/config/i386/gfniintrin.h
+++ b/gcc/config/i386/gfniintrin.h
@@ -28,9 +28,9 @@
#ifndef _GFNIINTRIN_H_INCLUDED
#define _GFNIINTRIN_H_INCLUDED
-#ifndef __GFNI__
+#if !defined(__GFNI__) || !defined(__SSE__)
#pragma GCC push_options
-#pragma GCC target("gfni")
+#pragma GCC target("gfni,sse")
#define __DISABLE_GFNI__
#endif /* __GFNI__ */
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 7d4cc61..b2c2934 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -35191,6 +35191,8 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
& ix86_isa_flags))
|| ((ix86_builtins_isa[fcode].isa & OPTION_MASK_ISA_AVX512VL)
&& !(ix86_isa_flags & OPTION_MASK_ISA_AVX512VL))
+ || ((ix86_builtins_isa[fcode].isa & OPTION_MASK_ISA_GFNI)
+ && !(ix86_isa_flags & OPTION_MASK_ISA_GFNI))
|| ((ix86_builtins_isa[fcode].isa & OPTION_MASK_ISA_MMX)
&& !(ix86_isa_flags & OPTION_MASK_ISA_MMX))
|| (ix86_builtins_isa[fcode].isa2