https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117116
--- Comment #11 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Uroš Bizjak from comment #9) > (In reply to Uroš Bizjak from comment #8) > > + if (immediate_operand (x, inner_mode)) > > if (nonimmediate_operand (x, inner_mode)) Fails bootstrap for x86_32, ICEs in ix86_split_to_parts, at config/i386/i386-expand.cc:6213, trying to split: (const_vector:V2SI [ (const:SI (plus:SI (symbol_ref/i:SI ("_ZTCSd8_So") [flags 0x2] <var_decl 0x7f3812210cf0 _ZTCSd8_So>) (const_int 12 [0xc]))) (const:SI (plus:SI (symbol_ref:SI ("_ZTVSt9basic_iosIcSt11char_traitsIcEE") [flags 0x40] <var_decl 0x7f381274e360 _ZTVSt9basic_iosIcSt11char_traitsIcEE>) (const_int 8 [0x8]))) ]) The handling of CONST_VECTOR RTX is not adequate in ix86_split_to_parts, as the code assumes only CONST_INTs as vector elements. However, the above could easily be split and copied to a register pair.