https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109549
Bug ID: 109549
Summary: [14 Regression] cmov6.c test fail after commit
r14-53-g675b1a7f113adb1d737adaf78b4fd90be7a0ed1a
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: haochen.jiang at intel dot com
Target Milestone: ---
After commit r14-53-g675b1a7f113adb1d737adaf78b4fd90be7a0ed1a with the fix of
removing @gol fix, we got a scan asm fail for gcc.target/i386/cmov6.c.
We can reproduce that by command:
make check-gcc RUNTESTFLAGS="i386.exp=cmov6.c --target_board='unix{-m32,}'"
The previous codegen is:
foo:
.LFB0:
.cfi_startproc
movl 4(%esp), %eax
movl $20, %edx
testl %eax, %eax
movl $10, %eax
cmovne 8(%esp), %edx
cmove 12(%esp), %eax
movl %edx, 8(%esp)
movl %eax, 4(%esp)
jmp bar
.cfi_endproc
The current codegen is:
foo:
.LFB0:
.cfi_startproc
movl 4(%esp), %ecx
movl 8(%esp), %edx
movl 12(%esp), %eax
testl %ecx, %ecx
je .L3
movl $10, %eax
movl %edx, 8(%esp)
movl %eax, 4(%esp)
jmp bar
.p2align 4,,7
.p2align 3
.L3:
movl $20, %edx
movl %eax, 4(%esp)
movl %edx, 8(%esp)
jmp bar
.cfi_endproc
BTW, I saw Andrew's patch fixing cmov:
https://gcc.gnu.org/pipermail/gcc-patches/2023-April/616088.html
Is that related?