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

Reply via email to