i386.md (VI_512): Remove.
authorUros Bizjak <ubizjak@gmail.com>
Tue, 27 Dec 2016 17:20:15 +0000 (18:20 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 27 Dec 2016 17:20:15 +0000 (18:20 +0100)
* config/i386/i386.md (VI_512): Remove.
(vcond<V_512:mode><VI_AVX512BW:mode>): Use VI_AVX512BW
mode iterator instead of VI_512.
(vcondu<V_512:mode><VI_AVX512BW:mode>): Ditto.

From-SVN: r243943

gcc/ChangeLog
gcc/config/i386/sse.md

index f40251bd529fc6cd945baa4f7a3b728409a8d19f..1e894a20bf09ddfb043ddf9eeb476da8aa1cd25e 100644 (file)
@@ -1,3 +1,10 @@
+2016-12-27  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (VI_512): Remove.
+       (vcond<V_512:mode><VI_AVX512BW:mode>): Use VI_AVX512BW
+       mode iterator instead of VI_512.
+       (vcondu<V_512:mode><VI_AVX512BW:mode>): Ditto.
+
 2016-12-27  Jakub Jelinek  <jakub@redhat.com>
 
        PR translation/78922
index 696822c3550cd8d50e5cca267cb85e2ad715d166..04ccd5faad2caff7f288784b1319c3adfd347892 100644 (file)
 ;; All 256bit vector integer modes
 (define_mode_iterator VI_256 [V32QI V16HI V8SI V4DI])
 
-;; All 512bit vector integer modes
-(define_mode_iterator VI_512
-  [(V64QI "TARGET_AVX512BW")
-   (V32HI "TARGET_AVX512BW")
-   V16SI V8DI])
-
 ;; Various 128bit vector integer mode combinations
 (define_mode_iterator VI12_128 [V16QI V8HI])
 (define_mode_iterator VI14_128 [V16QI V4SI])
    (set_attr "prefix" "orig,vex")
    (set_attr "mode" "TI")])
 
-(define_expand "vcond<V_512:mode><VI_512:mode>"
+(define_expand "vcond<V_512:mode><VI_AVX512BW:mode>"
   [(set (match_operand:V_512 0 "register_operand")
        (if_then_else:V_512
          (match_operator 3 ""
-           [(match_operand:VI_512 4 "nonimmediate_operand")
-            (match_operand:VI_512 5 "general_operand")])
+           [(match_operand:VI_AVX512BW 4 "nonimmediate_operand")
+            (match_operand:VI_AVX512BW 5 "general_operand")])
          (match_operand:V_512 1)
          (match_operand:V_512 2)))]
   "TARGET_AVX512F
    && (GET_MODE_NUNITS (<V_512:MODE>mode)
-       == GET_MODE_NUNITS (<VI_512:MODE>mode))"
+       == GET_MODE_NUNITS (<VI_AVX512BW:MODE>mode))"
 {
   bool ok = ix86_expand_int_vcond (operands);
   gcc_assert (ok);
   DONE;
 })
 
-(define_expand "vcondu<V_512:mode><VI_512:mode>"
+(define_expand "vcondu<V_512:mode><VI_AVX512BW:mode>"
   [(set (match_operand:V_512 0 "register_operand")
        (if_then_else:V_512
          (match_operator 3 ""
-           [(match_operand:VI_512 4 "nonimmediate_operand")
-            (match_operand:VI_512 5 "nonimmediate_operand")])
+           [(match_operand:VI_AVX512BW 4 "nonimmediate_operand")
+            (match_operand:VI_AVX512BW 5 "nonimmediate_operand")])
          (match_operand:V_512 1 "general_operand")
          (match_operand:V_512 2 "general_operand")))]
   "TARGET_AVX512F
    && (GET_MODE_NUNITS (<V_512:MODE>mode)
-       == GET_MODE_NUNITS (<VI_512:MODE>mode))"
+       == GET_MODE_NUNITS (<VI_AVX512BW:MODE>mode))"
 {
   bool ok = ix86_expand_int_vcond (operands);
   gcc_assert (ok);