Robin, given the time since submission, I would suggest a fresh bootstrap and
regression test on x86. Given the V4 passed on x86 and aarch64 in the past
and earlier versions tested well on s390, I think just the sanity check on
x86 is needed.
There are a few regressions on riscv which are all XPASSes. I'll adjust the
tests.
aarch64 is still running but on x86 I noticed two regressions for pr116896.c
and pr116896-1.C. Here we if-convert two functions that we didn't before so
the explicit check for a branch fails.
Jakub, you did the spaceship cmov adjustments last year.
Is a change like the following where we introduce a cmov ok? It looks like two
of the four functions in the test file were already branchless.
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
--
Regards
Robin