This is an archive of the discontinued LLVM Phabricator instance.

[SelectionDAG] add support for float16 libcalls
Needs ReviewPublic

Authored by liadz0rz on Jul 11 2018, 7:25 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

In llvm there is support for soft float from 32 bit and above, when float16 was needed it would've been promoted to float32 and then softened, this patch changes this behavior into softening float16 by default instead of promoting.

Diff Detail

Event Timeline

liadz0rz created this revision.Jul 11 2018, 7:25 AM

Which targets actually support the libcalls you're adding?

Which targets actually support the libcalls you're adding?

The target which I'm currently working on.

Needs testcases.

Note that we generally can't accept patches which don't affect any in-tree target: they're impossible to test.

include/llvm/CodeGen/RuntimeLibcalls.def
202

cosh is the hyperbolic cosine, which is not what you want here.

lib/CodeGen/TargetLoweringBase.cpp
1153

This change isn't acceptable; you can't modify the behavior of other targets to call functions which don't exist.