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.