]> granicus.if.org Git - clang/commit
LLVM doesn't always optimize away the four loads from this:
authorBill Wendling <isanbard@gmail.com>
Thu, 12 May 2011 19:02:15 +0000 (19:02 +0000)
committerBill Wendling <isanbard@gmail.com>
Thu, 12 May 2011 19:02:15 +0000 (19:02 +0000)
commit0c9643008e5a35cac76cf3419b3308dcad97e53e
tree9f4ed2aec83abb4349e43ed1735c99fce0799931
parent211924b563aa31421836cee7655be729ad02733f
LLVM doesn't always optimize away the four loads from this:

     (__m128){ p[0], p[1], p[2], p[3] }

which produces really bad code. This could be done in instcombine, but it's
probably better to do it in the front-end instead.
<rdar://problem/9424836>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131237 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/BuiltinsX86.def
lib/CodeGen/CGBuiltin.cpp
lib/Headers/emmintrin.h
lib/Headers/xmmintrin.h
test/CodeGen/builtins-x86.c