https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96015
--- Comment #7 from Martin Liška <marxin at gcc dot gnu.org> --- There's ASM diff in between GCC 9 and 10 version: diff -u good.s bad.s --- good.s 2020-07-01 15:04:58.315839436 +0200 +++ bad.s 2020-07-01 15:04:30.684040487 +0200 @@ -30,7 +30,7 @@ .L15: ldi 0,%r28 .L3: -.L25: +.L26: ldw -84(%r30),%r2 ldw -60(%r30),%r4 ldw -56(%r30),%r3 @@ -39,16 +39,14 @@ .L22: bl yes,%r2 nop - comib,=,n 0,%r28,.L25 + comib,=,n 0,%r28,.L26 ldi 0,%r28 - comclr,<> %r4,%r5,%r0 - b,n .L23 comiclr,<< 5,%r3,%r0 - b,n .L24 -.L6: -.L23: - comib,<< 5,%r3,.L26 + b,n .L25 +.L12: + b .L3 ldi 1,%r28 +.L25: ldil L'.L8,%r28 ldo R'.L8(%r28),%r28 ldwx,s %r3(%r28),%r28 @@ -65,34 +63,6 @@ .word .L12 .end_brtab .text -.L12: - ldi 1,%r28 -.L26: - ldw -84(%r30),%r2 - ldw -60(%r30),%r4 - ldw -56(%r30),%r3 - bv %r0(%r2) - ldwm -64(%r30),%r5 -.L24: - ldil L'.L11,%r28 - ldo R'.L11(%r28),%r28 - ldwx,s %r3(%r28),%r28 - bv,n %r0(%r28) - .section .rodata - .align 4 -.L11: - .begin_brtab - .word .L14 - .word .L15 - .word .L6 - .word .L15 - .word .L6 - .word .L15 - .end_brtab - .text -.L14: - b .L3 - copy %r3,%r28 .EXIT .PROCEND .size long_richcompare, .-long_richcompare @@ -143,4 +113,4 @@ .EXIT .PROCEND .size main, .-main - .ident "GCC: (SUSE Linux) 9.3.1 20200406 [revision 6db837a5288ee3ca5ec504fbd5a765817e556ac2]" + .ident "GCC: (SUSE Linux) 10.1.1 20200625 [revision c91e43e9363bd119a695d64505f96539fa451bf2]"