llvm.org GIT mirror llvm / 7ece953
On Darwin targets, only use vfma etc. if the source use fma() intrinsic explicitly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154689 91177308-0d34-0410-b5e6-96231b3b80d8 Evan Cheng 8 years ago
2 changed file(s) with 6 addition(s) and 3 deletion(s). Raw diff Collapse all Expand all
218218
219219 // Prefer fused MAC for fp mul + add over fp VMLA / VMLS if they are available.
220220 // But only select them if more precision in FP computation is allowed.
221 def UseFusedMAC : Predicate<"!TM.Options.NoExcessFPPrecision">;
222 def DontUseFusedMAC : Predicate<"!Subtarget->hasVFP4()">;
221 // Do not use them for Darwin platforms.
222 def UseFusedMAC : Predicate<"!TM.Options.NoExcessFPPrecision && "
223 "!Subtarget->isTargetDarwin()">;
224 def DontUseFusedMAC : Predicate<"!Subtarget->hasVFP4() || "
225 "Subtarget->isTargetDarwin()">;
223226
224227 //===----------------------------------------------------------------------===//
225228 // ARM Flag Definitions.
None ; RUN: llc < %s -march=arm -mattr=+neon,+vfp4 | FileCheck %s
0 ; RUN: llc < %s -mtriple=armv7-eabi -mattr=+neon,+vfp4 | FileCheck %s
11 ; Check generated fused MAC and MLS.
22
33 define double @fusedMACTest1(double %d1, double %d2, double %d3) {