aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/i386/i386.c')
-rw-r--r--gcc/config/i386/i386.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index d247d07..f179450 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -27129,10 +27129,13 @@ ix86_expand_vector_init_one_nonzero (bool mmx_ok, enum machine_mode mode,
case V16HImode:
case V8SImode:
case V8SFmode:
- case V4DImode:
case V4DFmode:
use_vector_set = TARGET_AVX;
break;
+ case V4DImode:
+ /* Use ix86_expand_vector_set in 64bit mode only. */
+ use_vector_set = TARGET_AVX && TARGET_64BIT;
+ break;
default:
break;
}
@@ -27271,8 +27274,11 @@ ix86_expand_vector_init_one_var (bool mmx_ok, enum machine_mode mode,
the general case. */
return false;
- case V4DFmode:
case V4DImode:
+ /* Use ix86_expand_vector_set in 64bit mode only. */
+ if (!TARGET_64BIT)
+ return false;
+ case V4DFmode:
case V8SFmode:
case V8SImode:
case V16HImode: