[Bug rtl-optimization/45678] [4.4/4.5/4.6 Regression] crash on vector code with -m32 -msse

hjl dot tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Sep 16 13:21:00 GMT 2010



------- Comment #11 from hjl dot tools at gmail dot com  2010-09-16 13:21 -------
This code:

      if (TREE_CODE (srcvar) == ADDR_EXPR
          && var_decl_component_p (TREE_OPERAND (srcvar, 0))
          && tree_int_cst_equal (TYPE_SIZE_UNIT (srctype), len)
          && (!STRICT_ALIGNMENT
              || !destvar
              || src_align >= TYPE_ALIGN (desttype)))
        srcvar = fold_build2 (MEM_REF, destvar ? desttype : srctype,
                              srcvar, off0);

does

float d[4];
__m128 *p = (__m128 *) &d;

and treats p as properly aligned.  I don't see how it can ever
work with SSE. It has nothing to do with stack alignment.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45678



More information about the Gcc-bugs mailing list