[Patch ARM Refactor Builtins 6/8] Add some tests for "poly" mangling
authorJames Greenhalgh <james.greenhalgh@arm.com>
Tue, 18 Nov 2014 09:57:13 +0000 (09:57 +0000)
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>
Tue, 18 Nov 2014 09:57:13 +0000 (09:57 +0000)
gcc/testsuite/

* g++.dg/abi/mangle-arm-crypto.C: New.
* g++.dg/abi/mangle-neon.C (f19): New.
(f20): Likewise.

From-SVN: r217698

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/abi/mangle-arm-crypto.C [new file with mode: 0644]
gcc/testsuite/g++.dg/abi/mangle-neon.C

index c89309680834e522e919705624a7454396ccd06c..281894e56088bb98e0ba02f3163321cee58d7e91 100644 (file)
@@ -1,3 +1,9 @@
+2014-11-18  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * g++.dg/abi/mangle-arm-crypto.C: New.
+       * g++.dg/abi/mangle-neon.C (f19): New.
+       (f20): Likewise.
+
 2014-11-18  James Greenhalgh  <james.greenhalgh@arm.com>
 
        * gcc.target/arm/pr51968.c (foo): Fix call to
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 (file)
index 0000000..aae8847
--- /dev/null
@@ -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:" } }
index af1fe49f1e3f331fca51ec22eec821ccebdd05f4..9fabf4df00e450cf072af6cd2cba71fc72684d5d 100644 (file)
@@ -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:" } }