OSDN Git Service

[X86] Remove the pmuldq/pmuldq intrinsics and replace with native IR.
authorCraig Topper <craig.topper@intel.com>
Fri, 13 Apr 2018 06:07:18 +0000 (06:07 +0000)
committerCraig Topper <craig.topper@intel.com>
Fri, 13 Apr 2018 06:07:18 +0000 (06:07 +0000)
commit754a558235b728e9c9ffc8519177cab26c30da76
tree2cb8437f31f6a65d9d3eb4c99efb1ad11b897eef
parentedd00e40e68e3d59022ae6b5ae0dc92530468dc0
[X86] Remove the pmuldq/pmuldq intrinsics and replace with native IR.

This completes the work started in r329604 and r329605 when we changed clang to no longer use the intrinsics.

We lost some InstCombine SimplifyDemandedBit optimizations through this change as we aren't able to fold 'and', bitcast, shuffle very well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329990 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
include/llvm/IR/IntrinsicsX86.td
lib/IR/AutoUpgrade.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Transforms/InstCombine/InstCombineCalls.cpp
lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
test/CodeGen/X86/avx2-intrinsics-x86-upgrade.ll
test/CodeGen/X86/avx2-intrinsics-x86.ll
test/CodeGen/X86/avx512-intrinsics-upgrade.ll
test/CodeGen/X86/avx512-intrinsics.ll
test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
test/CodeGen/X86/avx512vl-intrinsics.ll
test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll
test/CodeGen/X86/sse2-intrinsics-x86.ll
test/CodeGen/X86/sse41-intrinsics-fast-isel.ll
test/CodeGen/X86/sse41-intrinsics-x86-upgrade.ll
test/CodeGen/X86/sse41-intrinsics-x86.ll
test/Transforms/InstCombine/X86/x86-muldq.ll