Hi,

The poly types end up going through the default mangler, but only
sometimes.

We don't want to change the mangling for poly types with the next patch in
this series, so add a test which should pass before and after.

I've checked that the new tests pass at this stage of the patch series,
and bootstrapped on arm-none-linux-gnueabihf for good luck.

OK?

Thanks,
James

---
gcc/testsuite/

2014-11-12  James Greenhalgh  <james.greenha...@arm.com>

        * g++.dg/abi/mangle-arm-crypto.C: New.
        * g++.dg/abi/mangle-neon.C (f19): New.
        (f20): Likewise.
diff --git a/gcc/testsuite/g++.dg/abi/mangle-arm-crypto.C b/gcc/testsuite/g++.dg/abi/mangle-arm-crypto.C
new file mode 100644
index 0000000..aae8847
--- /dev/null
+++ b/gcc/testsuite/g++.dg/abi/mangle-arm-crypto.C
@@ -0,0 +1,16 @@
+// Test that ARM NEON types used by the Cryptograpy Extensions
+// have their names mangled correctly.
+
+// { dg-do compile }
+// { dg-require-effective-target arm_crypto_ok }
+// { dg-add-options arm_neon }
+
+#include <arm_neon.h>
+
+void f0 (poly64_t a) {}
+void f1 (poly128_t a) {}
+void f2 (poly64x2_t a) {}
+
+// { dg-final { scan-assembler "_Z2f0y:" } }
+// { dg-final { scan-assembler "_Z2f1o:" } }
+// { dg-final { scan-assembler "_Z2f2Dv2_y:" } }
diff --git a/gcc/testsuite/g++.dg/abi/mangle-neon.C b/gcc/testsuite/g++.dg/abi/mangle-neon.C
index af1fe49..9fabf4d 100644
--- a/gcc/testsuite/g++.dg/abi/mangle-neon.C
+++ b/gcc/testsuite/g++.dg/abi/mangle-neon.C
@@ -28,6 +28,9 @@ void f17 (poly16x8_t a) {}
 
 void f18 (int8x16_t, int8x16_t) {}
 
+void f19 (poly8_t a) {}
+void f20 (poly16_t a) {}
+
 // { dg-final { scan-assembler "_Z2f015__simd64_int8_t:" } }
 // { dg-final { scan-assembler "_Z2f116__simd64_int16_t:" } }
 // { dg-final { scan-assembler "_Z2f216__simd64_int32_t:" } }
@@ -47,3 +50,5 @@ void f18 (int8x16_t, int8x16_t) {}
 // { dg-final { scan-assembler "_Z3f1617__simd128_poly8_t:" } }
 // { dg-final { scan-assembler "_Z3f1718__simd128_poly16_t:" } }
 // { dg-final { scan-assembler "_Z3f1816__simd128_int8_tS_:" } }
+// { dg-final { scan-assembler "_Z3f19a:" } }
+// { dg-final { scan-assembler "_Z3f20s:" } }

Reply via email to