[r16-3760 Regression] FAIL: g++.target/i386/pr116896-1.C -std=gnu++23 scan-assembler-times \tjp\t 1 on Linux/x86_64

Robin Dapp rdapp.gcc@gmail.com
Fri Sep 12 06:53:05 GMT 2025


> FAIL: gcc.target/i386/pr116896.c scan-assembler-times \tjp\t 2
> FAIL: g++.target/i386/pr116896-1.C  -std=gnu++20  scan-assembler-times \tjp\t 1
> FAIL: g++.target/i386/pr116896-1.C  -std=gnu++23  scan-assembler-times \tjp\t 1
> FAIL: g++.target/i386/pr116896-1.C  -std=gnu++26  scan-assembler-times \tjp\t 1
>
> with GCC configured with
>
> ../../gcc/configure --prefix=/export/users3/haochenj/src/gcc-bisect/master/master/r16-3760/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
>

Grml, I had seen this error during testing but it didn't appear any more during 
the final round with the latest patch version.

This is the difference:

Before:

foo:
.LFB0:
        .cfi_startproc
        xorl    %eax, %eax
        vcomiss %xmm1, %xmm0
        jp      .L2
        seta    %al
        sbbl    $0, %eax
        ret
.L2:
        movl    $2, %eax
        ret
	.cfi_endproc

After:

foo:
.LFB0:
        .cfi_startproc
        xorl    %eax, %eax
        vcomiss %xmm1, %xmm0
        movl    $2, %edx
        seta    %al
        sbbl    $0, %eax
        vucomiss        %xmm1, %xmm0
        cmovp   %edx, %eax
        ret
	.cfi_endproc

Is the "before" what we want, given the two other functions in the test are 
branchless?  I suppose so, as the if-converted sequence is pretty lengthy.

-- 
Regards
 Robin



More information about the Gcc-regression mailing list