https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102107
Segher Boessenkool <segher at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |segher at gcc dot gnu.org --- Comment #6 from Segher Boessenkool <segher at gcc dot gnu.org> --- I get (-mcpu=power10 -mabi=elfv2 -O2): .L2: ld 9,0(30) # 59 [c=8 l=4] *movdi_internal64/1 addi 1,1,112 # 124 [c=4 l=4] *adddi3/1 .cfi_def_cfa_offset 0 li 3,0 # 63 [c=4 l=4] *movdi_internal64/3 ld 0,16(1) # 125 [c=8 l=4] *movdi_internal64/1 ld 31,-8(1) # 129 [c=8 l=4] *movdi_internal64/1 ld 12,0(9) # 62 [c=8 l=4] *movdi_internal64/1 addi 9,9,8 # 60 [c=4 l=4] *adddi3/1 std 9,0(30) # 61 [c=4 l=4] *movdi_internal64/0 ld 30,-16(1) # 128 [c=8 l=4] *movdi_internal64/1 mtlr 0 # 127 [c=4 l=4] *movdi_internal64/23 .cfi_restore 65 mtctr 12 # 103 [c=4 l=4] *movdi_internal64/23 lwz 12,8(1) # 126 [c=8 l=4] *movsi_internal1/2 mtcrf 8,12 # 130 [c=4 l=4] *mtcrfsi .cfi_restore 72 .cfi_restore 31 .cfi_restore 30 bctr # 66 [c=4 l=4] *sibcall_value_aixdi/1 This looks just fine. What is wrong with your build?