1 /* { dg-do compile } */
2 /* { dg-additional-options "-O -msve-vector-bits=256" } */
3 /* { dg-final { check-function-bodies "**" "" } } */
4 
5 #include <arm_sve.h>
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 /*
12 ** cntb_pow2:
13 **	mov	x0, #?32
14 **	ret
15 */
cntb_pow2()16 uint64_t cntb_pow2 () { return svcntb_pat (SV_POW2); }
17 
18 /*
19 ** cntb_vl1:
20 **	mov	x0, #?1
21 **	ret
22 */
cntb_vl1()23 uint64_t cntb_vl1 () { return svcntb_pat (SV_VL1); }
24 
25 /*
26 ** cntb_vl2:
27 **	mov	x0, #?2
28 **	ret
29 */
cntb_vl2()30 uint64_t cntb_vl2 () { return svcntb_pat (SV_VL2); }
31 
32 /*
33 ** cntb_vl3:
34 **	mov	x0, #?3
35 **	ret
36 */
cntb_vl3()37 uint64_t cntb_vl3 () { return svcntb_pat (SV_VL3); }
38 
39 /*
40 ** cntb_vl4:
41 **	mov	x0, #?4
42 **	ret
43 */
cntb_vl4()44 uint64_t cntb_vl4 () { return svcntb_pat (SV_VL4); }
45 
46 /*
47 ** cntb_vl5:
48 **	mov	x0, #?5
49 **	ret
50 */
cntb_vl5()51 uint64_t cntb_vl5 () { return svcntb_pat (SV_VL5); }
52 
53 /*
54 ** cntb_vl6:
55 **	mov	x0, #?6
56 **	ret
57 */
cntb_vl6()58 uint64_t cntb_vl6 () { return svcntb_pat (SV_VL6); }
59 
60 /*
61 ** cntb_vl7:
62 **	mov	x0, #?7
63 **	ret
64 */
cntb_vl7()65 uint64_t cntb_vl7 () { return svcntb_pat (SV_VL7); }
66 
67 /*
68 ** cntb_vl8:
69 **	mov	x0, #?8
70 **	ret
71 */
cntb_vl8()72 uint64_t cntb_vl8 () { return svcntb_pat (SV_VL8); }
73 
74 /*
75 ** cntb_vl16:
76 **	mov	x0, #?16
77 **	ret
78 */
cntb_vl16()79 uint64_t cntb_vl16 () { return svcntb_pat (SV_VL16); }
80 
81 /*
82 ** cntb_vl32:
83 **	mov	x0, #?32
84 **	ret
85 */
cntb_vl32()86 uint64_t cntb_vl32 () { return svcntb_pat (SV_VL32); }
87 
88 /*
89 ** cntb_vl64:
90 **	mov	x0, #?0
91 **	ret
92 */
cntb_vl64()93 uint64_t cntb_vl64 () { return svcntb_pat (SV_VL64); }
94 
95 /*
96 ** cntb_vl128:
97 **	mov	x0, #?0
98 **	ret
99 */
cntb_vl128()100 uint64_t cntb_vl128 () { return svcntb_pat (SV_VL128); }
101 
102 /*
103 ** cntb_vl256:
104 **	mov	x0, #?0
105 **	ret
106 */
cntb_vl256()107 uint64_t cntb_vl256 () { return svcntb_pat (SV_VL256); }
108 
109 /*
110 ** cntb_mul3:
111 **	mov	x0, #?30
112 **	ret
113 */
cntb_mul3()114 uint64_t cntb_mul3 () { return svcntb_pat (SV_MUL3); }
115 
116 /*
117 ** cntb_mul4:
118 **	mov	x0, #?32
119 **	ret
120 */
cntb_mul4()121 uint64_t cntb_mul4 () { return svcntb_pat (SV_MUL4); }
122 
123 /*
124 ** cntb_all:
125 **	mov	x0, #?32
126 **	ret
127 */
cntb_all()128 uint64_t cntb_all () { return svcntb_pat (SV_ALL); }
129 
130 #ifdef __cplusplus
131 }
132 #endif
133