[PATCH] D40256: [ARM] disable FPU features when using soft floating point.

2017-11-30 Thread Phabricator via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC319420: [ARM] disable FPU features when using soft floating point. (authored by kwalker). Changed prior to commit: https://reviews.llvm.org/D40256?vs=124579=124905#toc Repository: rC Clang

[PATCH] D40256: [ARM] disable FPU features when using soft floating point.

2017-11-29 Thread Eli Friedman via Phabricator via cfe-commits
efriedma accepted this revision. efriedma added a comment. This revision is now accepted and ready to land. LGTM https://reviews.llvm.org/D40256 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D40256: [ARM] disable FPU features when using soft floating point.

2017-11-28 Thread Keith Walker via Phabricator via cfe-commits
keith.walker.arm updated this revision to Diff 124579. keith.walker.arm added a comment. > What are these disabled "R-UN" lines? Oops! They shouldn't have been disabled in the patch. > Do we really need to check every combination like this? I don't think the > underlying logic actually

[PATCH] D40256: [ARM] disable FPU features when using soft floating point.

2017-11-27 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added inline comments. Comment at: test/Driver/arm-mfpu.c:301 +// RUN: | FileCheck --check-prefix=CHECK-SOFT-ABI-FP %s +// R-UN: %clang -target armv4-linux-gnueabi -mfloat-abi=soft -mfpu=none %s -### -c 2>&1 \ +// R-UN: | FileCheck --check-prefix=CHECK-SOFT-ABI-FP

[PATCH] D40256: [ARM] disable FPU features when using soft floating point.

2017-11-22 Thread Keith Walker via Phabricator via cfe-commits
keith.walker.arm updated this revision to Diff 123936. keith.walker.arm added a comment. I have updated the patch with the suggested change to use a list of features to disable. I checked that LLVM does indeed implicitly disable features if they are dependent on a feature that is explicitly

[PATCH] D40256: [ARM] disable FPU features when using soft floating point.

2017-11-21 Thread Keith Walker via Phabricator via cfe-commits
keith.walker.arm added inline comments. Comment at: lib/Driver/ToolChains/Arch/ARM.cpp:406 +const bool HasVFPv4 = (std::find(ItBegin, ItEnd, "+vfpv4") != ItEnd); +const bool HasFParmv8 = (std::find(ItBegin, ItEnd, "+fp-armv8") != ItEnd); +const bool HasFullFP16 =

[PATCH] D40256: [ARM] disable FPU features when using soft floating point.

2017-11-20 Thread Saleem Abdulrasool via Phabricator via cfe-commits
compnerd added inline comments. Comment at: lib/Driver/ToolChains/Arch/ARM.cpp:419 +Features.push_back("-fullfp16"); + +const bool HasNeon = (std::find(ItBegin, ItEnd, "+neon") != ItEnd); It would be nice to not have these explicitly listed. But at

[PATCH] D40256: [ARM] disable FPU features when using soft floating point.

2017-11-20 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added a comment. Oh, I see, for some silly reason there are actually *three* -mfloat-abi options: hard, soft, and softfp. hard means float instructions and a hard-float calling convention, soft means no floating-point and a soft-float convention, and softfp means float instructions

[PATCH] D40256: [ARM] disable FPU features when using soft floating point.

2017-11-20 Thread Alex Bradbury via Phabricator via cfe-commits
asb added subscribers: llvm-commits, asb. asb added a comment. It would have been much cleaner if it worked as @efriedma suggests and -mfloat-abi was only concerned with the ABI (as its name would suggest), but sadly the -mfloat-abi=soft option seems to be defined in GCC to control more than

[PATCH] D40256: [ARM] disable FPU features when using soft floating point.

2017-11-20 Thread Renato Golin via Phabricator via cfe-commits
rengolin added a comment. Wasn't that the mess about -mfpu=softfp? https://reviews.llvm.org/D40256 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D40256: [ARM] disable FPU features when using soft floating point.

2017-11-20 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added a comment. -mfpu controls what floating-point/vector instructions the compiler generates. -mfloat-abi controls whether floating-point arguments to functions are passed in floating-point registers. These are completely independent, and we need to support using both of them

[PATCH] D40256: [ARM] disable FPU features when using soft floating point.

2017-11-20 Thread Keith Walker via Phabricator via cfe-commits
keith.walker.arm created this revision. Herald added subscribers: kristof.beyls, javed.absar, aemerson. To be compatible with GCC if soft floating point is in effect any FPU specified is effectively ignored, eg, -mfloat-abi=soft -fpu=neon If any floating point features which require FPU