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 ** cnth_pow2:
13 **	mov	x0, #?16
14 **	ret
15 */
cnth_pow2()16 uint64_t cnth_pow2 () { return svcnth_pat (SV_POW2); }
17 
18 /*
19 ** cnth_vl1:
20 **	mov	x0, #?1
21 **	ret
22 */
cnth_vl1()23 uint64_t cnth_vl1 () { return svcnth_pat (SV_VL1); }
24 
25 /*
26 ** cnth_vl2:
27 **	mov	x0, #?2
28 **	ret
29 */
cnth_vl2()30 uint64_t cnth_vl2 () { return svcnth_pat (SV_VL2); }
31 
32 /*
33 ** cnth_vl3:
34 **	mov	x0, #?3
35 **	ret
36 */
cnth_vl3()37 uint64_t cnth_vl3 () { return svcnth_pat (SV_VL3); }
38 
39 /*
40 ** cnth_vl4:
41 **	mov	x0, #?4
42 **	ret
43 */
cnth_vl4()44 uint64_t cnth_vl4 () { return svcnth_pat (SV_VL4); }
45 
46 /*
47 ** cnth_vl5:
48 **	mov	x0, #?5
49 **	ret
50 */
cnth_vl5()51 uint64_t cnth_vl5 () { return svcnth_pat (SV_VL5); }
52 
53 /*
54 ** cnth_vl6:
55 **	mov	x0, #?6
56 **	ret
57 */
cnth_vl6()58 uint64_t cnth_vl6 () { return svcnth_pat (SV_VL6); }
59 
60 /*
61 ** cnth_vl7:
62 **	mov	x0, #?7
63 **	ret
64 */
cnth_vl7()65 uint64_t cnth_vl7 () { return svcnth_pat (SV_VL7); }
66 
67 /*
68 ** cnth_vl8:
69 **	mov	x0, #?8
70 **	ret
71 */
cnth_vl8()72 uint64_t cnth_vl8 () { return svcnth_pat (SV_VL8); }
73 
74 /*
75 ** cnth_vl16:
76 **	mov	x0, #?16
77 **	ret
78 */
cnth_vl16()79 uint64_t cnth_vl16 () { return svcnth_pat (SV_VL16); }
80 
81 /*
82 ** cnth_vl32:
83 **	mov	x0, #?0
84 **	ret
85 */
cnth_vl32()86 uint64_t cnth_vl32 () { return svcnth_pat (SV_VL32); }
87 
88 /*
89 ** cnth_vl64:
90 **	mov	x0, #?0
91 **	ret
92 */
cnth_vl64()93 uint64_t cnth_vl64 () { return svcnth_pat (SV_VL64); }
94 
95 /*
96 ** cnth_vl128:
97 **	mov	x0, #?0
98 **	ret
99 */
cnth_vl128()100 uint64_t cnth_vl128 () { return svcnth_pat (SV_VL128); }
101 
102 /*
103 ** cnth_vl256:
104 **	mov	x0, #?0
105 **	ret
106 */
cnth_vl256()107 uint64_t cnth_vl256 () { return svcnth_pat (SV_VL256); }
108 
109 /*
110 ** cnth_mul3:
111 **	mov	x0, #?15
112 **	ret
113 */
cnth_mul3()114 uint64_t cnth_mul3 () { return svcnth_pat (SV_MUL3); }
115 
116 /*
117 ** cnth_mul4:
118 **	mov	x0, #?16
119 **	ret
120 */
cnth_mul4()121 uint64_t cnth_mul4 () { return svcnth_pat (SV_MUL4); }
122 
123 /*
124 ** cnth_all:
125 **	mov	x0, #?16
126 **	ret
127 */
cnth_all()128 uint64_t cnth_all () { return svcnth_pat (SV_ALL); }
129 
130 #ifdef __cplusplus
131 }
132 #endif
133