Index: lib/Basic/Targets/ARM.cpp =================================================================== --- lib/Basic/Targets/ARM.cpp +++ lib/Basic/Targets/ARM.cpp @@ -400,8 +400,7 @@ HasFloat16 = true; // This does not diagnose illegal cases like having both - // "+vfpv2" and "+vfpv3" or having "+neon" and "+fp-only-sp". - uint32_t HW_FP_remove = 0; + // "+vfpv2" and "+vfpv3" or having "+neon" and "-fp64". for (const auto &Feature : Features) { if (Feature == "+soft-float") { SoftFloat = true; @@ -409,19 +408,19 @@ SoftFloatABI = true; } else if (Feature == "+vfp2") { FPU |= VFP2FPU; - HW_FP |= HW_FP_SP | HW_FP_DP; + HW_FP |= HW_FP_SP; } else if (Feature == "+vfp3") { FPU |= VFP3FPU; - HW_FP |= HW_FP_SP | HW_FP_DP; + HW_FP |= HW_FP_SP; } else if (Feature == "+vfp4") { FPU |= VFP4FPU; - HW_FP |= HW_FP_SP | HW_FP_DP | HW_FP_HP; + HW_FP |= HW_FP_SP | HW_FP_HP; } else if (Feature == "+fp-armv8") { FPU |= FPARMV8; - HW_FP |= HW_FP_SP | HW_FP_DP | HW_FP_HP; + HW_FP |= HW_FP_SP | HW_FP_HP; } else if (Feature == "+neon") { FPU |= NeonFPU; - HW_FP |= HW_FP_SP | HW_FP_DP; + HW_FP |= HW_FP_SP; } else if (Feature == "+hwdiv") { HWDiv |= HWDivThumb; } else if (Feature == "+hwdiv-arm") { @@ -432,8 +431,8 @@ Crypto = 1; } else if (Feature == "+dsp") { DSP = 1; - } else if (Feature == "+fp-only-sp") { - HW_FP_remove |= HW_FP_DP; + } else if (Feature == "+fp64") { + HW_FP |= HW_FP_DP; } else if (Feature == "+8msecext") { if (CPUProfile != "M" || ArchVersion != 8) { Diags.Report(diag::err_target_unsupported_mcmse) << CPU; @@ -449,7 +448,6 @@ DotProd = true; } } - HW_FP &= ~HW_FP_remove; switch (ArchVersion) { case 6: Index: test/CodeGen/arm-target-features.c =================================================================== --- test/CodeGen/arm-target-features.c +++ test/CodeGen/arm-target-features.c @@ -1,23 +1,23 @@ // REQUIRES: arm-registered-target // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a8 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3 -// CHECK-VFP3: "target-features"="+armv7-a,+dsp,+neon,+thumb-mode,+vfp3" +// CHECK-VFP3: "target-features"="+armv7-a,+d32,+dsp,+fp64,+neon,+thumb-mode,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a5 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4 -// CHECK-VFP4: "target-features"="+armv7-a,+dsp,+neon,+thumb-mode,+vfp4" +// CHECK-VFP4: "target-features"="+armv7-a,+d32,+dsp,+fp64,+neon,+thumb-mode,+vfp4" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a7 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-a12 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV // RUN: %clang_cc1 -triple thumbv7s-linux-gnueabi -target-cpu swift -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV-2 // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu krait -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV -// CHECK-VFP4-DIV: "target-features"="+armv7-a,+dsp,+hwdiv,+hwdiv-arm,+neon,+thumb-mode,+vfp4" -// CHECK-VFP4-DIV-2: "target-features"="+armv7s,+dsp,+hwdiv,+hwdiv-arm,+neon,+thumb-mode,+vfp4" +// CHECK-VFP4-DIV: "target-features"="+armv7-a,+d32,+dsp,+fp64,+hwdiv,+hwdiv-arm,+neon,+thumb-mode,+vfp4" +// CHECK-VFP4-DIV-2: "target-features"="+armv7s,+d32,+dsp,+fp64,+hwdiv,+hwdiv-arm,+neon,+thumb-mode,+vfp4" // RUN: %clang_cc1 -triple armv7-linux-gnueabihf -target-cpu cortex-a15 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV-ARM // RUN: %clang_cc1 -triple armv7-linux-gnueabihf -target-cpu cortex-a17 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV-ARM -// CHECK-VFP4-DIV-ARM: "target-features"="+armv7-a,+dsp,+hwdiv,+hwdiv-arm,+neon,+vfp4,-thumb-mode" +// CHECK-VFP4-DIV-ARM: "target-features"="+armv7-a,+d32,+dsp,+fp64,+hwdiv,+hwdiv-arm,+neon,+vfp4,-thumb-mode" // RUN: %clang_cc1 -triple thumbv7s-apple-ios7.0 -target-cpu cyclone -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu cortex-a32 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 @@ -28,34 +28,34 @@ // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu exynos-m1 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu exynos-m2 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu exynos-m3 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 -// CHECK-BASIC-V8: "target-features"="+armv8-a,+crc,+crypto,+dsp,+fp-armv8,+hwdiv,+hwdiv-arm,+neon,+thumb-mode" +// CHECK-BASIC-V8: "target-features"="+armv8-a,+crc,+crypto,+d32,+dsp,+fp-armv8,+fp64,+hwdiv,+hwdiv-arm,+neon,+thumb-mode" // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu exynos-m4 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V82 // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu exynos-m5 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V82 -// CHECK-BASIC-V82: "target-features"="+armv8.2-a,+crc,+crypto,+dotprod,+dsp,+fp-armv8,+hwdiv,+hwdiv-arm,+neon,+ras,+thumb-mode" +// CHECK-BASIC-V82: "target-features"="+armv8.2-a,+crc,+crypto,+d32,+dotprod,+dsp,+fp-armv8,+fp64,+hwdiv,+hwdiv-arm,+neon,+ras,+thumb-mode" // RUN: %clang_cc1 -triple armv8-linux-gnueabi -target-cpu cortex-a53 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8-ARM -// CHECK-BASIC-V8-ARM: "target-features"="+armv8-a,+crc,+crypto,+dsp,+fp-armv8,+hwdiv,+hwdiv-arm,+neon,-thumb-mode" +// CHECK-BASIC-V8-ARM: "target-features"="+armv8-a,+crc,+crypto,+d32,+dsp,+fp-armv8,+fp64,+hwdiv,+hwdiv-arm,+neon,-thumb-mode" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-r5 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-D16-DIV -// CHECK-VFP3-D16-DIV: "target-features"="+armv7-r,+d16,+dsp,+hwdiv,+hwdiv-arm,+thumb-mode,+vfp3" +// CHECK-VFP3-D16-DIV: "target-features"="+armv7-r,+dsp,+fp64,+hwdiv,+hwdiv-arm,+thumb-mode,+vfp3" // RUN: %clang_cc1 -triple armv7-linux-gnueabi -target-cpu cortex-r4f -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-D16-THUMB-DIV -// CHECK-VFP3-D16-THUMB-DIV: "target-features"="+armv7-r,+d16,+dsp,+hwdiv,+vfp3,-thumb-mode" +// CHECK-VFP3-D16-THUMB-DIV: "target-features"="+armv7-r,+dsp,+fp64,+hwdiv,+vfp3,-thumb-mode" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-r7 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-D16-FP16-DIV // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-r8 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-D16-FP16-DIV -// CHECK-VFP3-D16-FP16-DIV: "target-features"="+armv7-r,+d16,+dsp,+fp16,+hwdiv,+hwdiv-arm,+thumb-mode,+vfp3" +// CHECK-VFP3-D16-FP16-DIV: "target-features"="+armv7-r,+dsp,+fp16,+fp64,+hwdiv,+hwdiv-arm,+thumb-mode,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-m4 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-D16-SP-THUMB-DIV -// CHECK-VFP4-D16-SP-THUMB-DIV: "target-features"="+armv7e-m,+d16,+dsp,+fp-only-sp,+hwdiv,+thumb-mode,+vfp4" +// CHECK-VFP4-D16-SP-THUMB-DIV: "target-features"="+armv7e-m,+dsp,+hwdiv,+thumb-mode,+vfp4" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-m7 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP5-D16-THUMB-DIV -// CHECK-VFP5-D16-THUMB-DIV: "target-features"="+armv7e-m,+d16,+dsp,+fp-armv8,+hwdiv,+thumb-mode" +// CHECK-VFP5-D16-THUMB-DIV: "target-features"="+armv7e-m,+dsp,+fp-armv8,+fp64,+hwdiv,+thumb-mode" // RUN: %clang_cc1 -triple armv7-linux-gnueabi -target-cpu cortex-r4 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-THUMB-DIV @@ -107,6 +107,6 @@ // CHECK-ARMV8M-M23-LINUX: "target-features"="+armv8-m.base,+hwdiv,+thumb-mode" // RUN: %clang_cc1 -triple thumb-linux-gnueabi -target-cpu cortex-m33 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-ARMV8M-MAIN-LINUX -// CHECK-ARMV8M-MAIN-LINUX: "target-features"="+armv8-m.main,+d16,+dsp,+fp-armv8,+fp-only-sp,+hwdiv,+thumb-mode" +// CHECK-ARMV8M-MAIN-LINUX: "target-features"="+armv8-m.main,+dsp,+fp-armv8,+hwdiv,+thumb-mode" void foo() {} Index: test/Driver/arm-mfpu.c =================================================================== --- test/Driver/arm-mfpu.c +++ test/Driver/arm-mfpu.c @@ -6,7 +6,6 @@ // CHECK-DEFAULT: "-target-feature" "+soft-float-abi" // CHECK-DEFAULT-NOT: "-target-feature" "+vfp2" // CHECK-DEFAULT-NOT: "-target-feature" "+vfp3" -// CHECK-DEFAULT-NOT: "-target-feature" "+d16" // CHECK-DEFAULT-NOT: "-target-feature" "+neon" // RUN: %clang -target arm-linux-eabi -mfpu=fpa %s -### -o %t.o 2>&1 \ @@ -64,12 +63,12 @@ // RUN: | FileCheck --check-prefix=CHECK-SOFT-ABI-FP-3 %s // CHECK-VFP3-FP16-NOT: "-target-feature" "+soft-float" // CHECK-VFP3-FP16: "-target-feature" "+soft-float-abi" -// CHECK-VFP3-FP16: "-target-feature" "-fp-only-sp" -// CHECK-VFP3-FP16: "-target-feature" "-d16" // CHECK-VFP3-FP16: "-target-feature" "+vfp3" // CHECK-VFP3-FP16: "-target-feature" "+fp16" // CHECK-VFP3-FP16: "-target-feature" "-vfp4" // CHECK-VFP3-FP16: "-target-feature" "-fp-armv8" +// CHECK-VFP3-FP16: "-target-feature" "+fp64" +// CHECK-VFP3-FP16: "-target-feature" "+d32" // CHECK-VFP3-FP16: "-target-feature" "-neon" // CHECK-VFP3-FP16: "-target-feature" "-crypto" @@ -81,11 +80,11 @@ // RUN: | FileCheck --check-prefix=CHECK-SOFT-ABI-FP-3 %s // CHECK-VFP3-D16-NOT: "-target-feature" "+soft-float" // CHECK-VFP3-D16: "-target-feature" "+soft-float-abi" -// CHECK-VFP3-D16: "-target-feature" "-fp-only-sp" -// CHECK-VFP3-D16: "-target-feature" "+d16" // CHECK-VFP3-D16: "-target-feature" "+vfp3" // CHECK-VFP3-D16: "-target-feature" "-vfp4" // CHECK-VFP3-D16: "-target-feature" "-fp-armv8" +// CHECK-VFP3-D16: "-target-feature" "+fp64" +// CHECK-VFP3-D16-NOT: "-target-feature" "+d32" // CHECK-VFP3-D16: "-target-feature" "-neon" // RUN: %clang -target arm-linux-eabi -mfpu=vfpv3-d16-fp16 %s -### -o %t.o 2>&1 \ @@ -94,12 +93,12 @@ // RUN: | FileCheck --check-prefix=CHECK-SOFT-ABI-FP-3 %s // CHECK-VFP3-D16-FP16-NOT: "-target-feature" "+soft-float" // CHECK-VFP3-D16-FP16: "-target-feature" "+soft-float-abi" -// CHECK-VFP3-D16-FP16: "-target-feature" "-fp-only-sp" -// CHECK-VFP3-D16-FP16: "-target-feature" "+d16" // CHECK-VFP3-D16-FP16: "-target-feature" "+vfp3" // CHECK-VFP3-D16-FP16: "-target-feature" "+fp16" // CHECK-VFP3-D16-FP16: "-target-feature" "-vfp4" // CHECK-VFP3-D16-FP16: "-target-feature" "-fp-armv8" +// CHECK-VFP3-D16-FP16: "-target-feature" "+fp64" +// CHECK-VFP3-D16-FP16-NOT: "-target-feature" "+d32" // CHECK-VFP3-D16-FP16: "-target-feature" "-neon" // CHECK-VFP3-D16-FP16: "-target-feature" "-crypto" @@ -109,8 +108,8 @@ // RUN: | FileCheck --check-prefix=CHECK-SOFT-ABI-FP-3 %s // CHECK-VFP3XD-NOT: "-target-feature" "+soft-float" // CHECK-VFP3XD: "-target-feature" "+soft-float-abi" -// CHECK-VFP3XD: "-target-feature" "+fp-only-sp" -// CHECK-VFP3XD: "-target-feature" "+d16" +// CHECK-VFP3XD-NOT: "-target-feature" "+fp64" +// CHECK-VFP3XD-NOT: "-target-feature" "+d32" // CHECK-VFP3XD: "-target-feature" "+vfp3" // CHECK-VFP3XD: "-target-feature" "-fp16" // CHECK-VFP3XD: "-target-feature" "-vfp4" @@ -124,12 +123,12 @@ // RUN: | FileCheck --check-prefix=CHECK-SOFT-ABI-FP-3 %s // CHECK-VFP3XD-FP16-NOT: "-target-feature" "+soft-float" // CHECK-VFP3XD-FP16: "-target-feature" "+soft-float-abi" -// CHECK-VFP3XD-FP16: "-target-feature" "+fp-only-sp" -// CHECK-VFP3XD-FP16: "-target-feature" "+d16" // CHECK-VFP3XD-FP16: "-target-feature" "+vfp3" // CHECK-VFP3XD-FP16: "-target-feature" "+fp16" // CHECK-VFP3XD-FP16: "-target-feature" "-vfp4" // CHECK-VFP3XD-FP16: "-target-feature" "-fp-armv8" +// CHECK-VFP3XD-FP16-NOT: "-target-feature" "+fp64" +// CHECK-VFP3XD-FP16-NOT: "-target-feature" "+d32" // CHECK-VFP3XD-FP16: "-target-feature" "-neon" // CHECK-VFP3XD-FP16: "-target-feature" "-crypto" @@ -160,10 +159,10 @@ // RUN: | FileCheck --check-prefix=CHECK-SOFT-ABI-FP-4 %s // CHECK-VFP4-D16-NOT: "-target-feature" "+soft-float" // CHECK-VFP4-D16: "-target-feature" "+soft-float-abi" -// CHECK-VFP4-D16: "-target-feature" "-fp-only-sp" -// CHECK-VFP4-D16: "-target-feature" "+d16" // CHECK-VFP4-D16: "-target-feature" "+vfp4" // CHECK-VFP4-D16: "-target-feature" "-fp-armv8" +// CHECK-VFP4-D16: "-target-feature" "+fp64" +// CHECK-VFP4-D16-NOT: "-target-feature" "+d32" // CHECK-VFP4-D16: "-target-feature" "-neon" // RUN: %clang -target arm-linux-eabi -mfpu=fp4-sp-d16 %s -### -o %t.o 2>&1 \ @@ -174,10 +173,10 @@ // RUN: | FileCheck --check-prefix=CHECK-SOFT-ABI-FP-4 %s // CHECK-FP4-SP-D16-NOT: "-target-feature" "+soft-float" // CHECK-FP4-SP-D16: "-target-feature" "+soft-float-abi" -// CHECK-FP4-SP-D16: "-target-feature" "+fp-only-sp" -// CHECK-FP4-SP-D16: "-target-feature" "+d16" // CHECK-FP4-SP-D16: "-target-feature" "+vfp4" // CHECK-FP4-SP-D16: "-target-feature" "-fp-armv8" +// CHECK-FP4-SP-D16-NOT: "-target-feature" "+fp64" +// CHECK-FP4-SP-D16-NOT: "-target-feature" "+d32" // CHECK-FP4-SP-D16: "-target-feature" "-neon" // RUN: %clang -target arm-linux-eabi -mfpu=fp5-sp-d16 %s -### -o %t.o 2>&1 \ @@ -188,10 +187,10 @@ // RUN: 2>&1 | FileCheck --check-prefix=CHECK-SOFT-ABI-FP %s // CHECK-FP5-SP-D16-NOT: "-target-feature" "+soft-float" // CHECK-FP5-SP-D16: "-target-feature" "+soft-float-abi" -// CHECK-FP5-SP-D16: "-target-feature" "+fp-only-sp" -// CHECK-FP5-SP-D16: "-target-feature" "+d16" // CHECK-FP5-SP-D16: "-target-feature" "+fp-armv8" // CHECK-FP5-SP-D16: "-target-feature" "-neon" +// CHECK-FP5-SP-D16-NOT: "-target-feature" "+fp64" +// CHECK-FP5-SP-D16-NOT: "-target-feature" "+d32" // CHECK-FP5-SP-D16: "-target-feature" "-crypto" // RUN: %clang -target arm-linux-eabi -mfpu=fp5-dp-d16 %s -### -o %t.o 2>&1 \ @@ -202,9 +201,9 @@ // RUN: | FileCheck --check-prefix=CHECK-SOFT-ABI-FP-5 %s // CHECK-FP5-DP-D16-NOT: "-target-feature" "+soft-float" // CHECK-FP5-DP-D16: "-target-feature" "+soft-float-abi" -// CHECK-FP5-DP-D16: "-target-feature" "-fp-only-sp" -// CHECK-FP5-DP-D16: "-target-feature" "+d16" // CHECK-FP5-DP-D16: "-target-feature" "+fp-armv8" +// CHECK-FP5-DP-D16: "-target-feature" "+fp64" +// CHECK-FP5-DP-D16-NOT: "-target-feature" "+d32" // CHECK-FP5-DP-D16: "-target-feature" "-neon" // CHECK-FP5-DP-D16: "-target-feature" "-crypto" // CHECK-SOFT-ABI-FP-5: "-target-feature" "+soft-float" @@ -236,12 +235,12 @@ // RUN: | FileCheck --check-prefix=CHECK-SOFT-ABI-FP-6 %s // CHECK-NEON-FP16-NOT: "-target-feature" "+soft-float" // CHECK-NEON-FP16: "-target-feature" "+soft-float-abi" -// CHECK-NEON-FP16: "-target-feature" "-fp-only-sp" -// CHECK-NEON-FP16: "-target-feature" "-d16" // CHECK-NEON-FP16: "-target-feature" "+vfp3" // CHECK-NEON-FP16: "-target-feature" "+fp16" // CHECK-NEON-FP16: "-target-feature" "-vfp4" // CHECK-NEON-FP16: "-target-feature" "-fp-armv8" +// CHECK-NEON-FP16: "-target-feature" "+fp64" +// CHECK-NEON-FP16: "-target-feature" "+d32" // CHECK-NEON-FP16: "-target-feature" "+neon" // CHECK-NEON-FP16: "-target-feature" "-crypto" @@ -319,12 +318,12 @@ // RUN: | FileCheck --check-prefix=CHECK-NO-FP %s // CHECK-NO-FP-NOT: "-target-feature" "+soft-float" // CHECK-NO-FP: "-target-feature" "+soft-float-abi" -// CHECK-NO-FP: "-target-feature" "-fp-only-sp" -// CHECK-NO-FP: "-target-feature" "-d16" // CHECK-NO-FP: "-target-feature" "-vfp2" // CHECK-NO-FP: "-target-feature" "-vfp3" // CHECK-NO-FP: "-target-feature" "-vfp4" // CHECK-NO-FP: "-target-feature" "-fp-armv8" +// CHECK-NO-FP-NOT: "-target-feature" "+fp64" +// CHECK-NO-FP-NOT: "-target-feature" "+d32" // CHECK-NO-FP: "-target-feature" "-neon" // CHECK-NO-FP: "-target-feature" "-crypto" @@ -369,7 +368,7 @@ // RUN: | FileCheck --check-prefix=CHECK-ARM5-ANDROID-FP-DEFAULT %s // CHECK-ARM5-ANDROID-FP-DEFAULT: "-target-feature" "+soft-float" // CHECK-ARM5-ANDROID-FP-DEFAULT: "-target-feature" "+soft-float-abi" -// CHECK-ARM5-ANDROID-FP-DEFAULT-NOT: "-target-feature" "+d16" +// CHECK-ARM5-ANDROID-FP-DEFAULT-NOT: "-target-feature" "+d32" // CHECK-ARM5-ANDROID-FP-DEFAULT-NOT: "-target-feature" "+vfp3" // CHECK-ARM5-ANDROID-FP-DEFAULT-NOT: "-target-feature" "+vfp4" // CHECK-ARM5-ANDROID-FP-DEFAULT-NOT: "-target-feature" "+fp-armv8" @@ -390,7 +389,7 @@ // RUN: | FileCheck --check-prefix=CHECK-ARM7-ANDROID-FP-D16 %s // CHECK-ARM7-ANDROID-FP-D16-NOT: "-target-feature" "+soft-float" // CHECK-ARM7-ANDROID-FP-D16: "-target-feature" "+soft-float-abi" -// CHECK-ARM7-ANDROID-FP-D16: "-target-feature" "+d16" +// CHECK-ARM7-ANDROID-FP-D16-NOT: "-target-feature" "+d32" // CHECK-ARM7-ANDROID-FP-D16: "-target-feature" "+vfp3" // CHECK-ARM7-ANDROID-FP-D16-NOT: "-target-feature" "+vfp4" // CHECK-ARM7-ANDROID-FP-D16-NOT: "-target-feature" "+fp-armv8"