xref: /llvm-project/clang/test/Sema/riscv-types.c (revision 32597685574e594d745df1bb15dc0e626bd60566)
1 // RUN: %clang_cc1 -triple riscv64 -target-feature +v \
2 // RUN: -target-feature +zvfh -target-feature +zvfbfmin -ast-print %s | FileCheck %s
3 
4 void bar(void) {
5   // CHECK: __rvv_int64m1_t x0;
6   __rvv_int64m1_t x0;
7 
8   // CHECK: __rvv_float64m1_t x1;
9   __rvv_float64m1_t x1;
10 
11   // CHECK: __rvv_int64m2_t x2;
12   __rvv_int64m2_t x2;
13 
14   // CHECK: __rvv_float64m2_t x3;
15   __rvv_float64m2_t x3;
16 
17   // CHECK: __rvv_int64m4_t x4;
18   __rvv_int64m4_t x4;
19 
20   // CHECK: __rvv_float64m4_t x5;
21   __rvv_float64m4_t x5;
22 
23   // CHECK: __rvv_int64m8_t x6;
24   __rvv_int64m8_t x6;
25 
26   // CHECK: __rvv_float64m8_t x7;
27   __rvv_float64m8_t x7;
28 
29   // CHECK: __rvv_int32m1_t x8;
30   __rvv_int32m1_t x8;
31 
32   // CHECK: __rvv_float32m1_t x9;
33   __rvv_float32m1_t x9;
34 
35   // CHECK: __rvv_int32m2_t x10;
36   __rvv_int32m2_t x10;
37 
38   // CHECK: __rvv_float32m2_t x11;
39   __rvv_float32m2_t x11;
40 
41   // CHECK: __rvv_int32m4_t x12;
42   __rvv_int32m4_t x12;
43 
44   // CHECK: __rvv_float32m4_t x13;
45   __rvv_float32m4_t x13;
46 
47   // CHECK: __rvv_int32m8_t x14;
48   __rvv_int32m8_t x14;
49 
50   // CHECK: __rvv_float32m8_t x15;
51   __rvv_float32m8_t x15;
52 
53   // CHECK: __rvv_int16m1_t x16;
54   __rvv_int16m1_t x16;
55 
56   // CHECK: __rvv_float16m1_t x17;
57   __rvv_float16m1_t x17;
58 
59   // CHECK: __rvv_int16m2_t x18;
60   __rvv_int16m2_t x18;
61 
62   // CHECK: __rvv_float16m2_t x19;
63   __rvv_float16m2_t x19;
64 
65   // CHECK: __rvv_int16m4_t x20;
66   __rvv_int16m4_t x20;
67 
68   // CHECK: __rvv_float16m4_t x21;
69   __rvv_float16m4_t x21;
70 
71   // CHECK: __rvv_int16m8_t x22;
72   __rvv_int16m8_t x22;
73 
74   // CHECK: __rvv_float16m8_t x23;
75   __rvv_float16m8_t x23;
76 
77   // CHECK: __rvv_int8m1_t x24;
78   __rvv_int8m1_t x24;
79 
80   // CHECK: __rvv_int8m2_t x25;
81   __rvv_int8m2_t x25;
82 
83   // CHECK: __rvv_int8m4_t x26;
84   __rvv_int8m4_t x26;
85 
86   // CHECK: __rvv_int8m8_t x27;
87   __rvv_int8m8_t x27;
88 
89   // CHECK: __rvv_bool64_t x28;
90   __rvv_bool64_t x28;
91 
92   // CHECK: __rvv_bool32_t x29;
93   __rvv_bool32_t x29;
94 
95   // CHECK: __rvv_bool16_t x30;
96   __rvv_bool16_t x30;
97 
98   // CHECK: __rvv_bool8_t x31;
99   __rvv_bool8_t x31;
100 
101   // CHECK: __rvv_bool8_t x32;
102   __rvv_bool8_t x32;
103 
104   // CHECK: __rvv_bool8_t x33;
105   __rvv_bool8_t x33;
106 
107   // CHECK: __rvv_bool8_t x34;
108   __rvv_bool8_t x34;
109 
110   // CHECK: __rvv_int32mf2_t x35;
111   __rvv_int32mf2_t x35;
112 
113   // CHECK: __rvv_float32mf2_t x36;
114   __rvv_float32mf2_t x36;
115 
116   // CHECK: __rvv_int16mf4_t x37;
117   __rvv_int16mf4_t x37;
118 
119   // CHECK: __rvv_float16mf4_t x38;
120   __rvv_float16mf4_t x38;
121 
122   // CHECK: __rvv_int16mf2_t x39;
123   __rvv_int16mf2_t x39;
124 
125   // CHECK: __rvv_float16mf2_t x40;
126   __rvv_float16mf2_t x40;
127 
128   // CHECK: __rvv_int8mf8_t x41;
129   __rvv_int8mf8_t x41;
130 
131   // CHECK: __rvv_int8mf4_t x42;
132   __rvv_int8mf4_t x42;
133 
134   // CHECK: __rvv_int8mf2_t x43;
135   __rvv_int8mf2_t x43;
136 
137   // CHECK: __rvv_int32m1x2_t x44;
138   __rvv_int32m1x2_t x44;
139 
140   // CHECK: __rvv_bfloat16m1_t x45;
141   __rvv_bfloat16m1_t x45;
142 
143   // CHECK: __rvv_bfloat16m2_t x46;
144   __rvv_bfloat16m2_t x46;
145 
146   // CHECK: __rvv_bfloat16m4_t x47;
147   __rvv_bfloat16m4_t x47;
148 
149   // CHECK: __rvv_bfloat16m8_t x48;
150   __rvv_bfloat16m8_t x48;
151 
152   // CHECK: __rvv_bfloat16mf4_t x49;
153   __rvv_bfloat16mf4_t x49;
154 
155   // CHECK: __rvv_bfloat16mf2_t x50;
156   __rvv_bfloat16mf2_t x50;
157 
158 }
159 
160 typedef __rvv_bool4_t vbool4_t;
161 __rvv_bool4_t get_rvv_bool4(void);
162 vbool4_t get_vbool4_t(void);
163 
164 void func1(int sel) {
165   // CHECK: vbool4_t t0 = sel ? get_rvv_bool4() : get_vbool4_t();
166   vbool4_t t0 = sel ? get_rvv_bool4() : get_vbool4_t();
167 }
168