diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f40251bd529fc6cd945baa4f7a3b728409a8d19f..1e894a20bf09ddfb043ddf9eeb476da8aa1cd25e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 696822c3550cd8d50e5cca267cb85e2ad715d166..04ccd5faad2caff7f288784b1319c3adfd347892 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -521,12 +521,6 @@ ;; 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]) @@ -11249,17 +11243,17 @@ (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); @@ -11315,17 +11309,17 @@ 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);