[0/1] target: Fix asm generation for AVX builtins when using -masm=intel [PR106095]

Message ID 165637956824.13615.7247999336313533072-0@git.sr.ht
Headers
Series target: Fix asm generation for AVX builtins when using -masm=intel [PR106095] |

Message

Antoni Boucher June 28, 2022, 1:26 a.m. UTC
  Hi.

This fixes the following bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106095

It's the first time I work outside of the jit component, so please tell
me if I forgot anything.

Here are the results of running the test:

		=== gcc Summary ===

# of expected passes		182481
# of unexpected failures	91
# of unexpected successes	20
# of expected failures		1475
# of unsupported tests		2535

		=== g++ Summary ===

# of expected passes		231596
# of unexpected failures	1
# of expected failures		2083
# of unsupported tests		9948

		=== jit Summary ===

# of expected passes		14542
# of unexpected failures	1

		=== libstdc++ Summary ===

# of expected passes		15538
# of expected failures		95
# of unsupported tests		653

		=== libgomp Summary ===

# of expected passes		5012
# of expected failures		33
# of unsupported tests		323

		=== libitm Summary ===

# of expected passes		44
# of expected failures		3
# of unsupported tests		1

		=== libatomic Summary ===

# of expected passes		54

It's the first time I run the whole testsuite, so I'm not sure if those
failures are normal. I got more unexpected failures for the gcc tests
than what is shown in https://gcc.gnu.org/pipermail/gcc-
testresults/2022-June/764154.html. In any case, I get the same failures
when running the testsuite on master. Perhaps my configure command is
wrong? I used the following:

../../gcc/configure --enable-host-shared --enable-
languages=c,jit,c++,lto --enable-checking=release
--prefix=(pwd)/../install

Thanks for the review.

Antoni Boucher (1):
  target: Fix asm generation for AVX builtins when using -masm=intel
    [PR106095]

 gcc/config/i386/sse.md                   | 10 ++---
 gcc/testsuite/gcc.target/i386/pr106095.c | 47 ++++++++++++++++++++++++
 2 files changed, 52 insertions(+), 5 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/i386/pr106095.c
  

Comments

Hongtao Liu June 28, 2022, 6:22 a.m. UTC | #1
On Tue, Jun 28, 2022 at 9:26 AM ~antoyo via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Hi.
>
> This fixes the following bug:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106095
The patch LGTM, thanks for handling this.
>
> It's the first time I work outside of the jit component, so please tell
> me if I forgot anything.
>
> Here are the results of running the test:
>
>                 === gcc Summary ===
>
> # of expected passes            182481
> # of unexpected failures        91
> # of unexpected successes       20
> # of expected failures          1475
> # of unsupported tests          2535
>
>                 === g++ Summary ===
>
> # of expected passes            231596
> # of unexpected failures        1
> # of expected failures          2083
> # of unsupported tests          9948
>
>                 === jit Summary ===
>
> # of expected passes            14542
> # of unexpected failures        1
>
>                 === libstdc++ Summary ===
>
> # of expected passes            15538
> # of expected failures          95
> # of unsupported tests          653
>
>                 === libgomp Summary ===
>
> # of expected passes            5012
> # of expected failures          33
> # of unsupported tests          323
>
>                 === libitm Summary ===
>
> # of expected passes            44
> # of expected failures          3
> # of unsupported tests          1
>
>                 === libatomic Summary ===
>
> # of expected passes            54
>
> It's the first time I run the whole testsuite, so I'm not sure if those
> failures are normal. I got more unexpected failures for the gcc tests
> than what is shown in https://gcc.gnu.org/pipermail/gcc-
> testresults/2022-June/764154.html. In any case, I get the same failures
> when running the testsuite on master. Perhaps my configure command is
> wrong? I used the following:
You can use ./contrib/compare_tests to see if there's no failure or new pass.
./contrib/compara_tests is under gcc top directory.
>
> ../../gcc/configure --enable-host-shared --enable-
> languages=c,jit,c++,lto --enable-checking=release
> --prefix=(pwd)/../install
>
--enable-checking=release will give up some internal checks to
increase the compilation speed, for the development trunk, it is
better not to use release.
> Thanks for the review.
>
> Antoni Boucher (1):
>   target: Fix asm generation for AVX builtins when using -masm=intel
>     [PR106095]
>
>  gcc/config/i386/sse.md                   | 10 ++---
>  gcc/testsuite/gcc.target/i386/pr106095.c | 47 ++++++++++++++++++++++++
>  2 files changed, 52 insertions(+), 5 deletions(-)
>  create mode 100644 gcc/testsuite/gcc.target/i386/pr106095.c
>
> --
> 2.34.2
  
Antoni Boucher June 28, 2022, 3:16 p.m. UTC | #2
Thanks for the review.
Does this mean I can commit it, assuming the output of compare_tests is
good?

By the way, I wanted to mention that it was my first time playing with
the assembly generation, so I was not sure about my changes (even
though it makes the test case compile, I'm not sure it doesn't have any
unintended side effects):
It looked to me that the register qualifiers should be the same for
both AT&T and Intel syntaxes, but I'm might be wrong about this.

On Tue, 2022-06-28 at 14:22 +0800, Hongtao Liu wrote:
> On Tue, Jun 28, 2022 at 9:26 AM ~antoyo via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
> > 
> > Hi.
> > 
> > This fixes the following bug:
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106095
> The patch LGTM, thanks for handling this.
> > 
> > It's the first time I work outside of the jit component, so please
> > tell
> > me if I forgot anything.
> > 
> > Here are the results of running the test:
> > 
> >                 === gcc Summary ===
> > 
> > # of expected passes            182481
> > # of unexpected failures        91
> > # of unexpected successes       20
> > # of expected failures          1475
> > # of unsupported tests          2535
> > 
> >                 === g++ Summary ===
> > 
> > # of expected passes            231596
> > # of unexpected failures        1
> > # of expected failures          2083
> > # of unsupported tests          9948
> > 
> >                 === jit Summary ===
> > 
> > # of expected passes            14542
> > # of unexpected failures        1
> > 
> >                 === libstdc++ Summary ===
> > 
> > # of expected passes            15538
> > # of expected failures          95
> > # of unsupported tests          653
> > 
> >                 === libgomp Summary ===
> > 
> > # of expected passes            5012
> > # of expected failures          33
> > # of unsupported tests          323
> > 
> >                 === libitm Summary ===
> > 
> > # of expected passes            44
> > # of expected failures          3
> > # of unsupported tests          1
> > 
> >                 === libatomic Summary ===
> > 
> > # of expected passes            54
> > 
> > It's the first time I run the whole testsuite, so I'm not sure if
> > those
> > failures are normal. I got more unexpected failures for the gcc
> > tests
> > than what is shown in https://gcc.gnu.org/pipermail/gcc-
> > testresults/2022-June/764154.html. In any case, I get the same
> > failures
> > when running the testsuite on master. Perhaps my configure command
> > is
> > wrong? I used the following:
> You can use ./contrib/compare_tests to see if there's no failure or
> new pass.
> ./contrib/compara_tests is under gcc top directory.
> > 
> > ../../gcc/configure --enable-host-shared --enable-
> > languages=c,jit,c++,lto --enable-checking=release
> > --prefix=(pwd)/../install
> > 
> --enable-checking=release will give up some internal checks to
> increase the compilation speed, for the development trunk, it is
> better not to use release.
> > Thanks for the review.
> > 
> > Antoni Boucher (1):
> >   target: Fix asm generation for AVX builtins when using -
> > masm=intel
> >     [PR106095]
> > 
> >  gcc/config/i386/sse.md                   | 10 ++---
> >  gcc/testsuite/gcc.target/i386/pr106095.c | 47
> > ++++++++++++++++++++++++
> >  2 files changed, 52 insertions(+), 5 deletions(-)
> >  create mode 100644 gcc/testsuite/gcc.target/i386/pr106095.c
> > 
> > --
> > 2.34.2
> 
> 
>
  
Hongtao Liu June 29, 2022, 1:20 a.m. UTC | #3
On Tue, Jun 28, 2022 at 11:16 PM Antoni Boucher <bouanto@zoho.com> wrote:
>
> Thanks for the review.
> Does this mean I can commit it, assuming the output of compare_tests is
> good?
Yes.
>
> By the way, I wanted to mention that it was my first time playing with
> the assembly generation, so I was not sure about my changes (even
> though it makes the test case compile, I'm not sure it doesn't have any
> unintended side effects):
> It looked to me that the register qualifiers should be the same for
> both AT&T and Intel syntaxes, but I'm might be wrong about this.
Yes for the case in your patch, I think it's a typo.
But there could be some difference for operand modifiers between AT&T
and Intel syntaxes in some patterns.
.i.e the use of mode attr <iptr>.

>
> On Tue, 2022-06-28 at 14:22 +0800, Hongtao Liu wrote:
> > On Tue, Jun 28, 2022 at 9:26 AM ~antoyo via Gcc-patches
> > <gcc-patches@gcc.gnu.org> wrote:
> > >
> > > Hi.
> > >
> > > This fixes the following bug:
> > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106095
> > The patch LGTM, thanks for handling this.
> > >
> > > It's the first time I work outside of the jit component, so please
> > > tell
> > > me if I forgot anything.
> > >
> > > Here are the results of running the test:
> > >
> > >                 === gcc Summary ===
> > >
> > > # of expected passes            182481
> > > # of unexpected failures        91
> > > # of unexpected successes       20
> > > # of expected failures          1475
> > > # of unsupported tests          2535
> > >
> > >                 === g++ Summary ===
> > >
> > > # of expected passes            231596
> > > # of unexpected failures        1
> > > # of expected failures          2083
> > > # of unsupported tests          9948
> > >
> > >                 === jit Summary ===
> > >
> > > # of expected passes            14542
> > > # of unexpected failures        1
> > >
> > >                 === libstdc++ Summary ===
> > >
> > > # of expected passes            15538
> > > # of expected failures          95
> > > # of unsupported tests          653
> > >
> > >                 === libgomp Summary ===
> > >
> > > # of expected passes            5012
> > > # of expected failures          33
> > > # of unsupported tests          323
> > >
> > >                 === libitm Summary ===
> > >
> > > # of expected passes            44
> > > # of expected failures          3
> > > # of unsupported tests          1
> > >
> > >                 === libatomic Summary ===
> > >
> > > # of expected passes            54
> > >
> > > It's the first time I run the whole testsuite, so I'm not sure if
> > > those
> > > failures are normal. I got more unexpected failures for the gcc
> > > tests
> > > than what is shown in https://gcc.gnu.org/pipermail/gcc-
> > > testresults/2022-June/764154.html. In any case, I get the same
> > > failures
> > > when running the testsuite on master. Perhaps my configure command
> > > is
> > > wrong? I used the following:
> > You can use ./contrib/compare_tests to see if there's no failure or
> > new pass.
> > ./contrib/compara_tests is under gcc top directory.
> > >
> > > ../../gcc/configure --enable-host-shared --enable-
> > > languages=c,jit,c++,lto --enable-checking=release
> > > --prefix=(pwd)/../install
> > >
> > --enable-checking=release will give up some internal checks to
> > increase the compilation speed, for the development trunk, it is
> > better not to use release.
> > > Thanks for the review.
> > >
> > > Antoni Boucher (1):
> > >   target: Fix asm generation for AVX builtins when using -
> > > masm=intel
> > >     [PR106095]
> > >
> > >  gcc/config/i386/sse.md                   | 10 ++---
> > >  gcc/testsuite/gcc.target/i386/pr106095.c | 47
> > > ++++++++++++++++++++++++
> > >  2 files changed, 52 insertions(+), 5 deletions(-)
> > >  create mode 100644 gcc/testsuite/gcc.target/i386/pr106095.c
> > >
> > > --
> > > 2.34.2
> >
> >
> >
>


--
BR,
Hongtao