[PATCH] D12969: Don't raise inexact when lowering ceil, floor, round, trunc

Tim Northover via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 21 10:37:21 PDT 2015

t.p.northover added a comment.

Thanks for updating the patch Steve. One more thing I spotted:

Comment at: lib/Target/AArch64/AArch64InstrInfo.td:2488-2492
@@ -2487,7 +2507,2 @@
-// FRINTX is inserted to set the flags as required by FENV_ACCESS ON behavior
-// in the C spec. Setting hasSideEffects ensures it is not DCE'd.
-// <rdar://problem/13715968>
-// TODO: We should really model the FPSR flags correctly. This is really ugly.
-let hasSideEffects = 1 in {
 defm FRINTX : SingleOperandFPData<0b1110, "frintx", frint>;
Sorry for only bringing this up now, but this doesn't look right. I think if an FRINTX does get created it probably should be treated specially. You'd mostly only do so (by calling "rint") if you actually cared about the otherwise unmodeled FPSR flags, wouldn't you?


More information about the llvm-commits mailing list