https://gcc.gnu.org/bugzilla/show_bug.cgi?id=29756
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2016-05-10 Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- So what is missing here is avoiding 'v' for _26 = BIT_FIELD_REF <v_13(D), 32, 0>; BIT_FIELD_REF <v, 32, 0> = _26; v.1_24 = v; _25 = __builtin_ia32_shufps (v.1_24, v.1_24, 0); v ={v} {CLOBBER}; which can be done with a new BIT_FIELD_EXPR like so: v_24 = BIT_FIELD_EXPR <v_n(D), _26, 32, 0>;