lebedev.ri added a subscriber: hans.
lebedev.ri added a comment.

In D104854#2959680 <https://reviews.llvm.org/D104854#2959680>, @thopre wrote:

> In D104854#2957735 <https://reviews.llvm.org/D104854#2957735>, @kpn wrote:
>
>> In D104854#2957490 <https://reviews.llvm.org/D104854#2957490>, @lebedev.ri 
>> wrote:
>>
>>> In D104854#2957471 <https://reviews.llvm.org/D104854#2957471>, @sepavloff 
>>> wrote:
>>>
>>>> In D104854#2957423 <https://reviews.llvm.org/D104854#2957423>, @spatel 
>>>> wrote:
>>>>
>>>>> Is it intentional that we are not canonicalizing the intrinsic call back 
>>>>> to `fcmp uno` in the default FP environment?
>>>>
>>>> It is lowered to unordered comparison by default. Changing `llvm.isnan` to 
>>>>  `fcmp uno` somewhere in IR would make it possible to optimize out the 
>>>> latter if fast-math mode is on. Preserving semantics of `isnan` when 
>>>> fast-math is in effect was one of the goals of this change.
>>>
>>> Eeek. Was there an RFC about this?
>>> This does not sound good to me at all,
>>> much like "let's not apply fast-math flags to x86 vector intrinsics".
>>
>> We can switch into and out of the default FP environment inside a single 
>> function.
>
> Really? The constrained intrinsic documentation claims the reverse 
> (https://llvm.org/docs/LangRef.html#constrainedfp):
>
>> If any FP operation in a function is constrained then they all must be 
>> constrained. This is required for correct LLVM IR. Optimizations that move 
>> code around can create miscompiles if mixing of constrained and normal 
>> operations is done. The correct way to mix constrained and less constrained 
>> operations is to use the rounding mode and exception handling metadata to 
>> mark constrained intrinsics as having LLVM’s default behavior.

@sepavloff please can you undo the clang part of this change (+@hans) and post 
an RFC to further hash out the design here?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D104854

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

Reply via email to