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/43225] Structure copies not vectorized


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

--- Comment #4 from Alexander Strange <astrange at ithinksw dot com> 2011-03-29 20:39:28 UTC ---
Better source:

#include <emmintrin.h>

struct a1 { char l[16];} __attribute__((aligned));
struct a2 { __m128i l; } __attribute__((aligned));

void f1(struct a1 *a, struct a1 *b)
{
    *a = *b;
}

void f2(struct a2 *a, struct a2 *b)
{
    *a = *b;
}

void f3(__m128i *a, __m128i *b)
{
    *a = *b;
}

Code is the same as above in svn. LLVM uses movaps for all three functions.


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