Hello,
This patch extends VI mode iterator.

Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.

Is it ok for trunk?

gcc/
        * config/i386/i386.c
        (ix86_expand_vector_logical_operator): Handle V16SF and V8DF modes.
        * config/i386/sse.md
        (define_mode_iterator VI): Add V64QI and V32HI modes.

--
Thanks, K

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index d759a45..257e12b 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -17502,8 +17502,10 @@ ix86_expand_vector_logical_operator (enum rtx_code 
code, enum machine_mode mode,
        {
        case V4SFmode:
        case V8SFmode:
+       case V16SFmode:
        case V2DFmode:
        case V4DFmode:
+       case V8DFmode:
          dst = gen_reg_rtx (GET_MODE (SUBREG_REG (op1)));
          if (GET_CODE (op2) == CONST_VECTOR)
            {
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index cf415c3..852cb30 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -265,8 +265,8 @@
 ;; All vector integer modes
 (define_mode_iterator VI
   [(V16SI "TARGET_AVX512F") (V8DI "TARGET_AVX512F")
-   (V32QI "TARGET_AVX") V16QI
-   (V16HI "TARGET_AVX") V8HI
+   (V64QI "TARGET_AVX512BW") (V32QI "TARGET_AVX") V16QI
+   (V32HI "TARGET_AVX512BW") (V16HI "TARGET_AVX") V8HI
    (V8SI "TARGET_AVX") V4SI
    (V4DI "TARGET_AVX") V2DI])
 

Reply via email to