[X86] Allow v2i32->v2f32 strict and non-strict uint_to_fp to be widened to v4i32...
authorCraig Topper <craig.topper@gmail.com>
Fri, 27 Dec 2019 08:15:45 +0000 (00:15 -0800)
committerCraig Topper <craig.topper@gmail.com>
Fri, 27 Dec 2019 08:28:44 +0000 (00:28 -0800)
commitfca4736874554e059076d14a8ed38ec7853f7ae3
treea3042da1075bcdb1fffc91d1f5e5e7887023291f
parent931946bb1db05f5180503e014f5b7d398579b1c3
[X86] Allow v2i32->v2f32 strict and non-strict uint_to_fp to be widened to v4i32->v4f32 under avx512.

With avx512vl we get v4i32->v4f32 uint_to_fp instructions. With
avx512f we get v16i32->v16f32 instructions which we can use to
emulate v4i32->v4f32.
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vec-strict-inttofp-128.ll
llvm/test/CodeGen/X86/vec_int_to_fp.ll
llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll