Sorry for the inconvenience.  I've just added the obligatory
/* { dg-do compile { target { ! ia32 } } } */
to this new gcc.target/i386 test to resolve this failure.
Please let me know if there's a better fix.

2020-08-06  Roger Sayle  <ro...@nextmovesoftware.com>

gcc/testsuite/ChangeLog
        * gcc.target/i386/minmax-9.c: Restrict test to !ia32.

My apologies again.
Roger
--

-----Original Message-----
From: Jakub Jelinek <ja...@redhat.com> 
Sent: 06 August 2020 13:28
To: Roger Sayle <ro...@nextmovesoftware.com>
Cc: 'Uros Bizjak' <ubiz...@gmail.com>; 'GCC Patches'
<gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH] x86_64: Integer min/max improvements.

On Thu, Aug 06, 2020 at 09:40:49AM +0100, Roger Sayle wrote:

This test fails on i686-linux (or x86_64-linux when testing with -m32).
make check-gcc RUNTESTFLAGS='--target_board=unix\{-m32,-m64\}
i386.exp=minmax-9.c'
Running /usr/src/gcc/gcc/testsuite/gcc.target/i386/i386.exp ...
FAIL: gcc.target/i386/minmax-9.c scan-assembler-times test 3

> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/i386/minmax-9.c
> @@ -0,0 +1,23 @@
> +/* { dg-do compile } */
> +/* { dg-options "-Os" } */
> +
> +#define max(a,b) (((a) > (b))? (a) : (b)) #define min(a,b) (((a) < 
> +(b))? (a) : (b))
> +
> +int foo(int x)
> +{
> +  return max(x,0);
> +}
> +
> +int bar(int x)
> +{
> +  return min(x,0);
> +}
> +
> +unsigned int baz(unsigned int x)
> +{
> +  return min(x,1);
> +}
> +
> +/* { dg-final { scan-assembler-times "xor" 3 } } */
> +/* { dg-final { scan-assembler-times "test" 3 } } */

        Jakub


Reply via email to