[Bug target/43225] Structure copies not vectorized

astrange at ithinksw dot com gcc-bugzilla@gcc.gnu.org
Tue Mar 29 20:51:00 GMT 2011


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.



More information about the Gcc-bugs mailing list