aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorSergey Shalnov <Sergey.Shalnov@intel.com>2017-09-28 20:11:41 +0200
committerUros Bizjak <uros@gcc.gnu.org>2017-09-28 20:11:41 +0200
commit10e93cf5978ab63059438b2ea7e68d94e043db96 (patch)
tree1f892b1b3d3a6a20f5c3b44a0e9134c94bab1653 /gcc/config
parentb4aac5c3514348731beaf9b4ceca89661871ef87 (diff)
downloadgcc-10e93cf5978ab63059438b2ea7e68d94e043db96.zip
gcc-10e93cf5978ab63059438b2ea7e68d94e043db96.tar.gz
gcc-10e93cf5978ab63059438b2ea7e68d94e043db96.tar.bz2
i386.md (*movsf_internal, [...]): Return 256-bit AVX modes for TARGET_PREFER_AVX256.
gcc/ * config/i386/i386.md (*movsf_internal, *movdf_internal): Return 256-bit AVX modes for TARGET_PREFER_AVX256. gcc/testsuite/ * gcc.target/i386/avx512f-constant-float-return.c: New test. From-SVN: r253259
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386.md6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index f51e02c..b9a3928 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -3524,7 +3524,8 @@
(eq_attr "alternative" "12,16")
(cond [(not (match_test "TARGET_SSE2"))
(const_string "V4SF")
- (match_test "TARGET_AVX512F")
+ (and (match_test "TARGET_AVX512F")
+ (not (match_test "TARGET_PREFER_AVX256")))
(const_string "XI")
(match_test "TARGET_AVX")
(const_string "V2DF")
@@ -3693,7 +3694,8 @@
(eq_attr "alternative" "5")
(cond [(not (match_test "TARGET_SSE2"))
(const_string "V4SF")
- (match_test "TARGET_AVX512F")
+ (and (match_test "TARGET_AVX512F")
+ (not (match_test "TARGET_PREFER_AVX256")))
(const_string "V16SF")
(match_test "TARGET_AVX")
(const_string "V4SF")