[X86] Lower AVX512 and SSE intrinsics for CVTTPD2DQ to X86ISD::CVTTPD2DQ.
authorCraig Topper <craig.topper@gmail.com>
Wed, 9 Nov 2016 07:31:32 +0000 (07:31 +0000)
committerCraig Topper <craig.topper@gmail.com>
Wed, 9 Nov 2016 07:31:32 +0000 (07:31 +0000)
commit731bf9c5d61752bf63bf2d0eb11d7d63e9543a93
tree7bbb3806547d639e7a014822d79abb9ae3bf8844
parentef1807fb73ee2004b7af72fb219c8fd1ad5faf09
[X86] Lower AVX512 and SSE intrinsics for CVTTPD2DQ to X86ISD::CVTTPD2DQ.

Summary: This allows the SSE intrinsic to use the EVEX instruction when available. It also fixes EVEX to not use a weird (v4i32 (fp_to_sint v2f64)) node and it merges some isel patterns. This also fixes some cases that weren't combining vzmovl with cvttpd2dq to remove extra moves.

Reviewers: delena, zvi, RKSimon

Subscribers: llvm-commits

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

llvm-svn: 286344
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/lib/Target/X86/X86InstrSSE.td
llvm/lib/Target/X86/X86IntrinsicsInfo.h
llvm/test/CodeGen/X86/avx-intrinsics-x86.ll
llvm/test/CodeGen/X86/sse2-intrinsics-x86.ll