https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117444
Bug ID: 117444 Summary: [15 regression] Assembler output changes after r15-4756-g06bc3a734e8890 Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: seurer at gcc dot gnu.org Target Milestone: --- g:06bc3a734e88908cad1d3bf547a722b3f9597a0d, r15-4756-g06bc3a734e8890 make -k check-gcc RUNTESTFLAGS="powerpc.exp=gcc.target/powerpc/safe-indirect-jump-3.c" FAIL: gcc.target/powerpc/safe-indirect-jump-3.c scan-assembler crset FAIL: gcc.target/powerpc/safe-indirect-jump-3.c scan-assembler beqctr- FAIL: gcc.target/powerpc/safe-indirect-jump-3.c scan-assembler b \\$ commit 06bc3a734e88908cad1d3bf547a722b3f9597a0d (HEAD) Author: Andi Kleen <a...@gcc.gnu.org> Date: Tue Oct 15 13:15:09 2024 -0700 Disable -fbit-tests and -fjump-tables at -O0 I should note this test case uses a deprecated option: cc1: warning: '-mno-speculate-indirect-jumps' is deprecated and not recommended in any circumstances There are significant assembler differences: seurer@ltcden2-lp1:~/gcc/git/build/gcc-test$ diff safe-indirect-jump-3.s.r15-4755 safe-indirect-jump-3.s.r15-4756 25,26c25,26 < cmplwi 0,2,7 < bgt 0,.L2 --- > cmpwi 0,2,7 > beq 0,.L2 28,50c28,66 < sldi 9,2,2 < pla 2,.L4@pcrel < add 2,9,2 < lwz 2,0(2) < extsw 9,2 < pla 2,.L4@pcrel < add 2,9,2 < mtctr 2 < crset 2 < beqctr- 0 < b $ < .p2align 2 < .align 2 < .L4: < .long .L11-.L4 < .long .L10-.L4 < .long .L9-.L4 < .long .L8-.L4 < .long .L7-.L4 < .long .L6-.L4 < .long .L5-.L4 < .long .L3-.L4 < .L2: --- > cmpwi 0,2,7 > bgt 0,.L3 > lwz 2,48(31) > cmpwi 0,2,6 > beq 0,.L4 > lwz 2,48(31) > cmpwi 0,2,6 > bgt 0,.L3 > lwz 2,48(31) > cmpwi 0,2,5 > beq 0,.L5 > lwz 2,48(31) > cmpwi 0,2,5 > bgt 0,.L3 > lwz 2,48(31) > cmpwi 0,2,4 > beq 0,.L6 > lwz 2,48(31) > cmpwi 0,2,4 > bgt 0,.L3 > lwz 2,48(31) > cmpwi 0,2,3 > beq 0,.L7 > lwz 2,48(31) > cmpwi 0,2,3 > bgt 0,.L3 > lwz 2,48(31) > cmpwi 0,2,2 > beq 0,.L8 > lwz 2,48(31) > cmpwi 0,2,2 > bgt 0,.L3 > lwz 2,48(31) > cmpwi 0,2,0 > beq 0,.L9 > lwz 2,48(31) > cmpwi 0,2,1 > beq 0,.L10 (and a bunch of label differences)