Re: [r17-3570 Regression] FAIL: gcc.target/i386/sse4_1-stv-12.c scan-assembler-times (movaps|vmovdqa) 4 on Linux/x86_64

"H.J. Lu via Gcc-regression" <[email protected]>
Newsgroups gmane.comp.gcc.regression,gmane.comp.gcc.patches
Message-ID <CAMe9rOoU3K96vE_W3F9TUk8UGzSqtC=rpFtqUkdw=L1FFXMzOA@mail.gmail.com>
On Mon, Aug 24, 2026 at 8:05 PM Jakub Jelinek <[email protected]> wrote:
>
> On Mon, Aug 24, 2026 at 07:58:54PM +0800, H.J. Lu wrote:
> > On Mon, Aug 24, 2026 at 7:41 PM Haochen Jiang <[email protected]> wrote:
> > >
> > > On Linux/x86_64,
> > >
> > > b8c1b044a4b2884577d3094513a25abcef1161ee is the first bad commit
> > > commit b8c1b044a4b2884577d3094513a25abcef1161ee
> > > Author: H.J. Lu <[email protected]>
> > > Date:   Mon Aug 24 08:08:06 2026 +0800
> > >
> > >     Scan both movaps and vmovdqa in SSE4.1 STV tests
> > >
> > > caused
> > >
> > > FAIL: gcc.target/i386/sse4_1-stv-11.c scan-assembler-times (movaps|vmovdqa) 4
> > > FAIL: gcc.target/i386/sse4_1-stv-12.c scan-assembler-times (movaps|vmovdqa) 4
> >
> > These tests failed before my patch.
>
> Shouldn't that be
> /* { dg-final { scan-assembler-times "(?:movaps|vmovdqa)" 4 } } */
> or so?
> Without ?: the () is counted too I think.
>

/* { dg-final { scan-assembler-times "(movaps|vmovdqa)" 4 } } */

works for me with

$ make check-gcc RUNTESTFLAGS="--target_board='unix{-march=x86-64}'
i386.exp=sse4_1-stv-11.c"
$ make check-gcc RUNTESTFLAGS="--target_board='unix{-march=x86-64-v4}'
i386.exp=sse4_1-stv-11.c"

while -march=cascadelake generates:

foo:
.LFB0:
.cfi_startproc
movq %rdi, m0(%rip)
movq $0, m0+8(%rip)
movq %rdi, m1(%rip)
movq $0, m1+8(%rip)
movq %rdi, m2(%rip)
movq $0, m2+8(%rip)
movq %rdi, m3(%rip)
movq $0, m3+8(%rip)
ret
.cfi_endproc

-- 
H.J.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.