annotate gcc/testsuite/gcc.target/arm/acle/cde-mve-error-1.c @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
152
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
1 #include "arm_cde.h"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
2
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
3 /* { dg-do assemble } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
4 /* { dg-require-effective-target arm_v8_1m_main_cde_mve_fp_ok } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
5 /* { dg-add-options arm_v8_1m_main_cde_mve_fp } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
6
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
7 /* Ensure the error messages make sense when passing too many/too few arguments
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
8 to the intrinsic user-facing functions. */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
9 uint8x16_t test_invalid_arguments (uint8x16_t n, uint8x16_t m)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
10 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
11 uint8x16_t accum = __arm_vcx1q_u8 (0, 33, 1); /* { dg-error {macro "__arm_vcx1q_u8" passed 3 arguments, but takes just 2} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
12 accum += __arm_vcx1qa (0, accum, 33, 1); /* { dg-error {macro "__arm_vcx1qa" passed 4 arguments, but takes just 3} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
13 accum += __arm_vcx2q_u8 (0, n, 33, 1); /* { dg-error {macro "__arm_vcx2q_u8" passed 4 arguments, but takes just 3} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
14 accum += __arm_vcx2q (0, n, 33, 1); /* { dg-error {macro "__arm_vcx2q" passed 4 arguments, but takes just 3} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
15 accum += __arm_vcx2qa (0, accum, n, 33, 1); /* { dg-error {macro "__arm_vcx2qa" passed 5 arguments, but takes just 4} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
16 accum += __arm_vcx3q_u8 (0, n, m, 33, 1); /* { dg-error {macro "__arm_vcx3q_u8" passed 5 arguments, but takes just 4} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
17 accum += __arm_vcx3q (0, n, m, 33, 1); /* { dg-error {macro "__arm_vcx3q" passed 5 arguments, but takes just 4} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
18 accum += __arm_vcx3qa (0, accum, n, m, 33, 1); /* { dg-error {macro "__arm_vcx3qa" passed 6 arguments, but takes just 5} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
19 accum += __arm_vcx1q_u8 (0); /* { dg-error {macro "__arm_vcx1q_u8" requires 2 arguments, but only 1 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
20 accum += __arm_vcx1qa (0, accum); /* { dg-error {macro "__arm_vcx1qa" requires 3 arguments, but only 2 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
21 accum += __arm_vcx2q_u8 (0, n); /* { dg-error {macro "__arm_vcx2q_u8" requires 3 arguments, but only 2 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
22 accum += __arm_vcx2q (0, n); /* { dg-error {macro "__arm_vcx2q" requires 3 arguments, but only 2 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
23 accum += __arm_vcx2qa (0, accum, n); /* { dg-error {macro "__arm_vcx2qa" requires 4 arguments, but only 3 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
24 accum += __arm_vcx3q_u8 (0, n, m); /* { dg-error {macro "__arm_vcx3q_u8" requires 4 arguments, but only 3 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
25 accum += __arm_vcx3q (0, n, m); /* { dg-error {macro "__arm_vcx3q" requires 4 arguments, but only 3 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
26 accum += __arm_vcx3qa (0, accum, n, m); /* { dg-error {macro "__arm_vcx3qa" requires 5 arguments, but only 4 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
27
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
28 accum += __arm_vcx1q_m (0, accum, 33, 1, 4); /* { dg-error {macro "__arm_vcx1q_m" passed 5 arguments, but takes just 4} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
29 accum += __arm_vcx1qa_m (0, accum, 33, 1, 4); /* { dg-error {macro "__arm_vcx1qa_m" passed 5 arguments, but takes just 4} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
30 accum += __arm_vcx2q_m (0, accum, n, 33, 1, 4); /* { dg-error {macro "__arm_vcx2q_m" passed 6 arguments, but takes just 5} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
31 accum += __arm_vcx2qa_m (0, accum, n, 33, 1, 4); /* { dg-error {macro "__arm_vcx2qa_m" passed 6 arguments, but takes just 5} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
32 accum += __arm_vcx3q_m (0, accum, n, m, 33, 1, 4); /* { dg-error {macro "__arm_vcx3q_m" passed 7 arguments, but takes just 6} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
33 accum += __arm_vcx3qa_m (0, accum, n, m, 33, 1, 4); /* { dg-error {macro "__arm_vcx3qa_m" passed 7 arguments, but takes just 6} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
34 accum += __arm_vcx1q_m (0, accum, 4); /* { dg-error {macro "__arm_vcx1q_m" requires 4 arguments, but only 3 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
35 accum += __arm_vcx1qa_m (0, accum, 4); /* { dg-error {macro "__arm_vcx1qa_m" requires 4 arguments, but only 3 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
36 accum += __arm_vcx2q_m (0, accum, n, 4); /* { dg-error {macro "__arm_vcx2q_m" requires 5 arguments, but only 4 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
37 accum += __arm_vcx2qa_m (0, accum, n, 4); /* { dg-error {macro "__arm_vcx2qa_m" requires 5 arguments, but only 4 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
38 accum += __arm_vcx3q_m (0, accum, n, m, 4); /* { dg-error {macro "__arm_vcx3q_m" requires 6 arguments, but only 5 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
39 accum += __arm_vcx3qa_m (0, accum, n, m, 4); /* { dg-error {macro "__arm_vcx3qa_m" requires 6 arguments, but only 5 given} } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
40
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
41 /* The preprocessor complains that the macro was given an invalid number of
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
42 arguments, and because of that ends up not expanding the macro but
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
43 rather just leaving the macro name in the source code. That macro name
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
44 results in these errors. */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
45 /* { dg-error {'__arm_vcx1q_u8' undeclared \(first use in this function\)} "" { target { *-*-* } } 11 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
46 /* { dg-error {'__arm_vcx1qa' undeclared \(first use in this function\)} "" { target { *-*-* } } 12 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
47 /* { dg-error {'__arm_vcx2q_u8' undeclared \(first use in this function\)} "" { target { *-*-* } } 13 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
48 /* { dg-error {'__arm_vcx2q' undeclared \(first use in this function\)} "" { target { *-*-* } } 14 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
49 /* { dg-error {'__arm_vcx2qa' undeclared \(first use in this function\)} "" { target { *-*-* } } 15 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
50 /* { dg-error {'__arm_vcx3q_u8' undeclared \(first use in this function\)} "" { target { *-*-* } } 16 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
51 /* { dg-error {'__arm_vcx3q' undeclared \(first use in this function\)} "" { target { *-*-* } } 17 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
52 /* { dg-error {'__arm_vcx3qa' undeclared \(first use in this function\)} "" { target { *-*-* } } 18 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
53
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
54 /* { dg-error {'__arm_vcx1q_m' undeclared \(first use in this function\)} "" { target { *-*-* } } 28 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
55 /* { dg-error {'__arm_vcx1qa_m' undeclared \(first use in this function\)} "" { target { *-*-* } } 29 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
56 /* { dg-error {'__arm_vcx2q_m' undeclared \(first use in this function\)} "" { target { *-*-* } } 30 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
57 /* { dg-error {'__arm_vcx2qa_m' undeclared \(first use in this function\)} "" { target { *-*-* } } 31 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
58 /* { dg-error {'__arm_vcx3q_m' undeclared \(first use in this function\)} "" { target { *-*-* } } 32 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
59 /* { dg-error {'__arm_vcx3qa_m' undeclared \(first use in this function\)} "" { target { *-*-* } } 33 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
60
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
61 return accum;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
62 }