mbox series

[0/7] AVX512FP16: Support bunch of expanders for HFmode and vector HFmodes

Message ID 20210923054640.1406227-1-hongtao.liu@intel.com
Headers show
Series AVX512FP16: Support bunch of expanders for HFmode and vector HFmodes | expand

Message

liuhongt Sept. 23, 2021, 5:46 a.m. UTC
xfail are added for testcases related to truncmn2/extendmn2 expanders since V2HF/V4HFmode
are not supported yet, they should be removed later.

  Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}.
  Newly added runtime testcases passed on sde{-m32,}.

Hongyu Wang (5):
  AVX512FP16: Add expander for smin/maxhf3.
  AVX512FP16: Add fix(uns)?_truncmn2 for HF scalar and vector modes
  AVX512FP16: Add float(uns)?mn2 expander
  AVX512FP16: add truncmn2/extendmn2 expanders
  AVX512FP16: Enable vec_cmpmn/vcondmn expanders for HF modes.

liuhongt (2):
  AVX512FP16: Add expander for rint/nearbyinthf2.
  AVX512FP16: Add expander for fmahf4

 gcc/config/i386/i386-expand.c                 |   2 +
 gcc/config/i386/i386.md                       |  62 +++++
 gcc/config/i386/sse.md                        | 259 +++++++++++++++---
 .../i386/avx512fp16-vcondmn-minmax.C          |  25 ++
 .../g++.target/i386/avx512fp16-vcondmn-vec.C  |  70 +++++
 .../i386/avx512fp16-builtin-minmax-1.c        |  35 +++
 .../i386/avx512fp16-builtin-round-1.c         |  14 +
 .../gcc.target/i386/avx512fp16-floatvnhf.c    |  61 +++++
 .../gcc.target/i386/avx512fp16-fma-1.c        |  69 +++++
 .../i386/avx512fp16-trunc-extendvnhf.c        |  55 ++++
 .../gcc.target/i386/avx512fp16-trunchf.c      |  59 ++++
 .../gcc.target/i386/avx512fp16-truncvnhf.c    |  61 +++++
 .../i386/avx512fp16-vcondmn-loop-1.c          |  70 +++++
 .../i386/avx512fp16-vcondmn-loop-2.c          | 143 ++++++++++
 .../gcc.target/i386/avx512fp16-vec_cmpmn.c    |  32 +++
 .../gcc.target/i386/avx512fp16vl-fma-1.c      |  70 +++++
 .../i386/avx512fp16vl-fma-vectorize-1.c       |  45 +++
 17 files changed, 1100 insertions(+), 32 deletions(-)
 create mode 100644 gcc/testsuite/g++.target/i386/avx512fp16-vcondmn-minmax.C
 create mode 100644 gcc/testsuite/g++.target/i386/avx512fp16-vcondmn-vec.C
 create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-builtin-minmax-1.c
 create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-floatvnhf.c
 create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-fma-1.c
 create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-trunc-extendvnhf.c
 create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-trunchf.c
 create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-truncvnhf.c
 create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-vcondmn-loop-1.c
 create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-vcondmn-loop-2.c
 create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16-vec_cmpmn.c
 create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16vl-fma-1.c
 create mode 100644 gcc/testsuite/gcc.target/i386/avx512fp16vl-fma-vectorize-1.c