PATCH: PR target/39261: _mm256_set_epi64x failed on 32bit
H.J. Lu
hjl.tools@gmail.com
Sat Feb 21 20:06:00 GMT 2009
V4DI AVX insns are only available in 64bit mode. We shouldn't
use them in 32bit. OK for trunk?
Thanks.
H.J.
----
2008-02-21 H.J. Lu <hongjiu.lu@intel.com>
PR target/39261
* config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
ix86_expand_vector_set for V4DImode in 64bit mode only.
(ix86_expand_vector_init_one_var): Likewise.
--- gcc/config/i386/i386.c.m256 2009-02-21 09:12:56.000000000 -0800
+++ gcc/config/i386/i386.c 2009-02-21 10:53:08.000000000 -0800
@@ -27143,10 +27143,13 @@ ix86_expand_vector_init_one_nonzero (boo
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;
}
@@ -27285,8 +27288,11 @@ ix86_expand_vector_init_one_var (bool mm
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:
More information about the Gcc-patches
mailing list