http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59471
--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> --- The reason I added this verification is that code does not expect those to appear at non-outermost handled-component. a V_C_E around a vector type B_F_R should have been split into two different stmts with a temporary. Eventually gimplification doesn't ensure this (and thus force_gimple_operand and friends may generate invalid gimple). So the fix probably has a piece in gimplify.c at least - make sure is_gimple_reg_type () B_F_R, RP_E, IP_E get a temporary. RP_E and IP_E are probably safe as complex types are quite constrained.