]> granicus.if.org Git - llvm/commit
[X86] Restore the pavg intrinsics.
authorCraig Topper <craig.topper@intel.com>
Mon, 15 Apr 2019 17:17:35 +0000 (17:17 +0000)
committerCraig Topper <craig.topper@intel.com>
Mon, 15 Apr 2019 17:17:35 +0000 (17:17 +0000)
commit592ca89b48ccab8b48e7e6fd9b13114ad3c515d8
treee3f380a2bf2fe4d99922a34c2fe272b6f75dd41e
parent848abc34f519039b2db95eb5a90ac8458ca45d35
[X86] Restore the pavg intrinsics.

The pattern we replaced these with may be too hard to match as demonstrated by
PR41496 and PR41316.

This patch restores the intrinsics and then we can start focusing
on the optimizing the intrinsics.

I've mostly reverted the original patch that removed them. Though I modified
the avx512 intrinsics to not have masking built in.

Differential Revision: https://reviews.llvm.org/D60674

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358427 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/IntrinsicsX86.td
lib/IR/AutoUpgrade.cpp
lib/Target/X86/X86IntrinsicsInfo.h
test/CodeGen/X86/avx2-intrinsics-fast-isel.ll
test/CodeGen/X86/avx2-intrinsics-x86-upgrade.ll
test/CodeGen/X86/avx2-intrinsics-x86.ll
test/CodeGen/X86/avx512bw-intrinsics.ll
test/CodeGen/X86/avx512bwvl-intrinsics.ll
test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll
test/CodeGen/X86/sse2-intrinsics-x86.ll