Instead of copying some tests from gcc/testsuite/gcc.target/i386, I created new tests. The i386 tests in question used rand() to generate the input data and assembly to compute the rounded values. Using rand() for testing seems wrong, and the assembly is obviously not portable. I use static data, primarily exercising the edges of dynamic ranges (where fractions start to be unrepresentable).
Paul A. Clarke (2): rs6000: Add support for SSE4.1 "ceil" intrinsics rs6000: Add tests for SSE4.1 "ceil" intrinsics gcc/config/rs6000/smmintrin.h | 28 +++++ .../gcc.target/powerpc/sse4_1-ceilpd.c | 51 ++++++++ .../gcc.target/powerpc/sse4_1-ceilps.c | 33 +++++ .../gcc.target/powerpc/sse4_1-ceilsd.c | 119 ++++++++++++++++++ .../gcc.target/powerpc/sse4_1-ceilss.c | 95 ++++++++++++++ .../gcc.target/powerpc/sse4_1-check.h | 4 + .../gcc.target/powerpc/sse4_1-round-data.h | 20 +++ .../gcc.target/powerpc/sse4_1-round.h | 27 ++++ .../gcc.target/powerpc/sse4_1-round2.h | 27 ++++ .../gcc.target/powerpc/sse4_1-roundpd-3.c | 36 ++++++ 10 files changed, 440 insertions(+) create mode 100644 gcc/testsuite/gcc.target/powerpc/sse4_1-ceilpd.c create mode 100644 gcc/testsuite/gcc.target/powerpc/sse4_1-ceilps.c create mode 100644 gcc/testsuite/gcc.target/powerpc/sse4_1-ceilsd.c create mode 100644 gcc/testsuite/gcc.target/powerpc/sse4_1-ceilss.c create mode 100644 gcc/testsuite/gcc.target/powerpc/sse4_1-round-data.h create mode 100644 gcc/testsuite/gcc.target/powerpc/sse4_1-round.h create mode 100644 gcc/testsuite/gcc.target/powerpc/sse4_1-round2.h create mode 100644 gcc/testsuite/gcc.target/powerpc/sse4_1-roundpd-3.c -- 2.27.0