kpn added inline comments.

================
Comment at: clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c:26
+// metadata from the AST instead of the global default from the command line.
+// FIXME: All cases of "fpexcept.maytrap" in this test are wrong.
+
----------------
kpn wrote:
> sepavloff wrote:
> > kpn wrote:
> > > sepavloff wrote:
> > > > Why they are wrong?
> > > Because the #pragma covers the entire file and sets exception handling to 
> > > "strict". Thus all constrained intrinsic calls should be "strict", and if 
> > > they are "maytrap" or "ignore" then we have a bug.
> > What is the reason for that? Does `#pragma float_control` work incorrectly? 
> > Why  in `clang/test/CodeGen/complex-math-strictfp.c` exception handling is 
> > correct?
> The #pragma works just fine. The problem is that we need to get the strictfp 
> bits from the AST to the IRBuilder, and we haven't finished implementing 
> that. So sometimes it works, like in complex-math-strictfp.c, and sometimes 
> it doesn't. As you can see in the tests in this patch.
I forgot to mention that complex-math-strictfp.c gets a correct BinOpInfo 
passed down to get the IRBuilder set correctly. But there are other places that 
don't correctly set BinOpInfo and so we get inconsistent behavior despite the 
call to the IRBuilder being wrapped in FPOptsRAII. And _that's_ why I 
structured this patch the way I did.


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

https://reviews.llvm.org/D88913

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

Reply via email to