On Wed, 2 Mar 2016, Uros Bizjak wrote: > On Wed, Mar 2, 2016 at 9:54 AM, Richard Biener <rguent...@suse.de> wrote: > > > > The following fix from Uros properly (not) handles XFmode vectors in > > type_natural_mode. > > > > Bootstrapped and tested on x86_64-unknown-linux-gnu by Uros, applied. > > > > Richard. > > > > 2016-03-02 Richard Biener <rguent...@suse.de> > > Uros Bizjak <ubiz...@gmail.com> > > > > PR target/67278 > > * config/i386/i386.c (type_natural_mode): Handle XFmode vectors. > > > > * gcc.dg/simd-8.c: New testcase. > > > > Index: gcc/config/i386/i386.c > > =================================================================== > > --- gcc/config/i386/i386.c (revision 233897) > > +++ gcc/config/i386/i386.c (working copy) > > @@ -7794,6 +7794,10 @@ type_natural_mode (const_tree type, cons > > { > > machine_mode innermode = TYPE_MODE (TREE_TYPE (type)); > > > > + /* There are no XFmode vector modes. */ > > + if (innermode = XFmode) > > No, not assignment "=" , but comparison "==" here!
Argh. Fixed. Richard. 2016-03-02 Richard Biener <rguent...@suse.de> * config/i386/i386.c (type_natural_mode): Fix typo. Index: gcc/config/i386/i386.c =================================================================== --- gcc/config/i386/i386.c (revision 233900) +++ gcc/config/i386/i386.c (working copy) @@ -7795,7 +7795,7 @@ type_natural_mode (const_tree type, cons machine_mode innermode = TYPE_MODE (TREE_TYPE (type)); /* There are no XFmode vector modes. */ - if (innermode = XFmode) + if (innermode == XFmode) return mode; if (TREE_CODE (TREE_TYPE (type)) == REAL_TYPE)