https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63534
--- Comment #31 from Stupachenko Evgeny <evstupac at gmail dot com> --- (In reply to Jeffrey A. Law from comment #29) > I thought we had already dealt with the "hidden" GOT usages that show up > during reload... Is it IRA that's removing the SET_GOT? That is not EQUIV related case. SET_GOT is removed by CSE called at IRA. Here we have insn that don't use GOT register implicitly: (insn 37 34 38 6 (set (mem:TF (pre_dec:SI (reg/f:SI 7 sp)) [0 S16 A8]) (const_double:TF 2.0769187434139310514121985316880384e+34 [0x0.8p+115])) frexpq.c:1316 121 {*pushtf} (expr_list:REG_ARGS_SIZE (const_int 16 [0x10]) (nil))) It appears that there are no other insns using GOT or calls. Therefore CSE absolutely correct in removing SET_GOT.