Avoid NEON SP-FP unless unsafe-math or Darwin
authorRenato Golin <renato.golin@linaro.org>
Thu, 21 Mar 2013 18:47:47 +0000 (18:47 +0000)
committerRenato Golin <renato.golin@linaro.org>
Thu, 21 Mar 2013 18:47:47 +0000 (18:47 +0000)
commit3382a840747c42c4a98eac802ee7b347a8ded1e4
treede4c0a5050772a0b2c7d3b0f1e771814d0f24fe9
parentb55b00b4d4b79daec2be43a2a6cd0f5891370296
Avoid NEON SP-FP unless unsafe-math or Darwin

NEON is not IEEE 754 compliant, so we should avoid lowering single-precision
floating point operations with NEON unless unsafe-math is turned on. The
equivalent VFP instructions are IEEE 754 compliant, but in some cores they're
much slower, so some archs/OSs might still request it to be on by default,
such as Swift and Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177651 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed:
lib/Target/ARM/ARM.td
lib/Target/ARM/ARMSubtarget.cpp
lib/Target/ARM/ARMSubtarget.h
lib/Target/ARM/ARMTargetMachine.cpp
test/CodeGen/ARM/fadds.ll
test/CodeGen/ARM/fmuls.ll
test/CodeGen/ARM/fnegs.ll
test/CodeGen/ARM/fnmscs.ll
test/CodeGen/ARM/fp_convert.ll
test/CodeGen/ARM/fsubs.ll
test/CodeGen/ARM/neon-spfp.ll [new file with mode: 0644]
test/CodeGen/ARM/neon_minmax.ll