http://llvm.org/bugs/show_bug.cgi?id=20670

            Bug ID: 20670
           Summary: _mm_loadu_si128 parameter has wrong type
           Product: clang
           Version: trunk
          Hardware: PC
                OS: FreeBSD
            Status: NEW
          Severity: normal
          Priority: P
         Component: Headers
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

In <emmintrin.h>, _mm_loadu_si128 is declared as:

static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
_mm_loadu_si128(__m128i const *__p)

i.e., taking a (__m128i const *) parameter.  This is a bug, since __m128i is
16-byte aligned, and the whole point of the _mm_loadu_si128 is that it performs
*unaligned* loads -- so you're forcing people to write code which produces
"cast increases required alignment" warnings.

I realize that this was Intel's bug originally, but I don't see any reason why
you can't fix it.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to