[X86][F16C] Remove cvtph2ps intrinsics and use generic half2float conversion (PR37554)
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 29 Feb 2020 18:56:53 +0000 (18:56 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 29 Feb 2020 18:57:35 +0000 (18:57 +0000)
commit7e9747b50bcb1be28d4a3236571e8050835497a6
treef0f5000b055fdb1f45bcd22a712f9e6e1a84bd1d
parent777e97cc1a8c1fe44245bdcb4fd9386ae2b3cc9d
[X86][F16C] Remove cvtph2ps intrinsics and use generic half2float conversion (PR37554)

This removes everything but int_x86_avx512_mask_vcvtph2ps_512 which provides the SAE variant, but even this can use the fpext generic if the rounding control is the default.

Differential Revision: https://reviews.llvm.org/D75162
21 files changed:
clang/lib/CodeGen/CGBuiltin.cpp
clang/test/CodeGen/avx512f-builtins-constrained.c
clang/test/CodeGen/avx512f-builtins.c
clang/test/CodeGen/avx512vl-builtins-constrained.c
clang/test/CodeGen/avx512vl-builtins.c
clang/test/CodeGen/f16c-builtins-constrained.c
clang/test/CodeGen/f16c-builtins.c
llvm/include/llvm/IR/IntrinsicsX86.td
llvm/lib/IR/AutoUpgrade.cpp
llvm/lib/Target/X86/X86IntrinsicsInfo.h
llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
llvm/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
llvm/test/CodeGen/X86/avx512-intrinsics.ll
llvm/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
llvm/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
llvm/test/CodeGen/X86/avx512vl-intrinsics.ll
llvm/test/CodeGen/X86/f16c-intrinsics-fast-isel.ll
llvm/test/CodeGen/X86/f16c-intrinsics-upgrade.ll [new file with mode: 0644]
llvm/test/CodeGen/X86/f16c-intrinsics.ll
llvm/test/Transforms/InstCombine/X86/x86-f16c.ll