https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121007
--- Comment #7 from Segher Boessenkool <segher at gcc dot gnu.org> --- Cool, thanks! 121007.c:36:3: warning: 'v4' may be used uninitialized [-Wmaybe-uninitialized] No clue why it says "may be" there, it obviously *is* used uninitialised, this is the first time it is used after all, and that code is always executed. Well, bar() isn't necessarily ever called, it is maybe about that :-) It works fine with -mcpu=power{7,8,10} , and it fails in LRA for -mcpu=power9, as in #c1 . Considering alt=0 of insn 21: (0) =r (1) %r (2) r 2 Operand reload: losers++ 2 Non-pseudo reload: reject+=2 2 Non input pseudo reload: reject++ overall=9,losers=1,rld_nregs=1 Considering alt=1 of insn 21: (0) r (1) r (2) I overall=0,losers=0,rld_nregs=0 Considering alt=0 of insn 21: (0) =r (1) %r (2) r 1 Operand reload: losers++ 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ overall=9,losers=1 -- refuse Considering alt=1 of insn 21: (0) r (1) r (2) I 1 Operand reload: losers++ 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ overall=9,losers=1 -- refuse Choosing alt 1 in insn 21: (0) r (1) r (2) I {muldi3} Changing address in insn 58 r218:DI&0xfffffffffffffff0 on equiv sfp:DI+0x70&0xfffffffffffffff0 Creating newreg=224, assigning class BASE_REGS to base r224 Creating newreg=225, assigning class BASE_REGS to base r225 (etc., I stopped it before it reached seven digits)