@@ -51,6 +51,27 @@ _mlir_ciface_printMemrefShapeF64(UnrankedMemRefType<double> *M) {
5151 std::cout << " \n " ;
5252}
5353
54+ extern " C" void
55+ _mlir_ciface_printMemrefShapeInd (UnrankedMemRefType<impl::index_type> *M) {
56+ std::cout << " Unranked Memref " ;
57+ printMemRefMetaData (std::cout, DynamicMemRefType<impl::index_type>(*M));
58+ std::cout << " \n " ;
59+ }
60+
61+ extern " C" void
62+ _mlir_ciface_printMemrefShapeC32 (UnrankedMemRefType<impl::complex32> *M) {
63+ std::cout << " Unranked Memref " ;
64+ printMemRefMetaData (std::cout, DynamicMemRefType<impl::complex32>(*M));
65+ std::cout << " \n " ;
66+ }
67+
68+ extern " C" void
69+ _mlir_ciface_printMemrefShapeC64 (UnrankedMemRefType<impl::complex64> *M) {
70+ std::cout << " Unranked Memref " ;
71+ printMemRefMetaData (std::cout, DynamicMemRefType<impl::complex64>(*M));
72+ std::cout << " \n " ;
73+ }
74+
5475extern " C" void _mlir_ciface_printMemrefVector4x4xf32 (
5576 StridedMemRefType<Vector2D<4 , 4 , float >, 2 > *M) {
5677 impl::printMemRef (*M);
@@ -76,6 +97,21 @@ extern "C" void _mlir_ciface_printMemrefF64(UnrankedMemRefType<double> *M) {
7697 impl::printMemRef (*M);
7798}
7899
100+ extern " C" void
101+ _mlir_ciface_printMemrefInd (UnrankedMemRefType<impl::index_type> *M) {
102+ impl::printMemRef (*M);
103+ }
104+
105+ extern " C" void
106+ _mlir_ciface_printMemrefC32 (UnrankedMemRefType<impl::complex32> *M) {
107+ impl::printMemRef (*M);
108+ }
109+
110+ extern " C" void
111+ _mlir_ciface_printMemrefC64 (UnrankedMemRefType<impl::complex64> *M) {
112+ impl::printMemRef (*M);
113+ }
114+
79115extern " C" int64_t _mlir_ciface_nanoTime () {
80116 auto now = std::chrono::high_resolution_clock::now ();
81117 auto duration = now.time_since_epoch ();
@@ -104,6 +140,24 @@ extern "C" void printMemrefF64(int64_t rank, void *ptr) {
104140 _mlir_ciface_printMemrefF64 (&descriptor);
105141}
106142
143+ // Assume index_type is in fact uint64_t.
144+ static_assert (std::is_same<impl::index_type, uint64_t >::value,
145+ " Expected index_type == uint64_t" );
146+ extern " C" void printMemrefInd (int64_t rank, void *ptr) {
147+ UnrankedMemRefType<impl::index_type> descriptor = {rank, ptr};
148+ _mlir_ciface_printMemrefInd (&descriptor);
149+ }
150+
151+ extern " C" void printMemrefC32 (int64_t rank, void *ptr) {
152+ UnrankedMemRefType<impl::complex32> descriptor = {rank, ptr};
153+ _mlir_ciface_printMemrefC32 (&descriptor);
154+ }
155+
156+ extern " C" void printMemrefC64 (int64_t rank, void *ptr) {
157+ UnrankedMemRefType<impl::complex64> descriptor = {rank, ptr};
158+ _mlir_ciface_printMemrefC64 (&descriptor);
159+ }
160+
107161extern " C" void printCString (char *str) { printf (" %s" , str); }
108162
109163extern " C" void _mlir_ciface_printMemref0dF32 (StridedMemRefType<float , 0 > *M) {
@@ -122,6 +176,39 @@ extern "C" void _mlir_ciface_printMemref4dF32(StridedMemRefType<float, 4> *M) {
122176 impl::printMemRef (*M);
123177}
124178
179+ extern " C" void _mlir_ciface_printMemref1dI8 (StridedMemRefType<int8_t , 1 > *M) {
180+ impl::printMemRef (*M);
181+ }
182+
183+ extern " C" void
184+ _mlir_ciface_printMemref1dI32 (StridedMemRefType<int32_t , 1 > *M) {
185+ impl::printMemRef (*M);
186+ }
187+
188+ extern " C" void
189+ _mlir_ciface_printMemref1dI64 (StridedMemRefType<int64_t , 1 > *M) {
190+ impl::printMemRef (*M);
191+ }
192+
193+ extern " C" void _mlir_ciface_printMemref1dF64 (StridedMemRefType<double , 1 > *M) {
194+ impl::printMemRef (*M);
195+ }
196+
197+ extern " C" void
198+ _mlir_ciface_printMemref1dInd (StridedMemRefType<impl::index_type, 1 > *M) {
199+ impl::printMemRef (*M);
200+ }
201+
202+ extern " C" void
203+ _mlir_ciface_printMemref1dC32 (StridedMemRefType<impl::complex32, 1 > *M) {
204+ impl::printMemRef (*M);
205+ }
206+
207+ extern " C" void
208+ _mlir_ciface_printMemref1dC64 (StridedMemRefType<impl::complex64, 1 > *M) {
209+ impl::printMemRef (*M);
210+ }
211+
125212extern " C" int64_t
126213_mlir_ciface_verifyMemRefI32 (UnrankedMemRefType<int32_t > *actual,
127214 UnrankedMemRefType<int32_t > *expected) {
@@ -140,6 +227,24 @@ _mlir_ciface_verifyMemRefF64(UnrankedMemRefType<double> *actual,
140227 return impl::verifyMemRef (*actual, *expected);
141228}
142229
230+ extern " C" int64_t
231+ _mlir_ciface_verifyMemRefInd (UnrankedMemRefType<impl::index_type> *actual,
232+ UnrankedMemRefType<impl::index_type> *expected) {
233+ return impl::verifyMemRef (*actual, *expected);
234+ }
235+
236+ extern " C" int64_t
237+ _mlir_ciface_verifyMemRefC32 (UnrankedMemRefType<impl::complex32> *actual,
238+ UnrankedMemRefType<impl::complex32> *expected) {
239+ return impl::verifyMemRef (*actual, *expected);
240+ }
241+
242+ extern " C" int64_t
243+ _mlir_ciface_verifyMemRefC64 (UnrankedMemRefType<impl::complex64> *actual,
244+ UnrankedMemRefType<impl::complex64> *expected) {
245+ return impl::verifyMemRef (*actual, *expected);
246+ }
247+
143248extern " C" int64_t verifyMemRefI32 (int64_t rank, void *actualPtr,
144249 void *expectedPtr) {
145250 UnrankedMemRefType<int32_t > actualDesc = {rank, actualPtr};
@@ -161,4 +266,25 @@ extern "C" int64_t verifyMemRefF64(int64_t rank, void *actualPtr,
161266 return _mlir_ciface_verifyMemRefF64 (&actualDesc, &expectedDesc);
162267}
163268
269+ extern " C" int64_t verifyMemRefInd (int64_t rank, void *actualPtr,
270+ void *expectedPtr) {
271+ UnrankedMemRefType<impl::index_type> actualDesc = {rank, actualPtr};
272+ UnrankedMemRefType<impl::index_type> expectedDesc = {rank, expectedPtr};
273+ return _mlir_ciface_verifyMemRefInd (&actualDesc, &expectedDesc);
274+ }
275+
276+ extern " C" int64_t verifyMemRefC32 (int64_t rank, void *actualPtr,
277+ void *expectedPtr) {
278+ UnrankedMemRefType<impl::complex32> actualDesc = {rank, actualPtr};
279+ UnrankedMemRefType<impl::complex32> expectedDesc = {rank, expectedPtr};
280+ return _mlir_ciface_verifyMemRefC32 (&actualDesc, &expectedDesc);
281+ }
282+
283+ extern " C" int64_t verifyMemRefC64 (int64_t rank, void *actualPtr,
284+ void *expectedPtr) {
285+ UnrankedMemRefType<impl::complex64> actualDesc = {rank, actualPtr};
286+ UnrankedMemRefType<impl::complex64> expectedDesc = {rank, expectedPtr};
287+ return _mlir_ciface_verifyMemRefC64 (&actualDesc, &expectedDesc);
288+ }
289+
164290// NOLINTEND(*-identifier-naming)
0 commit comments