fhahn added a comment.

In D129231#3716363 <https://reviews.llvm.org/D129231#3716363>, @scanon wrote:

>>> Looking at implementations of these functions, it looks like GNU libm 
>>> doesn't raise inexact, but the bionic libm does. I think I'm leaning 
>>> towards marking all of them as "fng" as it's the more cautious of the two.
>>
>> Hmm, bionic's behavior sounds a bit surprising. In the committed version, I 
>> kept them fnc to keep the previous behavior for now. I'll double-check with 
>> @scanon and potentially upload a follow-up patch.
>
> As noted, this is only clarified in C23. Previous C standards did not specify 
> whether or not these functions should set inexact, leading to some 
> implementations choosing one behavior and others choosing the other. That 
> said, the TS that clarified the behavior has been available for about a 
> decade, so I'm mildly surprised that Bionic kept their existing behavior for 
> so long.

Hm, I think making this depend on the C standard version would be rather 
tricky, as I don't think there's precedence for that at the moment. For 
ceil/round it won't matter in practice, because we will lower them to the 
constrained intrinsics.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129231/new/

https://reviews.llvm.org/D129231

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

Reply via email to