[clang] [compiler-rt] [llvm] [SystemZ] Add support for half (fp16) (PR #109164)

Jonas Paulsson via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 18 04:57:33 PST 2025


JonPsson1 wrote:

Updated per review.

- Wrapping all isel handlings of FP with !useSoftFloat to make sure no custom lowerering may ever use an FP reg. I am not really sure this is needed as the type-legalizer is run before any lowering, but maybe do it just to be sure.

- Also found out that a simple program involving an FCMP could not be handled, so added handling for SELECT_CC. This node is handled per the result VT, so the promotion to float of the compare operands never happened. Adding the FPEXT:s in lowerSELECT_CC(). The other related nodes are on the other hand lowered according to the type of their operands (by SelectionDAGLegalize::LegalizeOp), so they get their operands promoted properly. Some new tests for this in fp-half-cmp.ll.


https://github.com/llvm/llvm-project/pull/109164


More information about the cfe-commits mailing list