> 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