rs6000: Support SSE4.1 "min" and "max" intrinsics
authorPaul A. Clarke <pc@us.ibm.com>
Tue, 20 Jul 2021 16:20:43 +0000 (11:20 -0500)
committerPaul A. Clarke <pc@us.ibm.com>
Tue, 12 Oct 2021 01:26:14 +0000 (20:26 -0500)
commit2be6f6d4980d0ca54c4f593a46ff82ef228a928d
tree654551a71e7a749527677701474f4fce04304cdb
parent732d7638479295546db3ee4da00a08faef97232d
rs6000: Support SSE4.1 "min" and "max" intrinsics

Function signatures and decorations match gcc/config/i386/smmintrin.h.

Also, copy tests for _mm_min_epi8, _mm_min_epu16, _mm_min_epi32,
_mm_min_epu32, _mm_max_epi8, _mm_max_epu16, _mm_max_epi32, _mm_max_epu32
from gcc/testsuite/gcc.target/i386.

sse4_1-pmaxsb.c and sse4_1-pminsb.c were modified from using
"char" types to "signed char" types, because the default is unsigned on
powerpc.

2021-10-11  Paul A. Clarke  <pc@us.ibm.com>

gcc
* config/rs6000/smmintrin.h (_mm_min_epi8, _mm_min_epu16,
_mm_min_epi32, _mm_min_epu32, _mm_max_epi8, _mm_max_epu16,
_mm_max_epi32, _mm_max_epu32): New.

gcc/testsuite
* gcc.target/powerpc/sse4_1-pmaxsb.c: Copy from gcc.target/i386.
* gcc.target/powerpc/sse4_1-pmaxsd.c: Same.
* gcc.target/powerpc/sse4_1-pmaxud.c: Same.
* gcc.target/powerpc/sse4_1-pmaxuw.c: Same.
* gcc.target/powerpc/sse4_1-pminsb.c: Same.
* gcc.target/powerpc/sse4_1-pminsd.c: Same.
* gcc.target/powerpc/sse4_1-pminud.c: Same.
* gcc.target/powerpc/sse4_1-pminuw.c: Same.
gcc/config/rs6000/smmintrin.h
gcc/testsuite/gcc.target/powerpc/sse4_1-pmaxsb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/sse4_1-pmaxsd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/sse4_1-pmaxud.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/sse4_1-pmaxuw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/sse4_1-pminsb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/sse4_1-pminsd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/sse4_1-pminud.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/sse4_1-pminuw.c [new file with mode: 0644]