commit 8721f561d32b46e506cc218495957295ee083cc5
Author: Kirill Yukhin <kirill.yukhin@intel.com>
Date:   Thu Jun 23 19:07:21 2011 +0400

    Fixing AVX2 tests.

diff --git a/gcc/ChangeLog.avx2 b/gcc/ChangeLog.avx2
index 1ee229e..5abe2aa 100644
--- a/gcc/ChangeLog.avx2
+++ b/gcc/ChangeLog.avx2
@@ -1,3 +1,14 @@
+2011-06-22  Yukhin Kirill  <kirill.yukhin@intel.com>
+
+	* gcc/config/i386/avx2intrin.h (_mm_i32gather_epi64): Fixed
+	pointer type.
+	(_mm256_i32gather_epi64): Likewise.
+	(_mm256_mask_i32gather_epi64): Likewise.
+	(_mm_i64gather_epi64): Likewise.
+	(_mm_mask_i64gather_epi64): Likewise.
+	(_mm256_i64gather_epi64): Likewise.
+	(_mm256_mask_i64gather_epi64): Likewise.
+
 2011-06-21  Yukhin Kirill  <kirill.yukhin@intel.com>
 
 	* gcc/config/i386/driver-i386.c (host_detect_local_cpu): Define
diff --git a/gcc/config/i386/avx2intrin.h b/gcc/config/i386/avx2intrin.h
index 435fd29..3c8f360 100644
--- a/gcc/config/i386/avx2intrin.h
+++ b/gcc/config/i386/avx2intrin.h
@@ -1431,7 +1431,8 @@ _mm256_mask_i64gather_ps (__m128 src, float const *base,
 
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i32gather_epi64 (int const *base, __m128i index, const int scale)
+_mm_i32gather_epi64 (long long int const *base,
+		     __m128i index, const int scale)
 {
   __v2di src = __extension__ (__v2di){ 0, 0 };
   __v2di mask = __extension__ (__v2di){ ~0, ~0 };
@@ -1445,8 +1446,8 @@ _mm_i32gather_epi64 (int const *base, __m128i index, const int scale)
 
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i32gather_epi64 (__m128i src, int const *base, __m128i index,
-			  __m128i mask, const int scale)
+_mm_mask_i32gather_epi64 (__m128i src, long long int const *base,
+			  __m128i index, __m128i mask, const int scale)
 {
   return (__m128i) __builtin_ia32_gathersiv2di ((__v2di)src,
 						base,
@@ -1457,7 +1458,8 @@ _mm_mask_i32gather_epi64 (__m128i src, int const *base, __m128i index,
 
 extern __inline __m256i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i32gather_epi64 (int const *base, __m128i index, const int scale)
+_mm256_i32gather_epi64 (long long int const *base,
+			__m128i index, const int scale)
 {
   __v4di src = __extension__ (__v4di){ 0, 0, 0, 0 };
   __v4di mask = __extension__ (__v4di){ ~0, ~0, ~0, ~0 };
@@ -1471,7 +1473,7 @@ _mm256_i32gather_epi64 (int const *base, __m128i index, const int scale)
 
 extern __inline __m256i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i32gather_epi64 (__m256i src, int const *base,
+_mm256_mask_i32gather_epi64 (__m256i src, long long int const *base,
 			     __m128i index, __m256i mask, const int scale)
 {
   return (__m256i) __builtin_ia32_gathersiv4di ((__v4di)src,
@@ -1483,7 +1485,8 @@ _mm256_mask_i32gather_epi64 (__m256i src, int const *base,
 
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i64gather_epi64 (int const *base, __m128i index, const int scale)
+_mm_i64gather_epi64 (long long int const *base,
+		     __m128i index, const int scale)
 {
   __v2di src = __extension__ (__v2di){ 0, 0 };
   __v2di mask = __extension__ (__v2di){ ~0, ~0 };
@@ -1497,7 +1500,7 @@ _mm_i64gather_epi64 (int const *base, __m128i index, const int scale)
 
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i64gather_epi64 (__m128i src, int const *base, __m128i index,
+_mm_mask_i64gather_epi64 (__m128i src, long long int const *base, __m128i index,
 			  __m128i mask, const int scale)
 {
   return (__m128i) __builtin_ia32_gatherdiv2di ((__v2di)src,
@@ -1509,7 +1512,8 @@ _mm_mask_i64gather_epi64 (__m128i src, int const *base, __m128i index,
 
 extern __inline __m256i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i64gather_epi64 (int const *base, __m256i index, const int scale)
+_mm256_i64gather_epi64 (long long int const *base,
+			__m256i index, const int scale)
 {
   __v4di src = __extension__ (__v4di){ 0, 0, 0, 0 };
   __v4di mask = __extension__ (__v4di){ ~0, ~0, ~0, ~0 };
@@ -1523,7 +1527,7 @@ _mm256_i64gather_epi64 (int const *base, __m256i index, const int scale)
 
 extern __inline __m256i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i64gather_epi64 (__m256i src, int const *base,
+_mm256_mask_i64gather_epi64 (__m256i src, long long int const *base,
 			     __m256i index, __m256i mask, const int scale)
 {
   return (__m256i) __builtin_ia32_gatherdiv4di ((__v4di)src,
diff --git a/gcc/testsuite/ChangeLog.avx2 b/gcc/testsuite/ChangeLog.avx2
index e02750d..17f2d4e 100644
--- a/gcc/testsuite/ChangeLog.avx2
+++ b/gcc/testsuite/ChangeLog.avx2
@@ -1,3 +1,15 @@
+2011-06-22  Yukhin Kirill  <kirill.yukhin@intel.com>
+
+	* gcc.target/i386/avx2-vbroadcastsd_pd-2.c: Fixed test to run
+	on AVX2 machine, not AVX.
+	* gcc.target/i386/avx2-vbroadcastsi128-2.c: Likewise.
+	* gcc.target/i386/avx2-vbroadcastss_ps-2.c: Likewise.
+	* gcc.target/i386/avx2-vbroadcastss_ps256-2.c: Likewise.
+	* gcc.target/i386/avx2-vextracti128-2.c: Likewise.
+	* gcc.target/i386/avx2-vinserti128-2.c: Likewise.
+	* gcc.target/i386/avx2-vpmaskloadq256-2.c: Likewise.
+	* gcc.target/i386/avx2-vpmaskstoreq256-2.c: Likewise.
+
 2011-06-21  Yukhin Kirill  <kirill.yukhin@intel.com>
 
 	* gcc.target/i386/funcspec-5.c: Add avx2 and no-avx2 targets.
diff --git a/gcc/testsuite/gcc.target/i386/avx2-vbroadcastsd_pd-2.c b/gcc/testsuite/gcc.target/i386/avx2-vbroadcastsd_pd-2.c
index 669c1ac..f32e566 100644
--- a/gcc/testsuite/gcc.target/i386/avx2-vbroadcastsd_pd-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx2-vbroadcastsd_pd-2.c
@@ -3,10 +3,10 @@
 /* { dg-options "-O0 -mavx2" } */
 
 #include <string.h>
-#include "avx-check.h"
+#include "avx2-check.h"
 
 void static
-avx_test (void)
+avx2_test (void)
 {
   union128d s1;
   union256d res;
diff --git a/gcc/testsuite/gcc.target/i386/avx2-vbroadcastsi128-2.c b/gcc/testsuite/gcc.target/i386/avx2-vbroadcastsi128-2.c
index 767c436..14ccadf 100644
--- a/gcc/testsuite/gcc.target/i386/avx2-vbroadcastsi128-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx2-vbroadcastsi128-2.c
@@ -3,10 +3,10 @@
 /* { dg-options "-O0 -mavx2" } */
 
 #include <string.h>
-#include "avx-check.h"
+#include "avx2-check.h"
 
 void static
-avx_test (void)
+avx2_test (void)
 {
   union128i_q s1;
   union256i_q res;
diff --git a/gcc/testsuite/gcc.target/i386/avx2-vbroadcastss_ps-2.c b/gcc/testsuite/gcc.target/i386/avx2-vbroadcastss_ps-2.c
index 6f6c82a..6089819 100644
--- a/gcc/testsuite/gcc.target/i386/avx2-vbroadcastss_ps-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx2-vbroadcastss_ps-2.c
@@ -3,10 +3,10 @@
 /* { dg-options "-O0 -mavx2" } */
 
 #include <string.h>
-#include "avx-check.h"
+#include "avx2-check.h"
 
 void static
-avx_test (void)
+avx2_test (void)
 {
   union128 s1, res;
   float res_ref[4];
diff --git a/gcc/testsuite/gcc.target/i386/avx2-vbroadcastss_ps256-2.c b/gcc/testsuite/gcc.target/i386/avx2-vbroadcastss_ps256-2.c
index 5635765..aef8adc 100644
--- a/gcc/testsuite/gcc.target/i386/avx2-vbroadcastss_ps256-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx2-vbroadcastss_ps256-2.c
@@ -3,10 +3,10 @@
 /* { dg-options "-O0 -mavx2" } */
 
 #include <string.h>
-#include "avx-check.h"
+#include "avx2-check.h"
 
 void static
-avx_test (void)
+avx2_test (void)
 {
   union128 s1;
   union256 res;
diff --git a/gcc/testsuite/gcc.target/i386/avx2-vextracti128-2.c b/gcc/testsuite/gcc.target/i386/avx2-vextracti128-2.c
index eb22f74..3112581 100644
--- a/gcc/testsuite/gcc.target/i386/avx2-vextracti128-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx2-vextracti128-2.c
@@ -3,10 +3,10 @@
 /* { dg-options "-O0 -mavx2" } */
 
 #include <string.h>
-#include "avx-check.h"
+#include "avx2-check.h"
 
 void static
-avx_test (void)
+avx2_test (void)
 {
   union256i_q s1;
   union128i_q res;
diff --git a/gcc/testsuite/gcc.target/i386/avx2-vinserti128-2.c b/gcc/testsuite/gcc.target/i386/avx2-vinserti128-2.c
index 009d531..fe175d0 100644
--- a/gcc/testsuite/gcc.target/i386/avx2-vinserti128-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx2-vinserti128-2.c
@@ -3,10 +3,10 @@
 /* { dg-options "-O0 -mavx2" } */
 
 #include <string.h>
-#include "avx-check.h"
+#include "avx2-check.h"
 
 void static
-avx_test (void)
+avx2_test (void)
 {
   union256i_q s1, res;
   union128i_q s2;
diff --git a/gcc/testsuite/gcc.target/i386/avx2-vpmaskloadq256-2.c b/gcc/testsuite/gcc.target/i386/avx2-vpmaskloadq256-2.c
index e8fe549..b8fca38 100644
--- a/gcc/testsuite/gcc.target/i386/avx2-vpmaskloadq256-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx2-vpmaskloadq256-2.c
@@ -2,7 +2,7 @@
 /* { dg-require-effective-target avx2 } */
 /* { dg-options "-O0 -mavx2" } */
 
-#include "avx-check.h"
+#include "avx2-check.h"
 
 #ifndef MASK
 #define MASK 7
@@ -11,7 +11,7 @@
 #define mask_v(pos) (((MASK & (0x1ULL << (pos))) >> (pos)) << 63)
 
 void static
-avx_test (void)
+avx2_test (void)
 {
   int i;
   long long m[4] = {mask_v(0), mask_v(1), mask_v(2), mask_v(3)};
diff --git a/gcc/testsuite/gcc.target/i386/avx2-vpmaskstoreq256-2.c b/gcc/testsuite/gcc.target/i386/avx2-vpmaskstoreq256-2.c
index d65c67d..82d45fd 100644
--- a/gcc/testsuite/gcc.target/i386/avx2-vpmaskstoreq256-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx2-vpmaskstoreq256-2.c
@@ -2,7 +2,7 @@
 /* { dg-require-effective-target avx2 } */
 /* { dg-options "-O0 -mavx2" } */
 
-#include "avx-check.h"
+#include "avx2-check.h"
 
 #ifndef MASK
 #define MASK 6
@@ -11,7 +11,7 @@
 #define mask_v(pos) (((MASK & (0x1ULL << (pos))) >> (pos)) << 63)
 
 void static
-avx_test (void)
+avx2_test (void)
 {
   int i;
   long long m[4] = {mask_v(0), mask_v(1), mask_v(2), mask_v(3)};
