aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2009-02-22 00:44:23 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2009-02-21 16:44:23 -0800
commitf161e1584d519c1ee9d92d5694d04e98f84b16e9 (patch)
tree0704f7670dfef0a08cc8066b8ce3f3d1f3797a5d
parentf592b0b3f1564fcc71807722bc335a1ad3ffd57d (diff)
downloadgcc-f161e1584d519c1ee9d92d5694d04e98f84b16e9.zip
gcc-f161e1584d519c1ee9d92d5694d04e98f84b16e9.tar.gz
gcc-f161e1584d519c1ee9d92d5694d04e98f84b16e9.tar.bz2
re PR target/39261 (_mm256_set_epi64x failed on 32bit)
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. From-SVN: r144366
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/i386/i386.c10
2 files changed, 15 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b59ffae..f033765 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+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.
+
2009-02-21 Sebastian Pop <sebastian.pop@amd.com>
* graphite.c (graphite_trans_loop_block): Adjust tile size to 51.
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: