14a966e5dSNicolas Vasilache //===- RunnerUtils.cpp - Utils for MLIR exec on targets with a C++ runtime ===//
2fcfd3a28SNicolas Vasilache //
3fcfd3a28SNicolas Vasilache // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4fcfd3a28SNicolas Vasilache // See https://llvm.org/LICENSE.txt for license information.
5fcfd3a28SNicolas Vasilache // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6fcfd3a28SNicolas Vasilache //
7fcfd3a28SNicolas Vasilache //===----------------------------------------------------------------------===//
8fcfd3a28SNicolas Vasilache //
9e5a85126SKazuaki Ishizaki // This file implements basic functions to debug structured MLIR types at
104a966e5dSNicolas Vasilache // runtime. Entities in this file may not be compatible with targets without a
114a966e5dSNicolas Vasilache // C++ runtime. These may be progressively migrated to CRunnerUtils.cpp over
124a966e5dSNicolas Vasilache // time.
13fcfd3a28SNicolas Vasilache //
14fcfd3a28SNicolas Vasilache //===----------------------------------------------------------------------===//
15fcfd3a28SNicolas Vasilache
16fcfd3a28SNicolas Vasilache #include "mlir/ExecutionEngine/RunnerUtils.h"
17aaea92e1SDenys Shabalin #include <chrono>
18fcfd3a28SNicolas Vasilache
1902b6fb21SMehdi Amini // NOLINTBEGIN(*-identifier-naming)
2002b6fb21SMehdi Amini
_mlir_ciface_printMemrefShapeI8(UnrankedMemRefType<int8_t> * M)21d4555698SStella Stamenova extern "C" void _mlir_ciface_printMemrefShapeI8(UnrankedMemRefType<int8_t> *M) {
224f4f3f1eSNicolas Vasilache std::cout << "Unranked Memref ";
234f4f3f1eSNicolas Vasilache printMemRefMetaData(std::cout, DynamicMemRefType<int8_t>(*M));
244f4f3f1eSNicolas Vasilache std::cout << "\n";
254f4f3f1eSNicolas Vasilache }
264f4f3f1eSNicolas Vasilache
274f4f3f1eSNicolas Vasilache extern "C" void
_mlir_ciface_printMemrefShapeI32(UnrankedMemRefType<int32_t> * M)28d4555698SStella Stamenova _mlir_ciface_printMemrefShapeI32(UnrankedMemRefType<int32_t> *M) {
294f4f3f1eSNicolas Vasilache std::cout << "Unranked Memref ";
304f4f3f1eSNicolas Vasilache printMemRefMetaData(std::cout, DynamicMemRefType<int32_t>(*M));
314f4f3f1eSNicolas Vasilache std::cout << "\n";
324f4f3f1eSNicolas Vasilache }
334f4f3f1eSNicolas Vasilache
344f4f3f1eSNicolas Vasilache extern "C" void
_mlir_ciface_printMemrefShapeI64(UnrankedMemRefType<int64_t> * M)35d4555698SStella Stamenova _mlir_ciface_printMemrefShapeI64(UnrankedMemRefType<int64_t> *M) {
364f4f3f1eSNicolas Vasilache std::cout << "Unranked Memref ";
374f4f3f1eSNicolas Vasilache printMemRefMetaData(std::cout, DynamicMemRefType<int64_t>(*M));
384f4f3f1eSNicolas Vasilache std::cout << "\n";
394f4f3f1eSNicolas Vasilache }
404f4f3f1eSNicolas Vasilache
_mlir_ciface_printMemrefShapeF32(UnrankedMemRefType<float> * M)41d4555698SStella Stamenova extern "C" void _mlir_ciface_printMemrefShapeF32(UnrankedMemRefType<float> *M) {
424f4f3f1eSNicolas Vasilache std::cout << "Unranked Memref ";
434f4f3f1eSNicolas Vasilache printMemRefMetaData(std::cout, DynamicMemRefType<float>(*M));
444f4f3f1eSNicolas Vasilache std::cout << "\n";
454f4f3f1eSNicolas Vasilache }
464f4f3f1eSNicolas Vasilache
474f4f3f1eSNicolas Vasilache extern "C" void
_mlir_ciface_printMemrefShapeF64(UnrankedMemRefType<double> * M)48d4555698SStella Stamenova _mlir_ciface_printMemrefShapeF64(UnrankedMemRefType<double> *M) {
494f4f3f1eSNicolas Vasilache std::cout << "Unranked Memref ";
504f4f3f1eSNicolas Vasilache printMemRefMetaData(std::cout, DynamicMemRefType<double>(*M));
514f4f3f1eSNicolas Vasilache std::cout << "\n";
524f4f3f1eSNicolas Vasilache }
534f4f3f1eSNicolas Vasilache
549b1513eeSbixia1 extern "C" void
_mlir_ciface_printMemrefShapeInd(UnrankedMemRefType<impl::index_type> * M)559b1513eeSbixia1 _mlir_ciface_printMemrefShapeInd(UnrankedMemRefType<impl::index_type> *M) {
569b1513eeSbixia1 std::cout << "Unranked Memref ";
579b1513eeSbixia1 printMemRefMetaData(std::cout, DynamicMemRefType<impl::index_type>(*M));
589b1513eeSbixia1 std::cout << "\n";
599b1513eeSbixia1 }
609b1513eeSbixia1
619b1513eeSbixia1 extern "C" void
_mlir_ciface_printMemrefShapeC32(UnrankedMemRefType<impl::complex32> * M)629b1513eeSbixia1 _mlir_ciface_printMemrefShapeC32(UnrankedMemRefType<impl::complex32> *M) {
639b1513eeSbixia1 std::cout << "Unranked Memref ";
649b1513eeSbixia1 printMemRefMetaData(std::cout, DynamicMemRefType<impl::complex32>(*M));
659b1513eeSbixia1 std::cout << "\n";
669b1513eeSbixia1 }
679b1513eeSbixia1
689b1513eeSbixia1 extern "C" void
_mlir_ciface_printMemrefShapeC64(UnrankedMemRefType<impl::complex64> * M)699b1513eeSbixia1 _mlir_ciface_printMemrefShapeC64(UnrankedMemRefType<impl::complex64> *M) {
709b1513eeSbixia1 std::cout << "Unranked Memref ";
719b1513eeSbixia1 printMemRefMetaData(std::cout, DynamicMemRefType<impl::complex64>(*M));
729b1513eeSbixia1 std::cout << "\n";
739b1513eeSbixia1 }
749b1513eeSbixia1
_mlir_ciface_printMemrefVector4x4xf32(StridedMemRefType<Vector2D<4,4,float>,2> * M)75d4555698SStella Stamenova extern "C" void _mlir_ciface_printMemrefVector4x4xf32(
76fcfd3a28SNicolas Vasilache StridedMemRefType<Vector2D<4, 4, float>, 2> *M) {
77fcfd3a28SNicolas Vasilache impl::printMemRef(*M);
78fcfd3a28SNicolas Vasilache }
79fcfd3a28SNicolas Vasilache
_mlir_ciface_printMemrefI8(UnrankedMemRefType<int8_t> * M)80d4555698SStella Stamenova extern "C" void _mlir_ciface_printMemrefI8(UnrankedMemRefType<int8_t> *M) {
81222e0e58SChristian Sigg impl::printMemRef(*M);
82fcfd3a28SNicolas Vasilache }
83fcfd3a28SNicolas Vasilache
_mlir_ciface_printMemrefI16(UnrankedMemRefType<int16_t> * M)847bc6c4abSYinying Li extern "C" void _mlir_ciface_printMemrefI16(UnrankedMemRefType<int16_t> *M) {
857bc6c4abSYinying Li impl::printMemRef(*M);
867bc6c4abSYinying Li }
877bc6c4abSYinying Li
_mlir_ciface_printMemrefI32(UnrankedMemRefType<int32_t> * M)88d4555698SStella Stamenova extern "C" void _mlir_ciface_printMemrefI32(UnrankedMemRefType<int32_t> *M) {
89222e0e58SChristian Sigg impl::printMemRef(*M);
90c7380995SValentin Clement }
91c7380995SValentin Clement
_mlir_ciface_printMemrefI64(UnrankedMemRefType<int64_t> * M)92d4555698SStella Stamenova extern "C" void _mlir_ciface_printMemrefI64(UnrankedMemRefType<int64_t> *M) {
93c6b2c17eSAlexander Belyaev impl::printMemRef(*M);
94c6b2c17eSAlexander Belyaev }
95c6b2c17eSAlexander Belyaev
_mlir_ciface_printMemrefF16(UnrankedMemRefType<f16> * M)967bc6c4abSYinying Li extern "C" void _mlir_ciface_printMemrefF16(UnrankedMemRefType<f16> *M) {
977bc6c4abSYinying Li impl::printMemRef(*M);
987bc6c4abSYinying Li }
997bc6c4abSYinying Li
_mlir_ciface_printMemrefBF16(UnrankedMemRefType<bf16> * M)1007bc6c4abSYinying Li extern "C" void _mlir_ciface_printMemrefBF16(UnrankedMemRefType<bf16> *M) {
1017bc6c4abSYinying Li impl::printMemRef(*M);
1027bc6c4abSYinying Li }
1037bc6c4abSYinying Li
_mlir_ciface_printMemrefF32(UnrankedMemRefType<float> * M)104d4555698SStella Stamenova extern "C" void _mlir_ciface_printMemrefF32(UnrankedMemRefType<float> *M) {
105222e0e58SChristian Sigg impl::printMemRef(*M);
106fcfd3a28SNicolas Vasilache }
107fcfd3a28SNicolas Vasilache
_mlir_ciface_printMemrefF64(UnrankedMemRefType<double> * M)108d4555698SStella Stamenova extern "C" void _mlir_ciface_printMemrefF64(UnrankedMemRefType<double> *M) {
1095711eaf6SJakub Lichman impl::printMemRef(*M);
1105711eaf6SJakub Lichman }
1115711eaf6SJakub Lichman
1129b1513eeSbixia1 extern "C" void
_mlir_ciface_printMemrefInd(UnrankedMemRefType<impl::index_type> * M)1139b1513eeSbixia1 _mlir_ciface_printMemrefInd(UnrankedMemRefType<impl::index_type> *M) {
1149b1513eeSbixia1 impl::printMemRef(*M);
1159b1513eeSbixia1 }
1169b1513eeSbixia1
1179b1513eeSbixia1 extern "C" void
_mlir_ciface_printMemrefC32(UnrankedMemRefType<impl::complex32> * M)1189b1513eeSbixia1 _mlir_ciface_printMemrefC32(UnrankedMemRefType<impl::complex32> *M) {
1199b1513eeSbixia1 impl::printMemRef(*M);
1209b1513eeSbixia1 }
1219b1513eeSbixia1
1229b1513eeSbixia1 extern "C" void
_mlir_ciface_printMemrefC64(UnrankedMemRefType<impl::complex64> * M)1239b1513eeSbixia1 _mlir_ciface_printMemrefC64(UnrankedMemRefType<impl::complex64> *M) {
1249b1513eeSbixia1 impl::printMemRef(*M);
1259b1513eeSbixia1 }
1269b1513eeSbixia1
_mlir_ciface_nanoTime()127d4555698SStella Stamenova extern "C" int64_t _mlir_ciface_nanoTime() {
128aaea92e1SDenys Shabalin auto now = std::chrono::high_resolution_clock::now();
129aaea92e1SDenys Shabalin auto duration = now.time_since_epoch();
130aaea92e1SDenys Shabalin auto nanoseconds =
131aaea92e1SDenys Shabalin std::chrono::duration_cast<std::chrono::nanoseconds>(duration);
132aaea92e1SDenys Shabalin return nanoseconds.count();
133aaea92e1SDenys Shabalin }
134aaea92e1SDenys Shabalin
printMemrefI32(int64_t rank,void * ptr)135d4555698SStella Stamenova extern "C" void printMemrefI32(int64_t rank, void *ptr) {
136c7380995SValentin Clement UnrankedMemRefType<int32_t> descriptor = {rank, ptr};
137d4555698SStella Stamenova _mlir_ciface_printMemrefI32(&descriptor);
138c7380995SValentin Clement }
139c7380995SValentin Clement
printMemrefI64(int64_t rank,void * ptr)140d4555698SStella Stamenova extern "C" void printMemrefI64(int64_t rank, void *ptr) {
141c6b2c17eSAlexander Belyaev UnrankedMemRefType<int64_t> descriptor = {rank, ptr};
142d4555698SStella Stamenova _mlir_ciface_printMemrefI64(&descriptor);
143c6b2c17eSAlexander Belyaev }
144c6b2c17eSAlexander Belyaev
printMemrefF32(int64_t rank,void * ptr)145d4555698SStella Stamenova extern "C" void printMemrefF32(int64_t rank, void *ptr) {
146c7380995SValentin Clement UnrankedMemRefType<float> descriptor = {rank, ptr};
147d4555698SStella Stamenova _mlir_ciface_printMemrefF32(&descriptor);
148fcfd3a28SNicolas Vasilache }
149fcfd3a28SNicolas Vasilache
printMemrefF64(int64_t rank,void * ptr)150d4555698SStella Stamenova extern "C" void printMemrefF64(int64_t rank, void *ptr) {
1515711eaf6SJakub Lichman UnrankedMemRefType<double> descriptor = {rank, ptr};
152d4555698SStella Stamenova _mlir_ciface_printMemrefF64(&descriptor);
1535711eaf6SJakub Lichman }
1545711eaf6SJakub Lichman
1559b1513eeSbixia1 // Assume index_type is in fact uint64_t.
1569b1513eeSbixia1 static_assert(std::is_same<impl::index_type, uint64_t>::value,
1579b1513eeSbixia1 "Expected index_type == uint64_t");
printMemrefInd(int64_t rank,void * ptr)1589b1513eeSbixia1 extern "C" void printMemrefInd(int64_t rank, void *ptr) {
1599b1513eeSbixia1 UnrankedMemRefType<impl::index_type> descriptor = {rank, ptr};
1609b1513eeSbixia1 _mlir_ciface_printMemrefInd(&descriptor);
1619b1513eeSbixia1 }
1629b1513eeSbixia1
printMemrefC32(int64_t rank,void * ptr)1639b1513eeSbixia1 extern "C" void printMemrefC32(int64_t rank, void *ptr) {
1649b1513eeSbixia1 UnrankedMemRefType<impl::complex32> descriptor = {rank, ptr};
1659b1513eeSbixia1 _mlir_ciface_printMemrefC32(&descriptor);
1669b1513eeSbixia1 }
1679b1513eeSbixia1
printMemrefC64(int64_t rank,void * ptr)1689b1513eeSbixia1 extern "C" void printMemrefC64(int64_t rank, void *ptr) {
1699b1513eeSbixia1 UnrankedMemRefType<impl::complex64> descriptor = {rank, ptr};
1709b1513eeSbixia1 _mlir_ciface_printMemrefC64(&descriptor);
1719b1513eeSbixia1 }
1729b1513eeSbixia1
_mlir_ciface_printMemref0dF32(StridedMemRefType<float,0> * M)173d4555698SStella Stamenova extern "C" void _mlir_ciface_printMemref0dF32(StridedMemRefType<float, 0> *M) {
174fcfd3a28SNicolas Vasilache impl::printMemRef(*M);
175fcfd3a28SNicolas Vasilache }
_mlir_ciface_printMemref1dF32(StridedMemRefType<float,1> * M)176d4555698SStella Stamenova extern "C" void _mlir_ciface_printMemref1dF32(StridedMemRefType<float, 1> *M) {
177fcfd3a28SNicolas Vasilache impl::printMemRef(*M);
178fcfd3a28SNicolas Vasilache }
_mlir_ciface_printMemref2dF32(StridedMemRefType<float,2> * M)179d4555698SStella Stamenova extern "C" void _mlir_ciface_printMemref2dF32(StridedMemRefType<float, 2> *M) {
180fcfd3a28SNicolas Vasilache impl::printMemRef(*M);
181fcfd3a28SNicolas Vasilache }
_mlir_ciface_printMemref3dF32(StridedMemRefType<float,3> * M)182d4555698SStella Stamenova extern "C" void _mlir_ciface_printMemref3dF32(StridedMemRefType<float, 3> *M) {
183fcfd3a28SNicolas Vasilache impl::printMemRef(*M);
184fcfd3a28SNicolas Vasilache }
_mlir_ciface_printMemref4dF32(StridedMemRefType<float,4> * M)185d4555698SStella Stamenova extern "C" void _mlir_ciface_printMemref4dF32(StridedMemRefType<float, 4> *M) {
186fcfd3a28SNicolas Vasilache impl::printMemRef(*M);
187fcfd3a28SNicolas Vasilache }
18899f3510bSTobias Gysi
_mlir_ciface_printMemref1dI8(StridedMemRefType<int8_t,1> * M)1899b1513eeSbixia1 extern "C" void _mlir_ciface_printMemref1dI8(StridedMemRefType<int8_t, 1> *M) {
1909b1513eeSbixia1 impl::printMemRef(*M);
1919b1513eeSbixia1 }
1929b1513eeSbixia1
1939b1513eeSbixia1 extern "C" void
_mlir_ciface_printMemref1dI32(StridedMemRefType<int32_t,1> * M)1949b1513eeSbixia1 _mlir_ciface_printMemref1dI32(StridedMemRefType<int32_t, 1> *M) {
1959b1513eeSbixia1 impl::printMemRef(*M);
1969b1513eeSbixia1 }
1979b1513eeSbixia1
1989b1513eeSbixia1 extern "C" void
_mlir_ciface_printMemref1dI64(StridedMemRefType<int64_t,1> * M)1999b1513eeSbixia1 _mlir_ciface_printMemref1dI64(StridedMemRefType<int64_t, 1> *M) {
2009b1513eeSbixia1 impl::printMemRef(*M);
2019b1513eeSbixia1 }
2029b1513eeSbixia1
_mlir_ciface_printMemref1dF64(StridedMemRefType<double,1> * M)2039b1513eeSbixia1 extern "C" void _mlir_ciface_printMemref1dF64(StridedMemRefType<double, 1> *M) {
2049b1513eeSbixia1 impl::printMemRef(*M);
2059b1513eeSbixia1 }
2069b1513eeSbixia1
2079b1513eeSbixia1 extern "C" void
_mlir_ciface_printMemref1dInd(StridedMemRefType<impl::index_type,1> * M)2089b1513eeSbixia1 _mlir_ciface_printMemref1dInd(StridedMemRefType<impl::index_type, 1> *M) {
2099b1513eeSbixia1 impl::printMemRef(*M);
2109b1513eeSbixia1 }
2119b1513eeSbixia1
2129b1513eeSbixia1 extern "C" void
_mlir_ciface_printMemref1dC32(StridedMemRefType<impl::complex32,1> * M)2139b1513eeSbixia1 _mlir_ciface_printMemref1dC32(StridedMemRefType<impl::complex32, 1> *M) {
2149b1513eeSbixia1 impl::printMemRef(*M);
2159b1513eeSbixia1 }
2169b1513eeSbixia1
2179b1513eeSbixia1 extern "C" void
_mlir_ciface_printMemref1dC64(StridedMemRefType<impl::complex64,1> * M)2189b1513eeSbixia1 _mlir_ciface_printMemref1dC64(StridedMemRefType<impl::complex64, 1> *M) {
2199b1513eeSbixia1 impl::printMemRef(*M);
2209b1513eeSbixia1 }
2219b1513eeSbixia1
22299f3510bSTobias Gysi extern "C" int64_t
_mlir_ciface_verifyMemRefI8(UnrankedMemRefType<int8_t> * actual,UnrankedMemRefType<int8_t> * expected)223*753dc0a0SYinying Li _mlir_ciface_verifyMemRefI8(UnrankedMemRefType<int8_t> *actual,
224*753dc0a0SYinying Li UnrankedMemRefType<int8_t> *expected) {
225*753dc0a0SYinying Li return impl::verifyMemRef(*actual, *expected);
226*753dc0a0SYinying Li }
227*753dc0a0SYinying Li
228*753dc0a0SYinying Li extern "C" int64_t
_mlir_ciface_verifyMemRefI16(UnrankedMemRefType<int16_t> * actual,UnrankedMemRefType<int16_t> * expected)229*753dc0a0SYinying Li _mlir_ciface_verifyMemRefI16(UnrankedMemRefType<int16_t> *actual,
230*753dc0a0SYinying Li UnrankedMemRefType<int16_t> *expected) {
231*753dc0a0SYinying Li return impl::verifyMemRef(*actual, *expected);
232*753dc0a0SYinying Li }
233*753dc0a0SYinying Li
234*753dc0a0SYinying Li extern "C" int64_t
_mlir_ciface_verifyMemRefI32(UnrankedMemRefType<int32_t> * actual,UnrankedMemRefType<int32_t> * expected)23599f3510bSTobias Gysi _mlir_ciface_verifyMemRefI32(UnrankedMemRefType<int32_t> *actual,
23699f3510bSTobias Gysi UnrankedMemRefType<int32_t> *expected) {
23799f3510bSTobias Gysi return impl::verifyMemRef(*actual, *expected);
23899f3510bSTobias Gysi }
23999f3510bSTobias Gysi
24099f3510bSTobias Gysi extern "C" int64_t
_mlir_ciface_verifyMemRefI64(UnrankedMemRefType<int64_t> * actual,UnrankedMemRefType<int64_t> * expected)241*753dc0a0SYinying Li _mlir_ciface_verifyMemRefI64(UnrankedMemRefType<int64_t> *actual,
242*753dc0a0SYinying Li UnrankedMemRefType<int64_t> *expected) {
243*753dc0a0SYinying Li return impl::verifyMemRef(*actual, *expected);
244*753dc0a0SYinying Li }
245*753dc0a0SYinying Li
246*753dc0a0SYinying Li extern "C" int64_t
_mlir_ciface_verifyMemRefF16(UnrankedMemRefType<f16> * actual,UnrankedMemRefType<f16> * expected)247*753dc0a0SYinying Li _mlir_ciface_verifyMemRefF16(UnrankedMemRefType<f16> *actual,
248*753dc0a0SYinying Li UnrankedMemRefType<f16> *expected) {
249*753dc0a0SYinying Li return impl::verifyMemRef(*actual, *expected);
250*753dc0a0SYinying Li }
251*753dc0a0SYinying Li
252*753dc0a0SYinying Li extern "C" int64_t
_mlir_ciface_verifyMemRefBF16(UnrankedMemRefType<bf16> * actual,UnrankedMemRefType<bf16> * expected)253*753dc0a0SYinying Li _mlir_ciface_verifyMemRefBF16(UnrankedMemRefType<bf16> *actual,
254*753dc0a0SYinying Li UnrankedMemRefType<bf16> *expected) {
255*753dc0a0SYinying Li return impl::verifyMemRef(*actual, *expected);
256*753dc0a0SYinying Li }
257*753dc0a0SYinying Li
258*753dc0a0SYinying Li extern "C" int64_t
_mlir_ciface_verifyMemRefF32(UnrankedMemRefType<float> * actual,UnrankedMemRefType<float> * expected)25999f3510bSTobias Gysi _mlir_ciface_verifyMemRefF32(UnrankedMemRefType<float> *actual,
26099f3510bSTobias Gysi UnrankedMemRefType<float> *expected) {
26199f3510bSTobias Gysi return impl::verifyMemRef(*actual, *expected);
26299f3510bSTobias Gysi }
26399f3510bSTobias Gysi
26499f3510bSTobias Gysi extern "C" int64_t
_mlir_ciface_verifyMemRefF64(UnrankedMemRefType<double> * actual,UnrankedMemRefType<double> * expected)26599f3510bSTobias Gysi _mlir_ciface_verifyMemRefF64(UnrankedMemRefType<double> *actual,
26699f3510bSTobias Gysi UnrankedMemRefType<double> *expected) {
26799f3510bSTobias Gysi return impl::verifyMemRef(*actual, *expected);
26899f3510bSTobias Gysi }
26999f3510bSTobias Gysi
2709b1513eeSbixia1 extern "C" int64_t
_mlir_ciface_verifyMemRefInd(UnrankedMemRefType<impl::index_type> * actual,UnrankedMemRefType<impl::index_type> * expected)2719b1513eeSbixia1 _mlir_ciface_verifyMemRefInd(UnrankedMemRefType<impl::index_type> *actual,
2729b1513eeSbixia1 UnrankedMemRefType<impl::index_type> *expected) {
2739b1513eeSbixia1 return impl::verifyMemRef(*actual, *expected);
2749b1513eeSbixia1 }
2759b1513eeSbixia1
2769b1513eeSbixia1 extern "C" int64_t
_mlir_ciface_verifyMemRefC32(UnrankedMemRefType<impl::complex32> * actual,UnrankedMemRefType<impl::complex32> * expected)2779b1513eeSbixia1 _mlir_ciface_verifyMemRefC32(UnrankedMemRefType<impl::complex32> *actual,
2789b1513eeSbixia1 UnrankedMemRefType<impl::complex32> *expected) {
2799b1513eeSbixia1 return impl::verifyMemRef(*actual, *expected);
2809b1513eeSbixia1 }
2819b1513eeSbixia1
2829b1513eeSbixia1 extern "C" int64_t
_mlir_ciface_verifyMemRefC64(UnrankedMemRefType<impl::complex64> * actual,UnrankedMemRefType<impl::complex64> * expected)2839b1513eeSbixia1 _mlir_ciface_verifyMemRefC64(UnrankedMemRefType<impl::complex64> *actual,
2849b1513eeSbixia1 UnrankedMemRefType<impl::complex64> *expected) {
2859b1513eeSbixia1 return impl::verifyMemRef(*actual, *expected);
2869b1513eeSbixia1 }
2879b1513eeSbixia1
verifyMemRefI32(int64_t rank,void * actualPtr,void * expectedPtr)28899f3510bSTobias Gysi extern "C" int64_t verifyMemRefI32(int64_t rank, void *actualPtr,
28999f3510bSTobias Gysi void *expectedPtr) {
29099f3510bSTobias Gysi UnrankedMemRefType<int32_t> actualDesc = {rank, actualPtr};
29199f3510bSTobias Gysi UnrankedMemRefType<int32_t> expectedDesc = {rank, expectedPtr};
29299f3510bSTobias Gysi return _mlir_ciface_verifyMemRefI32(&actualDesc, &expectedDesc);
29399f3510bSTobias Gysi }
29499f3510bSTobias Gysi
verifyMemRefF32(int64_t rank,void * actualPtr,void * expectedPtr)29599f3510bSTobias Gysi extern "C" int64_t verifyMemRefF32(int64_t rank, void *actualPtr,
29699f3510bSTobias Gysi void *expectedPtr) {
29799f3510bSTobias Gysi UnrankedMemRefType<float> actualDesc = {rank, actualPtr};
29899f3510bSTobias Gysi UnrankedMemRefType<float> expectedDesc = {rank, expectedPtr};
29999f3510bSTobias Gysi return _mlir_ciface_verifyMemRefF32(&actualDesc, &expectedDesc);
30099f3510bSTobias Gysi }
30199f3510bSTobias Gysi
verifyMemRefF64(int64_t rank,void * actualPtr,void * expectedPtr)30299f3510bSTobias Gysi extern "C" int64_t verifyMemRefF64(int64_t rank, void *actualPtr,
30399f3510bSTobias Gysi void *expectedPtr) {
30499f3510bSTobias Gysi UnrankedMemRefType<double> actualDesc = {rank, actualPtr};
30599f3510bSTobias Gysi UnrankedMemRefType<double> expectedDesc = {rank, expectedPtr};
30699f3510bSTobias Gysi return _mlir_ciface_verifyMemRefF64(&actualDesc, &expectedDesc);
30799f3510bSTobias Gysi }
30802b6fb21SMehdi Amini
verifyMemRefInd(int64_t rank,void * actualPtr,void * expectedPtr)3099b1513eeSbixia1 extern "C" int64_t verifyMemRefInd(int64_t rank, void *actualPtr,
3109b1513eeSbixia1 void *expectedPtr) {
3119b1513eeSbixia1 UnrankedMemRefType<impl::index_type> actualDesc = {rank, actualPtr};
3129b1513eeSbixia1 UnrankedMemRefType<impl::index_type> expectedDesc = {rank, expectedPtr};
3139b1513eeSbixia1 return _mlir_ciface_verifyMemRefInd(&actualDesc, &expectedDesc);
3149b1513eeSbixia1 }
3159b1513eeSbixia1
verifyMemRefC32(int64_t rank,void * actualPtr,void * expectedPtr)3169b1513eeSbixia1 extern "C" int64_t verifyMemRefC32(int64_t rank, void *actualPtr,
3179b1513eeSbixia1 void *expectedPtr) {
3189b1513eeSbixia1 UnrankedMemRefType<impl::complex32> actualDesc = {rank, actualPtr};
3199b1513eeSbixia1 UnrankedMemRefType<impl::complex32> expectedDesc = {rank, expectedPtr};
3209b1513eeSbixia1 return _mlir_ciface_verifyMemRefC32(&actualDesc, &expectedDesc);
3219b1513eeSbixia1 }
3229b1513eeSbixia1
verifyMemRefC64(int64_t rank,void * actualPtr,void * expectedPtr)3239b1513eeSbixia1 extern "C" int64_t verifyMemRefC64(int64_t rank, void *actualPtr,
3249b1513eeSbixia1 void *expectedPtr) {
3259b1513eeSbixia1 UnrankedMemRefType<impl::complex64> actualDesc = {rank, actualPtr};
3269b1513eeSbixia1 UnrankedMemRefType<impl::complex64> expectedDesc = {rank, expectedPtr};
3279b1513eeSbixia1 return _mlir_ciface_verifyMemRefC64(&actualDesc, &expectedDesc);
3289b1513eeSbixia1 }
3299b1513eeSbixia1
33002b6fb21SMehdi Amini // NOLINTEND(*-identifier-naming)
331