<div dir="ltr"><div>I think it would be quite useful to add this in the front end. The way I envision this working is that targets would specify whether they support constrained FP intrinsics. If this flag is unset, it would cause the front end to do two things:</div><div>1. Warn the user that the mode is not supported for the target</div><div>2. Ignore the option and not generate the constrained FP intrinsics<br></div><div><br></div><div>This should additionally be coupled with a temporary option for developers to use to aid in developing support for the intrinsics.</div><div>Something like: <span style="font-family:monospace">-ftrapping-math-on-unsupported-target </span>and <span style="font-family:monospace">-frounding-math-on-unsupported-target</span>.</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 16, 2020 at 4:19 PM Cameron McInally via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, Apr 16, 2020 at 4:01 PM Kevin Neal via cfe-dev<br>
<<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br>
><br>
> Bug 45329 “segfault with frounding-math” “<a href="https://bugs.llvm.org/show_bug.cgi?id=45329" rel="noreferrer" target="_blank">https://bugs.llvm.org/show_bug.cgi?id=45329</a>” highlights that we are silently allowing people to use options that are unimplemented or only partially implemented.<br>
><br>
> If use the -frounding-math option on a compile I expect it to work. I do not expect it to trigger an ICE, a crash, or much worse silently not work and produce wrong results.<br>
><br>
> I propose a warning be printed so that we can avoid issues like bug 45329 in the future. And it needs to be per-target since some targets are closer to supporting this feature than others.<br>
><br>
> Thoughts?<br>
<br>
Thanks for bringing this up, Kevin.<br>
<br>
We have a customer code that has been using<br>
`-fno-unsafe-math-optimizations` for some time. That option implies<br>
`-ftrapping-math`, which was a no-op until a few months ago. Now,<br>
`-ftrapping-math` enables the constrained FP intrinsics, which aren't<br>
fully supported on all targets. That behavior change looked like a<br>
regression to the customer.<br>
<br>
A warning would be a good short-term solution.<br>
<br>
-Cameron<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>