[PowerPC] Materialize floats in the range [-16.0, 15.0].
authorStefan Pintilie <stefanp@ca.ibm.com>
Wed, 21 Dec 2022 14:47:55 +0000 (08:47 -0600)
committerStefan Pintilie <stefanp@ca.ibm.com>
Wed, 4 Jan 2023 18:52:30 +0000 (12:52 -0600)
commitc1d0118459c814824b8a4c8f423b6b91d16af785
treeaf4f75a47b88971a6f36d0cafe09f6f27152c5b9
parent9560ac3a250822536fd264a72b5115d7d964e6f3
[PowerPC] Materialize floats in the range [-16.0, 15.0].

Previous to this patch we only materialized 0.0 and all other floating point
values would be loaded from the TOC. This patch adds materialization for the
floating point values that can be represented as integers in [-16.0, 15.0].

For example we will now materialize 3.0 and -5.0 but not 4.7.

Reviewed By: nemanjai, lei, #powerpc

Differential Revision: https://reviews.llvm.org/D138844
17 files changed:
llvm/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/lib/Target/PowerPC/PPCInstrInfo.td
llvm/lib/Target/PowerPC/PPCInstrVSX.td
llvm/lib/Target/PowerPC/PPCRegisterInfo.td
llvm/test/CodeGen/PowerPC/aix32-vector-vararg-caller-split.ll
llvm/test/CodeGen/PowerPC/elf64-byval-cc.ll
llvm/test/CodeGen/PowerPC/fma-combine.ll
llvm/test/CodeGen/PowerPC/fma-mutate.ll
llvm/test/CodeGen/PowerPC/fmf-propagation.ll
llvm/test/CodeGen/PowerPC/handle-f16-storage-type.ll
llvm/test/CodeGen/PowerPC/non-debug-mi-search-frspxsrsp.ll
llvm/test/CodeGen/PowerPC/pow-025-075-intrinsic-scalar-mass-fast.ll
llvm/test/CodeGen/PowerPC/recipest.ll
llvm/test/CodeGen/PowerPC/scalar_cmp.ll
llvm/test/CodeGen/PowerPC/select_const.ll
llvm/test/CodeGen/PowerPC/toc-float.ll
llvm/test/CodeGen/PowerPC/vec_extract_p9.ll