diff --git a/clang/lib/Driver/ToolChains/Arch/ARM.cpp b/clang/lib/Driver/ToolChains/Arch/ARM.cpp --- a/clang/lib/Driver/ToolChains/Arch/ARM.cpp +++ b/clang/lib/Driver/ToolChains/Arch/ARM.cpp @@ -465,6 +465,7 @@ "vfp4", "vfp4sp", "vfp4d16", "vfp4d16sp", "fp-armv8", "fp-armv8sp", "fp-armv8d16", "fp-armv8d16sp", "fullfp16", "neon", "crypto", "dotprod", "fp16fml", + "mve", "mve.fp", "fp64", "d32", "fpregs"}) Features.push_back(Args.MakeArgString("-" + Feature)); } diff --git a/clang/test/Driver/arm-mfpu.c b/clang/test/Driver/arm-mfpu.c --- a/clang/test/Driver/arm-mfpu.c +++ b/clang/test/Driver/arm-mfpu.c @@ -397,3 +397,9 @@ // CHECK-ARM7-ANDROID-FP-D16-NOT: "-target-feature" "+fp-armv8" // CHECK-ARM7-ANDROID-FP-D16-NOT: "-target-feature" "+neon" // CHECK-ARM7-ANDROID-FP-D16-NOT: "-target-feature" "+crypto" + +// RUN: %clang -target arm-none-none-eabi %s -march=armv8.1-m.main+mve.fp+fp.dp -mfloat-abi=soft -### -c 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-SOFTFLOATABI-INHIBITS-MVE %s +// CHECK-SOFTFLOATABI-INHIBITS-MVE-NOT: "-target-feature" "+mve" +// CHECK-SOFTFLOATABI-INHIBITS-MVE-DAG: "-target-feature" "-mve" +// CHECK-SOFTFLOATABI-INHIBITS-MVE-DAG: "-target-feature" "-mve.fp"