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)

Reply via email to