]> granicus.if.org Git - clang/commit
[X86][SSE] Replace VPMOVSX and (V)PMOVZX integer extension intrinsics with generic...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 28 May 2016 08:12:45 +0000 (08:12 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 28 May 2016 08:12:45 +0000 (08:12 +0000)
commit35f542b1695deccab6a1fb689d849880e2aa4922
tree176ee5e94939f08e7d3a4e3b29af771f802e119b
parentddf13e224e3a784768022ba717b2ae1fb65ded73
[X86][SSE] Replace VPMOVSX and (V)PMOVZX integer extension intrinsics with generic IR (clang)

The VPMOVSX and (V)PMOVZX sign/zero extension intrinsics can be safely represented as generic __builtin_convertvector calls instead of x86 intrinsics.

This patch removes the clang builtins and their use in the sse2/avx headers - a companion patch will remove/auto-upgrade the llvm intrinsics.

Note: We already did this for SSE41 PMOVSX sometime ago.

Differential Revision: http://reviews.llvm.org/D20684

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@271106 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/BuiltinsX86.def
lib/Headers/avx2intrin.h
lib/Headers/smmintrin.h
test/CodeGen/avx2-builtins.c
test/CodeGen/builtins-x86.c
test/CodeGen/sse41-builtins.c