https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111601

--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Looking at the assembly difference, I see just a few functions:
--- cp/call.s2  2023-11-27 13:40:15.088908624 +0000
+++ cp/call.s1  2023-11-27 13:35:56.912298399 +0000
@@ -364,13 +364,12 @@ _ZL13splice_viableP11z_candidatebPb:
        std 9,0(10)
        mr 10,9
        li 11,0
-       addi 10,10,96
        li 7,1
        addi 6,6,1
        addi 12,12,1
        ld 9,96(9)
        std 9,0(8)
-       std 11,0(10)
+       std 11,96(10)
        stb 7,0(5)
        ori 2,2,0
        ld 9,0(8)
@@ -449,10 +448,9 @@ _ZL13splice_viableP11z_candidatebPb:
        .cfi_restore 25
        std 9,0(10)
        mr 10,9
-       addi 10,10,96
        li 26,0
-       ld 7,.LANCHOR0+136@toc@l(11)
        li 28,0
+       ld 7,.LANCHOR0+136@toc@l(11)
        addi 6,6,1
        addi 12,12,1
        addi 7,7,1
@@ -461,8 +459,9 @@ _ZL13splice_viableP11z_candidatebPb:
        li 11,0
        li 7,1
        std 9,0(8)
-       std 11,0(10)
+       std 11,96(10)
        stb 7,0(5)
+       ori 2,2,0
        ld 9,0(8)
        cmpdi 0,9,0
        bne 0,.L104
@@ -21377,24 +21376,22 @@ _ZN2wi5lts_pI16generic_wide_intINS_13ext
        nop
        addis 10,2,.LANCHOR0+5848@toc@ha
        mr 5,30
-       addi 29,1,64
        ld 9,.LANCHOR0+5848@toc@l(10)
-       std 3,0(29)
+       std 3,64(1)
        addi 3,1,48
-       std 4,8(29)
+       std 4,72(1)
        lis 4,0x2
        addi 9,9,1
        std 9,.LANCHOR0+5848@toc@l(10)
        bl
_ZN2wi10int_traitsI16generic_wide_intINS_13extended_treeILi131072EEEEE9decomposeEPljRKS4_
        nop
-       addi 9,1,32
        lwz 30,72(1)
        ld 29,64(1)
        rldicl 7,4,0,32
+       std 3,32(1)
+       std 4,40(1)
        mr 6,3
        cmplwi 0,7,1
-       std 3,0(9)
-       std 4,8(9)
        beq 0,.L2422
        addis 10,2,.LANCHOR0+5912@toc@ha
        rldicl 4,30,0,32
@@ -51700,10 +51697,9 @@ _ZL8op_errorRK13op_location_t9tree_codeS
        addis 7,2,.LC1285@toc@ha
        ld 7,.LC1285@toc@l(7)
        lbzx 10,10,5
-       addi 10,10,58
        sldi 10,10,5
        add 10,7,10
-       ld 29,8(10)
+       ld 29,1864(10)
 .L6276:
        cmpdi 0,30,0
        beq 0,.L6338
@@ -172014,7 +172010,7 @@ __gcov7._Z15good_conversionP9tree_nodeS0
        .long   1110716448
        .zero   4
        .quad   0
-       .long   285183267
+       .long   284929938
        .long   1725772321
        .quad   .LC2647
        .quad   __gcov_merge_add
While most of the changes look reasonable (but I haven't so far verified if the
removed additions turned into memory immediates set registers which aren't used
in other places),
the addition of ori 2,2,0 instruction seems kind of unexpected.

Reply via email to