commit b14e198a920cb0b7539f78fde3b65fd72daa134e
Author: Kirill Yukhin <kirill.yukhin@intel.com>
Date:   Mon Jun 20 19:03:34 2011 +0400

    Immediates fixed in AVX2 insnsn.

diff --git a/gcc/ChangeLog.avx2 b/gcc/ChangeLog.avx2
index 39765f5..ec4e36a 100644
--- a/gcc/ChangeLog.avx2
+++ b/gcc/ChangeLog.avx2
@@ -1,3 +1,10 @@
++2011-06-20  Yukhin Kirill  <kirill.yukhin@intel.com>
+
+	* gcc/config/i386/sse.md (avx2_pshufdv3): Fixed immediate's
+	predicate.
+	(avx2_pshuflwv3): Likewise.
+	(avx2_pshufhwv3): Likewise.
+
 2011-06-10  Yukhin Kirill  <kirill.yukhin@intel.com>
 
 	* config/i386/avx2intrin.h (*gather*): Fixed all gather*
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 6f84dbb..352cf93 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -6823,7 +6823,7 @@
 (define_expand "avx2_pshufdv3"
   [(match_operand:V8SI 0 "register_operand" "")
    (match_operand:V8SI 1 "nonimmediate_operand" "")
-   (match_operand:SI 2 "const_int_operand" "")]
+   (match_operand:SI 2 "const_0_to_255_operand" "")]
   "TARGET_AVX2"
 {
   int mask = INTVAL (operands[2]);
@@ -6906,7 +6906,7 @@
 (define_expand "avx2_pshuflwv3"
   [(match_operand:V16HI 0 "register_operand" "")
    (match_operand:V16HI 1 "nonimmediate_operand" "")
-   (match_operand:SI 2 "const_int_operand" "")]
+   (match_operand:SI 2 "const_0_to_255_operand" "")]
   "TARGET_AVX2"
 {
   int mask = INTVAL (operands[2]);
@@ -7002,7 +7002,7 @@
 (define_expand "avx2_pshufhwv3"
   [(match_operand:V16HI 0 "register_operand" "")
    (match_operand:V16HI 1 "nonimmediate_operand" "")
-   (match_operand:SI 2 "const_int_operand" "")]
+   (match_operand:SI 2 "const_0_to_255_operand" "")]
   "TARGET_AVX2"
 {
   int mask = INTVAL (operands[2]);
