[X86] Add X86ISD::VMFPROUND to handle the masked case of VCVTPD2PSZ128 which only...
authorCraig Topper <craig.topper@intel.com>
Sun, 13 Jan 2019 02:59:57 +0000 (02:59 +0000)
committerCraig Topper <craig.topper@intel.com>
Sun, 13 Jan 2019 02:59:57 +0000 (02:59 +0000)
commit4561edbec0355b68156fb809551f4dce90fdccb7
tree389b111af21992dd0aed063f3a22b5d006b3f3ed
parentb17d2136eae4d9003e2a04f89afc6cd6a56c966a
[X86] Add X86ISD::VMFPROUND to handle the masked case of VCVTPD2PSZ128 which only produces 2 result elements and zeroes the upper elements.

We can't represent this properly with vselect like we normally do. We also have to update the instruction definition to use a VK2WM mask instead of VK4WM to represent this.

Fixes another case from PR34877.

llvm-svn: 351017
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86ISelLowering.h
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
llvm/lib/Target/X86/X86IntrinsicsInfo.h