Re: [r14-2310 Regression] FAIL: gcc.target/i386/pr53652-1.c scan-assembler-times pandn[ \\t] 2 on Linux/x86_64

2023-07-07 Thread Hongtao Liu via Gcc-patches
On Fri, Jul 7, 2023 at 3:34 PM Jan Beulich  wrote:
>
> On 07.07.2023 09:30, Hongtao Liu wrote:
> > On Fri, Jul 7, 2023 at 3:13 PM Jan Beulich via Gcc-regression
> >  wrote:
> >>
> >> On 06.07.2023 13:57, haochen.jiang wrote:
> >>> On Linux/x86_64,
> >>>
> >>> 2d11c99dfca3cc603dbbfafb3afc41689a68e40f is the first bad commit
> >>> commit 2d11c99dfca3cc603dbbfafb3afc41689a68e40f
> >>> Author: Jan Beulich 
> >>> Date:   Wed Jul 5 09:41:09 2023 +0200
> >>>
> >>> x86: use VPTERNLOG also for certain andnot forms
> >>>
> >>> caused
> >>>
> >>> FAIL: gcc.target/i386/pr53652-1.c scan-assembler-not vpternlogq[ \\t]
> >>
> >> The respective expectation was never valid to add without excluding
> >> cases where -march= overrides (extends) the -msse2 that the test
> >> specifies explicitly. I'm afraid I don't know how to tweak a testcase
> >> to properly deal with that. Perhaps (like iirc was suggested elsewhere)
> >> -mno-avx512f, but honestly this approach feels clumsy to me. Cc-ing
> >> Hongtao, who I think suggested that approach elsewhere.
> >>
> >>> FAIL: gcc.target/i386/pr53652-1.c scan-assembler-times pandn[ \\t] 2
> > There're a false dependence when using pternlog for andnot(and other
> > newly added) pattern, i'm working on a patch to avoid that(PR110438).
> > Let me handle the test case.
>
> Of course I'm happy to see you handle the testcase, but if you don't
> mind I'm curious towards the connection you see between that false
> dependency issue and the adjustments missing in this (and other)
> testcase(s).
For the sake of simplicity, add -mno-avx512f should be ok, the
testcase is used to detect optimization on non-avx512 targets.
I'll add extra testcases to cover false dependence case.
>
> Jan



-- 
BR,
Hongtao


Re: [r14-2310 Regression] FAIL: gcc.target/i386/pr53652-1.c scan-assembler-times pandn[ \\t] 2 on Linux/x86_64

2023-07-07 Thread Jan Beulich via Gcc-patches
On 07.07.2023 09:30, Hongtao Liu wrote:
> On Fri, Jul 7, 2023 at 3:13 PM Jan Beulich via Gcc-regression
>  wrote:
>>
>> On 06.07.2023 13:57, haochen.jiang wrote:
>>> On Linux/x86_64,
>>>
>>> 2d11c99dfca3cc603dbbfafb3afc41689a68e40f is the first bad commit
>>> commit 2d11c99dfca3cc603dbbfafb3afc41689a68e40f
>>> Author: Jan Beulich 
>>> Date:   Wed Jul 5 09:41:09 2023 +0200
>>>
>>> x86: use VPTERNLOG also for certain andnot forms
>>>
>>> caused
>>>
>>> FAIL: gcc.target/i386/pr53652-1.c scan-assembler-not vpternlogq[ \\t]
>>
>> The respective expectation was never valid to add without excluding
>> cases where -march= overrides (extends) the -msse2 that the test
>> specifies explicitly. I'm afraid I don't know how to tweak a testcase
>> to properly deal with that. Perhaps (like iirc was suggested elsewhere)
>> -mno-avx512f, but honestly this approach feels clumsy to me. Cc-ing
>> Hongtao, who I think suggested that approach elsewhere.
>>
>>> FAIL: gcc.target/i386/pr53652-1.c scan-assembler-times pandn[ \\t] 2
> There're a false dependence when using pternlog for andnot(and other
> newly added) pattern, i'm working on a patch to avoid that(PR110438).
> Let me handle the test case.

Of course I'm happy to see you handle the testcase, but if you don't
mind I'm curious towards the connection you see between that false
dependency issue and the adjustments missing in this (and other)
testcase(s).

Jan


Re: [r14-2310 Regression] FAIL: gcc.target/i386/pr53652-1.c scan-assembler-times pandn[ \\t] 2 on Linux/x86_64

2023-07-07 Thread Hongtao Liu via Gcc-patches
On Fri, Jul 7, 2023 at 3:13 PM Jan Beulich via Gcc-regression
 wrote:
>
> On 06.07.2023 13:57, haochen.jiang wrote:
> > On Linux/x86_64,
> >
> > 2d11c99dfca3cc603dbbfafb3afc41689a68e40f is the first bad commit
> > commit 2d11c99dfca3cc603dbbfafb3afc41689a68e40f
> > Author: Jan Beulich 
> > Date:   Wed Jul 5 09:41:09 2023 +0200
> >
> > x86: use VPTERNLOG also for certain andnot forms
> >
> > caused
> >
> > FAIL: gcc.target/i386/pr53652-1.c scan-assembler-not vpternlogq[ \\t]
>
> The respective expectation was never valid to add without excluding
> cases where -march= overrides (extends) the -msse2 that the test
> specifies explicitly. I'm afraid I don't know how to tweak a testcase
> to properly deal with that. Perhaps (like iirc was suggested elsewhere)
> -mno-avx512f, but honestly this approach feels clumsy to me. Cc-ing
> Hongtao, who I think suggested that approach elsewhere.
>
> > FAIL: gcc.target/i386/pr53652-1.c scan-assembler-times pandn[ \\t] 2
There're a false dependence when using pternlog for andnot(and other
newly added) pattern, i'm working on a patch to avoid that(PR110438).
Let me handle the test case.
>
> Aiui this is merely a knock-on effect.
>
> Jan
>
> > with GCC configured with
> >
> > ../../gcc/configure 
> > --prefix=/export/users/haochenj/src/gcc-bisect/master/master/r14-2310/usr 
> > --enable-clocale=gnu --with-system-zlib --with-demangler-in-ld 
> > --with-fpmath=sse --enable-languages=c,c++,fortran --enable-cet 
> > --without-isl --enable-libmpx x86_64-linux --disable-bootstrap
> >
> > To reproduce:
> >
> > $ cd {build_dir}/gcc && make check 
> > RUNTESTFLAGS="i386.exp=gcc.target/i386/pr53652-1.c 
> > --target_board='unix{-m32\ -march=cascadelake}'"
> > $ cd {build_dir}/gcc && make check 
> > RUNTESTFLAGS="i386.exp=gcc.target/i386/pr53652-1.c 
> > --target_board='unix{-m64\ -march=cascadelake}'"
> >
> > (Please do not reply to this email, for question about this report, contact 
> > me at haochen dot jiang at intel.com)
>


-- 
BR,
Hongtao


Re: [r14-2310 Regression] FAIL: gcc.target/i386/pr53652-1.c scan-assembler-times pandn[ \\t] 2 on Linux/x86_64

2023-07-07 Thread Jan Beulich via Gcc-patches
On 06.07.2023 13:57, haochen.jiang wrote:
> On Linux/x86_64,
> 
> 2d11c99dfca3cc603dbbfafb3afc41689a68e40f is the first bad commit
> commit 2d11c99dfca3cc603dbbfafb3afc41689a68e40f
> Author: Jan Beulich 
> Date:   Wed Jul 5 09:41:09 2023 +0200
> 
> x86: use VPTERNLOG also for certain andnot forms
> 
> caused
> 
> FAIL: gcc.target/i386/pr53652-1.c scan-assembler-not vpternlogq[ \\t]

The respective expectation was never valid to add without excluding
cases where -march= overrides (extends) the -msse2 that the test
specifies explicitly. I'm afraid I don't know how to tweak a testcase
to properly deal with that. Perhaps (like iirc was suggested elsewhere)
-mno-avx512f, but honestly this approach feels clumsy to me. Cc-ing
Hongtao, who I think suggested that approach elsewhere.

> FAIL: gcc.target/i386/pr53652-1.c scan-assembler-times pandn[ \\t] 2

Aiui this is merely a knock-on effect.

Jan

> with GCC configured with
> 
> ../../gcc/configure 
> --prefix=/export/users/haochenj/src/gcc-bisect/master/master/r14-2310/usr 
> --enable-clocale=gnu --with-system-zlib --with-demangler-in-ld 
> --with-fpmath=sse --enable-languages=c,c++,fortran --enable-cet --without-isl 
> --enable-libmpx x86_64-linux --disable-bootstrap
> 
> To reproduce:
> 
> $ cd {build_dir}/gcc && make check 
> RUNTESTFLAGS="i386.exp=gcc.target/i386/pr53652-1.c --target_board='unix{-m32\ 
> -march=cascadelake}'"
> $ cd {build_dir}/gcc && make check 
> RUNTESTFLAGS="i386.exp=gcc.target/i386/pr53652-1.c --target_board='unix{-m64\ 
> -march=cascadelake}'"
> 
> (Please do not reply to this email, for question about this report, contact 
> me at haochen dot jiang at intel.com)



[r14-2310 Regression] FAIL: gcc.target/i386/pr53652-1.c scan-assembler-times pandn[ \\t] 2 on Linux/x86_64

2023-07-06 Thread haochen.jiang via Gcc-patches
On Linux/x86_64,

2d11c99dfca3cc603dbbfafb3afc41689a68e40f is the first bad commit
commit 2d11c99dfca3cc603dbbfafb3afc41689a68e40f
Author: Jan Beulich 
Date:   Wed Jul 5 09:41:09 2023 +0200

x86: use VPTERNLOG also for certain andnot forms

caused

FAIL: gcc.target/i386/pr53652-1.c scan-assembler-not vpternlogq[ \\t]
FAIL: gcc.target/i386/pr53652-1.c scan-assembler-times pandn[ \\t] 2

with GCC configured with

../../gcc/configure 
--prefix=/export/users/haochenj/src/gcc-bisect/master/master/r14-2310/usr 
--enable-clocale=gnu --with-system-zlib --with-demangler-in-ld 
--with-fpmath=sse --enable-languages=c,c++,fortran --enable-cet --without-isl 
--enable-libmpx x86_64-linux --disable-bootstrap

To reproduce:

$ cd {build_dir}/gcc && make check 
RUNTESTFLAGS="i386.exp=gcc.target/i386/pr53652-1.c --target_board='unix{-m32\ 
-march=cascadelake}'"
$ cd {build_dir}/gcc && make check 
RUNTESTFLAGS="i386.exp=gcc.target/i386/pr53652-1.c --target_board='unix{-m64\ 
-march=cascadelake}'"

(Please do not reply to this email, for question about this report, contact me 
at haochen dot jiang at intel.com)