diff options
Diffstat (limited to 'gcc/config/i386/i386.c')
| -rw-r--r-- | gcc/config/i386/i386.c | 10 |
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: |
