[AVX-512] Split X86ISD::VFPROUND and X86ISD::VFPEXT into separate opcodes for each...
authorCraig Topper <craig.topper@gmail.com>
Fri, 23 Sep 2016 06:24:43 +0000 (06:24 +0000)
committerCraig Topper <craig.topper@gmail.com>
Fri, 23 Sep 2016 06:24:43 +0000 (06:24 +0000)
commita02e3948727f9a0d492680e9d494db2b747c3169
treec848bd2470d9efc9e23add598881b8539eb8174e
parent3174b6e467011c10b2c6a896e3a53c639c56c987
[AVX-512] Split X86ISD::VFPROUND and X86ISD::VFPEXT into separate opcodes for each type constraint.

This revealed that scalar intrinsics could create nodes with a rounding mode of FROUND_CUR_DIRECTION, but the patterns didn't check for it. It just worked because isel doesn't check operand count and we had a pattern without the rounding mode argument at all.

llvm-svn: 282231
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