aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-11-08 17:29:51 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2011-11-08 17:29:51 +0100
commit8ebe5133dc24e17df3136e379fedc4ad43c239e2 (patch)
treecded89bae53b879ec1fa7db20876bb4509d61cf7 /gcc/config
parent3d3b05ff4ffcca24cadba839a7708c8c483dd642 (diff)
downloadgcc-8ebe5133dc24e17df3136e379fedc4ad43c239e2.zip
gcc-8ebe5133dc24e17df3136e379fedc4ad43c239e2.tar.gz
gcc-8ebe5133dc24e17df3136e379fedc4ad43c239e2.tar.bz2
i386.c (ix86_preferred_simd_mode): Even for TARGET_AVX if not TARGET_PREFER_AVX128 return 32-byte integer vectors.
* config/i386/i386.c (ix86_preferred_simd_mode): Even for TARGET_AVX if not TARGET_PREFER_AVX128 return 32-byte integer vectors. * gcc.target/i386/avx-cvt-2.c: Adjust for 32-byte integer vectors being prefered even for -mavx. * gcc.target/i386/avx-cvt-3.c: New test. From-SVN: r181170
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 799e12b..acf9ad8 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -38076,13 +38076,13 @@ ix86_preferred_simd_mode (enum machine_mode mode)
switch (mode)
{
case QImode:
- return TARGET_AVX2 ? V32QImode : V16QImode;
+ return (TARGET_AVX && !TARGET_PREFER_AVX128) ? V32QImode : V16QImode;
case HImode:
- return TARGET_AVX2 ? V16HImode : V8HImode;
+ return (TARGET_AVX && !TARGET_PREFER_AVX128) ? V16HImode : V8HImode;
case SImode:
- return TARGET_AVX2 ? V8SImode : V4SImode;
+ return (TARGET_AVX && !TARGET_PREFER_AVX128) ? V8SImode : V4SImode;
case DImode:
- return TARGET_AVX2 ? V4DImode : V2DImode;
+ return (TARGET_AVX && !TARGET_PREFER_AVX128) ? V4DImode : V2DImode;
case SFmode:
if (TARGET_AVX && !TARGET_PREFER_AVX128)