]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/39261 (_mm256_set_epi64x failed on 32bit)
authorH.J. Lu <hongjiu.lu@intel.com>
Sun, 22 Feb 2009 00:44:23 +0000 (00:44 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Sun, 22 Feb 2009 00:44:23 +0000 (16:44 -0800)
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

gcc/ChangeLog
gcc/config/i386/i386.c

index b59ffaeb48f1f353fe44eb08a899b5e6fd118913..f033765655d732f56c54fda393bbde7e16dcdbc3 100644 (file)
@@ -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.
index d247d07be03abfe00df28df664f5c3077ef17994..f179450c0fb22cf1a24746b929ffbf00bebbc46f 100644 (file)
@@ -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: