http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61108
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2014-05-08 Component|tree-optimization |target Ever confirmed|0 |1 --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The problem looks related to WIDEN_MULT_EVEN_EXPR/WIDEN_MULT_ODD_EXPR . If we add an assignment from t to an array, we get WIDEN_MULT_LO_EXPR/WIDEN_MULT_HI_EXPR which works. So in the end this is a target issue since this is correct at tree level and it looks like it is just an expansion of that is causing the issue.