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

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to