]> granicus.if.org Git - clang/commit
[X86] Use undefined instead of setzero in shufflevector based intrinsics when the...
authorCraig Topper <craig.topper@gmail.com>
Mon, 4 Jul 2016 22:18:01 +0000 (22:18 +0000)
committerCraig Topper <craig.topper@gmail.com>
Mon, 4 Jul 2016 22:18:01 +0000 (22:18 +0000)
commitbf0295e9294348694b7b203149fb108be098c56c
treecaee87c995777afaea6982d8c3c538299a467e66
parentd32b7518d301e1e140e7e7d7dd5f1c94c6ac602e
[X86] Use undefined instead of setzero in shufflevector based intrinsics when the second source is unused. Rewrite immediate extractions in shuffle intrinsics to be in ((c >> x) & y) form instead of ((c & z) >> x). This way only x varies between each use instead of having to vary x and z.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@274525 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Headers/avx2intrin.h
lib/Headers/avx512bwintrin.h
lib/Headers/avx512fintrin.h
lib/Headers/avx512vlintrin.h
lib/Headers/avxintrin.h
lib/Headers/emmintrin.h
lib/Headers/xmmintrin.h
test/CodeGen/avx-builtins.c
test/CodeGen/avx2-builtins.c
test/CodeGen/avx512f-builtins.c
test/CodeGen/avx512vl-builtins.c