[X86] Don't scalarize v2f32->v2i64 strict_fp_to_sint/uint with avx512dq and not avx512vl.
authorCraig Topper <craig.topper@gmail.com>
Sun, 7 Jun 2020 21:44:17 +0000 (14:44 -0700)
committerCraig Topper <craig.topper@gmail.com>
Sun, 7 Jun 2020 21:45:26 +0000 (14:45 -0700)
commita135c4a2cf7197dd3140f610f51b596d7334bae2
tree7dabb8509cd9df83282d6da8d3d01bed66151d51
parent3badd17b6989621b5aa2732800f697dabbda034d
[X86] Don't scalarize v2f32->v2i64 strict_fp_to_sint/uint with avx512dq and not avx512vl.

We can pad the v2f32 with 0s up to v8f32 and use a v8f32->v8i64
operation. This is what we end up with on non-strict nodes except
we don't pad with 0s since we don't care about exceptions.
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vec-strict-fptoint-128.ll
llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll