summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2015-07-16 21:30:21 +0000
committerTim Northover <tnorthover@apple.com>2015-07-16 21:30:21 +0000
commitca0ffc356193e319d07d1f5db49db4cc61f45b59 (patch)
tree47feaa00a3ed8ec7f41414d296e8f26aee60127a /llvm/lib/Target
parent9e694e590cdbd751e026833a042e871b66f192cf (diff)
downloadbcm5719-llvm-ca0ffc356193e319d07d1f5db49db4cc61f45b59.tar.gz
bcm5719-llvm-ca0ffc356193e319d07d1f5db49db4cc61f45b59.zip
AArch64: make inexact signalling on round Darwin-specific
C11 leaves the choice on whether round-to-integer operations set the inexact flag implementation-defined. Darwin does expect it to be set, but this seems to be against the intent of the IEEE document and slower to implement anyway. So it should be opt-in. llvm-svn: 242446
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp b/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
index 772e894f4f0..cf33782365b 100644
--- a/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
+++ b/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
@@ -2062,7 +2062,7 @@ SDNode *AArch64DAGToDAGISel::SelectLIBM(SDNode *N) {
SmallVector<SDValue, 2> Ops;
Ops.push_back(In);
- if (!TM.Options.UnsafeFPMath) {
+ if (Subtarget->isTargetDarwin() && !TM.Options.UnsafeFPMath) {
SDNode *FRINTX = CurDAG->getMachineNode(FRINTXOpc, dl, VT, MVT::Glue, In);
Ops.push_back(SDValue(FRINTX, 1));
}
OpenPOWER on IntegriCloud