diff options
author | Momchil Velikov <momchil.velikov@arm.com> | 2020-01-09 13:47:52 +0000 |
---|---|---|
committer | Momchil Velikov <momchil.velikov@arm.com> | 2020-01-09 14:03:25 +0000 |
commit | 173b711e83d7b61a46f55eb44f03ea98f69a1dd6 (patch) | |
tree | 4bd566faed42ae6fede048e4b04713c66d97db31 /llvm/lib/Support/ARMTargetParser.cpp | |
parent | 032a9393a739a1ef8c30979e2493971207c3c397 (diff) | |
download | bcm5719-llvm-173b711e83d7b61a46f55eb44f03ea98f69a1dd6.tar.gz bcm5719-llvm-173b711e83d7b61a46f55eb44f03ea98f69a1dd6.zip |
[ARM][MVE] MVE-I should not be disabled by -mfpu=none
Architecturally, it's allowed to have MVE-I without an FPU, thus
-mfpu=none should not disable MVE-I, or moves to/from FP-registers.
This patch removes `+/-fpregs` from features unconditionally added to
target feature list, depending on FPU and moves the logic to Clang
driver, where the negative form (`-fpregs`) is conditionally added to
the target features list for the cases of `-mfloat-abi=soft`, or
`-mfpu=none` without either `+mve` or `+mve.fp`. Only the negative
form is added by the driver, the positive one is derived from other
features in the backend.
Differential Revision: https://reviews.llvm.org/D71843
Diffstat (limited to 'llvm/lib/Support/ARMTargetParser.cpp')
-rw-r--r-- | llvm/lib/Support/ARMTargetParser.cpp | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/llvm/lib/Support/ARMTargetParser.cpp b/llvm/lib/Support/ARMTargetParser.cpp index ce5daa7fe58..f2c22fd93c8 100644 --- a/llvm/lib/Support/ARMTargetParser.cpp +++ b/llvm/lib/Support/ARMTargetParser.cpp @@ -174,8 +174,6 @@ bool ARM::getFPUFeatures(unsigned FPUKind, std::vector<StringRef> &Features) { // under FPURestriction::None, which is the only FPURestriction in // which they would be valid (since FPURestriction::SP doesn't // exist). - - {"+fpregs", "-fpregs", FPUVersion::VFPV2, FPURestriction::SP_D16}, {"+vfp2", "-vfp2", FPUVersion::VFPV2, FPURestriction::D16}, {"+vfp2sp", "-vfp2sp", FPUVersion::VFPV2, FPURestriction::SP_D16}, {"+vfp3", "-vfp3", FPUVersion::VFPV3, FPURestriction::None}, |