rjmccall added a comment.

> Basically agree with everything John said, with a note that #3 is not quite 
> FP_CONTRACT, which allows evaluating an expression as if intermediate steps 
> were infinitely-precise, but rather FLT_EVAL_METHOD == 32 as defined in 
> ISO/IEC TS 18661-3: "evaluate operations and constants, whose semantic type 
> has at most the range and precision of the _Float32 type, to the range and 
> precision of the _Float32 type; evaluate all other operations and constants 
> to the range and precision of the semantic type".

Ah, thank you, I wasn't aware that the intent was for FP_CONTRACT to only allow 
evaluation as if infinitely precise.  That's much more limited; wouldn't it 
preclude things like doing `float` arithmetic with `double`-only hardware, or 
with the x87 operations without intermediate rounding?


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