From c66c004ad610f4f02d5f065fe29c4c10f05ae13f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sat, 19 Sep 2020 09:57:16 -0700 Subject: [PATCH] x86: Add a testcase for PR target/96861 Add a testcase to verify that -march=skylake-avx512 -mtune=skylake-avx512 generates desired code sequence. PR target/96861 * gcc.target/i386/pr96861.c: New test. --- gcc/testsuite/gcc.target/i386/pr96861.c | 38 +++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 gcc/testsuite/gcc.target/i386/pr96861.c diff --git a/gcc/testsuite/gcc.target/i386/pr96861.c b/gcc/testsuite/gcc.target/i386/pr96861.c new file mode 100644 index 00000000000..7b7aeccb83c --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr96861.c @@ -0,0 +1,38 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mstv -march=skylake-avx512 -mtune=skylake-avx512" } */ + +#define max(a,b) (((a) > (b))? (a) : (b)) +#define min(a,b) (((a) < (b))? (a) : (b)) + +int smax1(int x) +{ + return max(x,1); +} + +int smin1(int x) +{ + return min(x,1); +} + +int smaxm1(int x) +{ + return max(x,-1); +} + +int sminm1(int x) +{ + return min(x,-1); +} + +unsigned int umax1(unsigned int x) +{ + return max(x,1); +} + +unsigned int umin1(unsigned int x) +{ + return min(x,1); +} + +/* { dg-final { scan-assembler-times "test" 6 } } */ +/* { dg-final { scan-assembler-not "cmp" } } */ -- 2.30.2