AArch64: add comment missed out from earlier patch.
authorTim Northover <tnorthover@apple.com>
Fri, 17 Jul 2015 03:31:50 +0000 (03:31 +0000)
committerTim Northover <tnorthover@apple.com>
Fri, 17 Jul 2015 03:31:50 +0000 (03:31 +0000)
Helps explain some of the background behind this bit of code.

llvm-svn: 242503

llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp

index cf33782..1a1b58b 100644 (file)
@@ -2062,6 +2062,10 @@ SDNode *AArch64DAGToDAGISel::SelectLIBM(SDNode *N) {
   SmallVector<SDValue, 2> Ops;
   Ops.push_back(In);
 
+  // C11 leaves it implementation-defined whether these operations trigger an
+  // inexact exception. IEEE says they don't.  Unfortunately, Darwin decided
+  // they do so we sometimes have to insert a special instruction just to set
+  // the right bit in FPSR.
   if (Subtarget->isTargetDarwin() && !TM.Options.UnsafeFPMath) {
     SDNode *FRINTX = CurDAG->getMachineNode(FRINTXOpc, dl, VT, MVT::Glue, In);
     Ops.push_back(SDValue(FRINTX, 1));