> -Original Message-
> From: Hu, Lin1
> Sent: Tuesday, September 3, 2024 2:05 PM
> To: Jakub Jelinek ; Andrew Pinski ;
> Liu, Hongtao
> Cc: Jiang, Haochen ; Richard Biener
> ; gcc-patches@gcc.gnu.org; ubiz...@gmail.com
> Subject: RE: [PATCH 2/8] i386: Optim
> -Original Message-
> From: Jakub Jelinek
> Sent: Tuesday, September 3, 2024 2:56 AM
> To: Andrew Pinski
> Cc: Jiang, Haochen ; Richard Biener
> ; gcc-patches@gcc.gnu.org; Liu, Hongtao
> ; ubiz...@gmail.com; Hu, Lin1
> Subject: Re: [PATCH 2/8] i386: Optim
On Mon, Sep 02, 2024 at 11:25:36AM -0700, Andrew Pinski wrote:
> On Mon, Sep 2, 2024 at 11:20 AM Jakub Jelinek wrote:
> >
> > On Mon, Aug 26, 2024 at 02:42:31PM +0800, Haochen Jiang wrote:
> > > * match.pd: Optimize (and ordered non-equal) to
> > > (not (or unordered equal))
> > >
> >
On Mon, Sep 2, 2024 at 11:20 AM Jakub Jelinek wrote:
>
> On Mon, Aug 26, 2024 at 02:42:31PM +0800, Haochen Jiang wrote:
> > * match.pd: Optimize (and ordered non-equal) to
> > (not (or unordered equal))
> >
> > gcc/testsuite/ChangeLog:
> >
> > * gcc.target/i386/optimize_one.c: N
On Mon, Aug 26, 2024 at 02:42:31PM +0800, Haochen Jiang wrote:
> * match.pd: Optimize (and ordered non-equal) to
> (not (or unordered equal))
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/i386/optimize_one.c: New test.
The testcase FAILs on i686-linux, because it uses -mfpmath
From: "Hu, Lin1"
Currently, when we input !__builtin_isunordered (a, b) && (a != b), gcc
will emit
ucomiss %xmm1, %xmm0
movl $1, %ecx
setp %dl
setnp %al
cmovne %ecx, %edx
andl %edx, %eax
movzbl %al, %eax
In fact,
xorl %eax, %eax
ucomiss %xmm1, %xmm0
setne %al
is better.
gcc/