[X86][SSE] Replace 128-bit SSE41 PMOVSX intrinsics with native IR
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 23 Sep 2015 08:48:33 +0000 (08:48 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 23 Sep 2015 08:48:33 +0000 (08:48 +0000)
commite0a23dddf0bd886ec533fe66daae415dd3cbd94c
tree0aafabfec1a9cd63b06986eabef8a42766d8efcb
parent6d6e2b5a353078b06224a501b51ceb39d115bfbc
[X86][SSE] Replace 128-bit SSE41 PMOVSX intrinsics with native IR

This patches removes the x86.sse41.pmovsx* intrinsics, provides a suitable upgrade path and updates relevant tests to sign extend a subvector instead.

LLVM counterpart to D12835

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@248368 91177308-0d34-0410-b5e6-96231b3b80d8
lib/IR/AutoUpgrade.cpp
lib/Target/X86/X86IntrinsicsInfo.h
lib/Transforms/InstCombine/InstCombineCalls.cpp
test/CodeGen/X86/avx-intrinsics-x86-upgrade.ll
test/CodeGen/X86/avx-intrinsics-x86.ll
test/CodeGen/X86/sse41-intrinsics-x86-upgrade.ll
test/CodeGen/X86/sse41-intrinsics-x86.ll
test/CodeGen/X86/sse41-pmovxrm-intrinsics.ll
test/CodeGen/X86/sse41.ll