@@ -100,6 +100,24 @@ void ntl_all_sizes() { // CHECK-LABEL: ntl
100
100
* scvs1 = __riscv_ntl_load (scvs2 , __RISCV_NTLH_ALL ); // CHECK: load <vscale x 4 x i16>{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
101
101
* scvc1 = __riscv_ntl_load (scvc2 , __RISCV_NTLH_ALL ); // CHECK: load <vscale x 8 x i8>{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
102
102
103
+ uc = __riscv_ntl_load (& sc ); // CHECK: load i8{{.*}}align 1, !nontemporal !4, !riscv-nontemporal-domain !8
104
+ sc = __riscv_ntl_load (& uc ); // CHECK: load i8{{.*}}align 1, !nontemporal !4, !riscv-nontemporal-domain !8
105
+ us = __riscv_ntl_load (& ss ); // CHECK: load i16{{.*}}align 2, !nontemporal !4, !riscv-nontemporal-domain !8
106
+ ss = __riscv_ntl_load (& us ); // CHECK: load i16{{.*}}align 2, !nontemporal !4, !riscv-nontemporal-domain !8
107
+ ui = __riscv_ntl_load (& si ); // CHECK: load i32{{.*}}align 4, !nontemporal !4, !riscv-nontemporal-domain !8
108
+ si = __riscv_ntl_load (& ui ); // CHECK: load i32{{.*}}align 4, !nontemporal !4, !riscv-nontemporal-domain !8
109
+ ull = __riscv_ntl_load (& sll ); // CHECK: load i64{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
110
+ sll = __riscv_ntl_load (& ull ); // CHECK: load i64{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
111
+ h1 = __riscv_ntl_load (& h2 ); // CHECK: load half{{.*}}align 2, !nontemporal !4, !riscv-nontemporal-domain !8
112
+ f1 = __riscv_ntl_load (& f2 ); // CHECK: load float{{.*}}align 4, !nontemporal !4, !riscv-nontemporal-domain !8
113
+ d1 = __riscv_ntl_load (& d2 ); // CHECK: load double{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
114
+ v4si1 = __riscv_ntl_load (& v4si2 ); // CHECK: load <4 x i32>{{.*}}align 16, !nontemporal !4, !riscv-nontemporal-domain !8
115
+ v8ss1 = __riscv_ntl_load (& v8ss2 ); // CHECK: load <8 x i16>{{.*}}align 16, !nontemporal !4, !riscv-nontemporal-domain !8
116
+ v16sc1 = __riscv_ntl_load (& v16sc2 ); // CHECK: load <16 x i8>{{.*}}align 16, !nontemporal !4, !riscv-nontemporal-domain !8
117
+ * scvi1 = __riscv_ntl_load (scvi2 ); // CHECK: load <vscale x 2 x i32>{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
118
+ * scvs1 = __riscv_ntl_load (scvs2 ); // CHECK: load <vscale x 4 x i16>{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
119
+ * scvc1 = __riscv_ntl_load (scvc2 ); // CHECK: load <vscale x 8 x i8>{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
120
+
103
121
__riscv_ntl_store (& uc , 1 , __RISCV_NTLH_INNERMOST_PRIVATE ); // CHECK: store i8{{.*}}align 1, !nontemporal !4, !riscv-nontemporal-domain !5
104
122
__riscv_ntl_store (& sc , 1 , __RISCV_NTLH_INNERMOST_PRIVATE ); // CHECK: store i8{{.*}}align 1, !nontemporal !4, !riscv-nontemporal-domain !5
105
123
__riscv_ntl_store (& us , 1 , __RISCV_NTLH_INNERMOST_PRIVATE ); // CHECK: store i16{{.*}}align 2, !nontemporal !4, !riscv-nontemporal-domain !5
@@ -172,11 +190,28 @@ void ntl_all_sizes() { // CHECK-LABEL: ntl
172
190
__riscv_ntl_store (scvs2 , * scvs1 , __RISCV_NTLH_ALL ); // CHECK: store <vscale x 4 x i16>{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
173
191
__riscv_ntl_store (scvc2 , * scvc1 , __RISCV_NTLH_ALL ); // CHECK: store <vscale x 8 x i8>{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
174
192
193
+ __riscv_ntl_store (& uc , 1 ); // CHECK: store i8{{.*}}align 1, !nontemporal !4, !riscv-nontemporal-domain !8
194
+ __riscv_ntl_store (& sc , 1 ); // CHECK: store i8{{.*}}align 1, !nontemporal !4, !riscv-nontemporal-domain !8
195
+ __riscv_ntl_store (& us , 1 ); // CHECK: store i16{{.*}}align 2, !nontemporal !4, !riscv-nontemporal-domain !8
196
+ __riscv_ntl_store (& ss , 1 ); // CHECK: store i16{{.*}}align 2, !nontemporal !4, !riscv-nontemporal-domain !8
197
+ __riscv_ntl_store (& ui , 1 ); // CHECK: store i32{{.*}}align 4, !nontemporal !4, !riscv-nontemporal-domain !8
198
+ __riscv_ntl_store (& si , 1 ); // CHECK: store i32{{.*}}align 4, !nontemporal !4, !riscv-nontemporal-domain !8
199
+ __riscv_ntl_store (& ull , 1 ); // CHECK: store i64{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
200
+ __riscv_ntl_store (& sll , 1 ); // CHECK: store i64{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
201
+ __riscv_ntl_store (& h1 , 1.0 ); // CHECK: store half{{.*}}align 2, !nontemporal !4, !riscv-nontemporal-domain !8
202
+ __riscv_ntl_store (& f1 , 1.0 ); // CHECK: store float{{.*}}align 4, !nontemporal !4, !riscv-nontemporal-domain !8
203
+ __riscv_ntl_store (& d1 , 1.0 ); // CHECK: store double{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
204
+ __riscv_ntl_store (& v4si1 , v4si2 ); // CHECK: store <4 x i32>{{.*}}align 16, !nontemporal !4, !riscv-nontemporal-domain !8
205
+ __riscv_ntl_store (& v8ss1 , v8ss2 ); // CHECK: store <8 x i16>{{.*}}align 16, !nontemporal !4, !riscv-nontemporal-domain !8
206
+ __riscv_ntl_store (& v16sc1 , v16sc2 ); // CHECK: store <16 x i8>{{.*}}align 16, !nontemporal !4, !riscv-nontemporal-domain !8
207
+ __riscv_ntl_store (scvi2 , * scvi1 ); // CHECK: store <vscale x 2 x i32>{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
208
+ __riscv_ntl_store (scvs2 , * scvs1 ); // CHECK: store <vscale x 4 x i16>{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
209
+ __riscv_ntl_store (scvc2 , * scvc1 ); // CHECK: store <vscale x 8 x i8>{{.*}}align 8, !nontemporal !4, !riscv-nontemporal-domain !8
175
210
}
176
211
// clang-format on
177
212
178
213
// CHECK: !4 = !{i32 1}
179
214
// CHECK: !5 = !{i32 2}
180
215
// CHECK: !6 = !{i32 3}
181
216
// CHECK: !7 = !{i32 4}
182
- // CHECK: !8 = !{i32 5}
217
+ // CHECK: !8 = !{i32 5}
0 commit comments