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])