]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sme/acle-asm/zero_mask_za.c
9ce7331ebdd6dff6a65bf269f44169b9cd29ec65
[thirdparty/gcc.git] / gcc / testsuite / gcc.target / aarch64 / sme / acle-asm / zero_mask_za.c
1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
2
3 #define STREAMING_COMPATIBLE
4 #include "test_sme_acle.h"
5
6 /*
7 ** zero_mask_za_0:
8 ** zero { *}
9 ** ret
10 */
11 PROTO (zero_mask_za_0, void, ()) { svzero_mask_za (0); }
12
13 /*
14 ** zero_mask_za_01:
15 ** zero { za0\.d }
16 ** ret
17 */
18 PROTO (zero_mask_za_01, void, ()) { svzero_mask_za (0x01); }
19
20 /*
21 ** zero_mask_za_80:
22 ** zero { za7\.d }
23 ** ret
24 */
25 PROTO (zero_mask_za_80, void, ()) { svzero_mask_za (0x80); }
26
27 /*
28 ** zero_mask_za_03:
29 ** zero { za0\.d, za1\.d }
30 ** ret
31 */
32 PROTO (zero_mask_za_03, void, ()) { svzero_mask_za (0x03); }
33
34 /*
35 ** zero_mask_za_09:
36 ** zero { za0\.d, za3\.d }
37 ** ret
38 */
39 PROTO (zero_mask_za_09, void, ()) { svzero_mask_za (0x09); }
40
41 /*
42 ** zero_mask_za_0d:
43 ** zero { za0\.d, za2\.d, za3\.d }
44 ** ret
45 */
46 PROTO (zero_mask_za_0d, void, ()) { svzero_mask_za (0x0d); }
47
48 /*
49 ** zero_mask_za_3c:
50 ** zero { za2\.d, za3\.d, za4\.d, za5\.d }
51 ** ret
52 */
53 PROTO (zero_mask_za_3c, void, ()) { svzero_mask_za (0x3c); }
54
55 /*
56 ** zero_mask_za_5a:
57 ** zero { za1\.d, za3\.d, za4\.d, za6\.d }
58 ** ret
59 */
60 PROTO (zero_mask_za_5a, void, ()) { svzero_mask_za (0x5a); }
61
62 /*
63 ** zero_mask_za_11:
64 ** zero { za0\.s }
65 ** ret
66 */
67 PROTO (zero_mask_za_11, void, ()) { svzero_mask_za (0x11); }
68
69 /*
70 ** zero_mask_za_88:
71 ** zero { za3\.s }
72 ** ret
73 */
74 PROTO (zero_mask_za_88, void, ()) { svzero_mask_za (0x88); }
75
76 /*
77 ** zero_mask_za_33:
78 ** zero { za0\.s, za1\.s }
79 ** ret
80 */
81 PROTO (zero_mask_za_33, void, ()) { svzero_mask_za (0x33); }
82
83 /*
84 ** zero_mask_za_cc:
85 ** zero { za2\.s, za3\.s }
86 ** ret
87 */
88 PROTO (zero_mask_za_cc, void, ()) { svzero_mask_za (0xcc); }
89
90 /*
91 ** zero_mask_za_55:
92 ** zero { za0\.h }
93 ** ret
94 */
95 PROTO (zero_mask_za_55, void, ()) { svzero_mask_za (0x55); }
96
97 /*
98 ** zero_mask_za_aa:
99 ** zero { za1\.h }
100 ** ret
101 */
102 PROTO (zero_mask_za_aa, void, ()) { svzero_mask_za (0xaa); }
103
104 /*
105 ** zero_mask_za_ab:
106 ** zero { za1\.h, za0\.d }
107 ** ret
108 */
109 PROTO (zero_mask_za_ab, void, ()) { svzero_mask_za (0xab); }
110
111 /*
112 ** zero_mask_za_d7:
113 ** zero { za0\.h, za1\.d, za7\.d }
114 ** ret
115 */
116 PROTO (zero_mask_za_d7, void, ()) { svzero_mask_za (0xd7); }
117
118 /*
119 ** zero_mask_za_bf:
120 ** zero { za1\.h, za0\.s, za2\.d }
121 ** ret
122 */
123 PROTO (zero_mask_za_bf, void, ()) { svzero_mask_za (0xbf); }
124
125 /*
126 ** zero_mask_za_ff:
127 ** zero { za }
128 ** ret
129 */
130 PROTO (zero_mask_za_ff, void, ()) { svzero_mask_za (0xff); }