[PATCH] D113107: Support of expression granularity for _Float16.
Zahira Ammarguellat via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 17 09:10:03 PST 2021
zahiraam added a comment.
In D113107#3136464 <https://reviews.llvm.org/D113107#3136464>, @rjmccall wrote:
> Does GCC actually change the formal types of expressions to `float`, or is it doing this "no intermediate casts thing" as some sort of fp_contract-style custom emission of trees of expressions that involve `_Float16`?
>
> In any case, doing operation-by-operation emulation seems like the right first approach rather than starting by doing the less conformant thing.
I have created another patch https://reviews.llvm.org/D114099 that does the first step.
Not sure what you mean by "no intermediate cases thing".
This https://godbolt.org/z/cPfbKq3zx shows what gcc does for a simple expression. It looks like it is using half-precision to calculate the intermediate results since it is using library calls to __extendhfsf2 and __truncsfhf2?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D113107/new/
https://reviews.llvm.org/D113107
More information about the cfe-commits
mailing list