[LLVMbugs] [Bug 20670] New: _mm_loadu_si128 parameter has wrong type

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Aug 14 20:07:16 PDT 2014


            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: unassignedclangbugs at nondot.org
          Reporter: cperciva at freebsd.org
                CC: llvmbugs at cs.uiuc.edu
    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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140815/c8e6a174/attachment.html>

More information about the llvm-bugs mailing list