This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/52407] sse2 simd uint32_t and int64_t and stack variable initialization


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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |x86_64-*-*

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-02-28 11:32:34 UTC ---
Hmm,

ix86_expand_vector_set

has for the V2DI case

      ix86_expand_vector_extract (false, tmp, target, 1 - elt);
      if (elt == 0)
        tmp = gen_rtx_VEC_CONCAT (mode, tmp, val);
      else
        tmp = gen_rtx_VEC_CONCAT (mode, val, tmp);

vs. for the V2DF case:

        tmp = gen_rtx_VEC_SELECT (inner_mode, target, tmp);

        if (elt == 0)
          op0 = val, op1 = tmp;
        else
          op0 = tmp, op1 = val;

        tmp = gen_rtx_VEC_CONCAT (mode, op0, op1);

looks the V2DI case has swapped operands.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]