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>;

Reply via email to