Support cond_{smax,smin,umax,umin} for vector integer modes under AVX512.
authorliuhongt <hongtao.liu@intel.com>
Wed, 4 Aug 2021 08:03:58 +0000 (16:03 +0800)
committerliuhongt <hongtao.liu@intel.com>
Thu, 5 Aug 2021 01:11:28 +0000 (09:11 +0800)
commit9a8c3fc2b2cc6d73b2e3006625fca2b588ebc1b0
treea06021e8f78cead7cc97c0996feed455a0992ed3
parent2697f8324fbb09b0d92036ba6a6b8a2b8d256b23
Support cond_{smax,smin,umax,umin} for vector integer modes under AVX512.

gcc/ChangeLog:

* config/i386/sse.md (cond_<code><mode>): New expander.

gcc/testsuite/ChangeLog:

* gcc.target/i386/cond_op_maxmin_b-1.c: New test.
* gcc.target/i386/cond_op_maxmin_b-2.c: New test.
* gcc.target/i386/cond_op_maxmin_d-1.c: New test.
* gcc.target/i386/cond_op_maxmin_d-2.c: New test.
* gcc.target/i386/cond_op_maxmin_q-1.c: New test.
* gcc.target/i386/cond_op_maxmin_q-2.c: New test.
* gcc.target/i386/cond_op_maxmin_ub-1.c: New test.
* gcc.target/i386/cond_op_maxmin_ub-2.c: New test.
* gcc.target/i386/cond_op_maxmin_ud-1.c: New test.
* gcc.target/i386/cond_op_maxmin_ud-2.c: New test.
* gcc.target/i386/cond_op_maxmin_uq-1.c: New test.
* gcc.target/i386/cond_op_maxmin_uq-2.c: New test.
* gcc.target/i386/cond_op_maxmin_uw-1.c: New test.
* gcc.target/i386/cond_op_maxmin_uw-2.c: New test.
* gcc.target/i386/cond_op_maxmin_w-1.c: New test.
* gcc.target/i386/cond_op_maxmin_w-2.c: New test.
17 files changed:
gcc/config/i386/sse.md
gcc/testsuite/gcc.target/i386/cond_op_maxmin_b-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_b-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_d-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_d-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_q-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_q-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_ub-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_ub-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_ud-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_ud-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_uq-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_uq-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_uw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_uw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_w-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cond_op_maxmin_w-2.c [new file with mode: 0644]