diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h
index 101a6e52106..873a1195d3e 100644
--- a/gcc/config/aarch64/arm_neon.h
+++ b/gcc/config/aarch64/arm_neon.h
@@ -5279,22 +5279,6 @@ vabsd_s64 (int64_t __a)
   return __a < 0 ? - (uint64_t) __a : __a;
 }
 
-/* vadd */
-
-__extension__ extern __inline int64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddd_s64 (int64_t __a, int64_t __b)
-{
-  return __a + __b;
-}
-
-__extension__ extern __inline uint64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddd_u64 (uint64_t __a, uint64_t __b)
-{
-  return __a + __b;
-}
-
 /* vaddv */
 
 __extension__ extern __inline int8_t
diff --git a/gcc/testsuite/g++.target/aarch64/pr126652.C b/gcc/testsuite/g++.target/aarch64/pr126652.C
new file mode 100644
index 00000000000..a6916fcdcc8
--- /dev/null
+++ b/gcc/testsuite/g++.target/aarch64/pr126652.C
@@ -0,0 +1,11 @@
+/* { dg-do compile } */
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+#include <arm_neon.h>
+
+#if defined(__cplusplus)
+}
+#endif
