https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115661
--- Comment #4 from Sam James <sjames at gcc dot gnu.org> --- This fixes it for me as a hack: ``` --- a/gcc/config/i386/i386-expand.cc +++ b/gcc/config/i386/i386-expand.cc @@ -412,20 +412,10 @@ ix86_expand_move (machine_mode mode, rtx operands[]) } else { -#if TARGET_PECOFF - tmp = legitimize_pe_coff_symbol (op1, addend != NULL_RTX); - if (tmp) - { - op1 = tmp; - if (!addend) - break; - } - else { op1 = operands[1]; break; } -#endif } if (addend) ``` Before r15-1599-g63512c72df09b4, legitimize_pe_coff_symbol would return NULL_RTX for non-PECOFF targets, so the else branch would get taken.