[X86] Remove all of the avx512 masked packed fma intrinsics. Use llvm.fma or unmasked...
authorCraig Topper <craig.topper@intel.com>
Fri, 6 Jul 2018 03:42:09 +0000 (03:42 +0000)
committerCraig Topper <craig.topper@intel.com>
Fri, 6 Jul 2018 03:42:09 +0000 (03:42 +0000)
commit7b35585ff13d833e4736f8169c9ea200dd011aeb
tree98607c17c8067d09eea336be755773ba4e99a5da
parent4ea8949697828da0f702024b9fb2b23a19c69924
[X86] Remove all of the avx512 masked packed fma intrinsics. Use llvm.fma or unmasked 512-bit intrinsics with rounding mode.

This upgrades all of the intrinsics to use fneg instructions to convert fma into fmsub/fnmsub/fnmadd/fmsubadd. And uses a select instruction for masking.

This matches how clang uses the intrinsics these days.

llvm-svn: 336409
llvm/include/llvm/IR/IntrinsicsX86.td
llvm/lib/IR/AutoUpgrade.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86IntrinsicsInfo.h
llvm/test/CodeGen/X86/avx512-fma-intrinsics.ll
llvm/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
llvm/test/CodeGen/X86/avx512vl-intrinsics.ll