Description: Avoid baseline violation on armhf
Forwarded: not-yet
Bug-Debian: https://bugs.debian.org/919183
Author: Graham Inggs <ginggs@debian.org>
Last-Update: 2018-01-22

--- a/deps/llvm.mk
+++ b/deps/llvm.mk
@@ -508,6 +508,7 @@
 $(eval $(call LLVM_PATCH,llvm-D50167-scev-umin))
 $(eval $(call LLVM_PATCH,llvm-windows-race))
 $(eval $(call LLVM_PATCH,llvm-rL326967-aligned-load)) # remove for 7.0
+$(eval $(call LLVM_PATCH,clang-arm-default-vfp3-on-armv7a))
 endif # LLVM_VER
 
 # Remove hardcoded OS X requirements in compilter-rt cmake build
--- /dev/null
+++ b/deps/patches/clang-arm-default-vfp3-on-armv7a.patch
@@ -0,0 +1,24 @@
+--- a/include/llvm/Support/ARMTargetParser.def
++++ b/include/llvm/Support/ARMTargetParser.def
+@@ -75,7 +75,7 @@ ARM_ARCH("armv6kz", ARMV6KZ, "6KZ", "v6k
+ ARM_ARCH("armv6-m", ARMV6M, "6-M", "v6m", ARMBuildAttrs::CPUArch::v6_M,
+           FK_NONE, ARM::AEK_NONE)
+ ARM_ARCH("armv7-a", ARMV7A, "7-A", "v7", ARMBuildAttrs::CPUArch::v7,
+-          FK_NEON, ARM::AEK_DSP)
++          FK_VFPV3_D16, ARM::AEK_DSP)
+ ARM_ARCH("armv7ve", ARMV7VE, "7VE", "v7ve", ARMBuildAttrs::CPUArch::v7,
+           FK_NEON, (ARM::AEK_SEC | ARM::AEK_MP | ARM::AEK_VIRT |
+           ARM::AEK_HWDIVARM | ARM::AEK_HWDIVTHUMB | ARM::AEK_DSP))
+--- a/lib/Target/ARM/ARM.td
++++ b/lib/Target/ARM/ARM.td
+@@ -530,7 +530,8 @@ def ARMv6sm   : Architecture<"armv6s-m",
+                                                        FeatureMClass]>;
+ 
+ def ARMv7a    : Architecture<"armv7-a",   "ARMv7a",   [HasV7Ops,
+-                                                       FeatureNEON,
++                                                       FeatureVFP3,
++                                                       FeatureD16,
+                                                        FeatureDB,
+                                                        FeatureDSP,
+                                                        FeatureAClass]>;
+
