1 | //===- mlir_test_spirv_cpu_runner_c_wrappers.cpp - Runner testing library -===// |
2 | // |
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | // See https://llvm.org/LICENSE.txt for license information. |
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | // |
9 | // A small library for SPIR-V cpu runner testing. |
10 | // |
11 | //===----------------------------------------------------------------------===// |
12 | |
13 | #include "mlir/ExecutionEngine/CRunnerUtils.h" |
14 | |
15 | #ifdef _WIN32 |
16 | #define EXPORT __declspec(dllexport) |
17 | #else |
18 | #define EXPORT __attribute__((visibility("default"))) |
19 | #endif |
20 | |
21 | // NOLINTBEGIN(*-identifier-naming) |
22 | |
23 | extern "C" EXPORT void |
24 | _mlir_ciface_fillI32Buffer(StridedMemRefType<int32_t, 1> *mem_ref, |
25 | int32_t value) { |
26 | std::fill_n(first: mem_ref->basePtr, n: mem_ref->sizes[0], value: value); |
27 | } |
28 | |
29 | extern "C" EXPORT void |
30 | _mlir_ciface_fillF32Buffer1D(StridedMemRefType<float, 1> *mem_ref, |
31 | float value) { |
32 | std::fill_n(first: mem_ref->basePtr, n: mem_ref->sizes[0], value: value); |
33 | } |
34 | |
35 | extern "C" EXPORT void |
36 | _mlir_ciface_fillF32Buffer2D(StridedMemRefType<float, 2> *mem_ref, |
37 | float value) { |
38 | std::fill_n(first: mem_ref->basePtr, n: mem_ref->sizes[0] * mem_ref->sizes[1], value: value); |
39 | } |
40 | |
41 | extern "C" EXPORT void |
42 | _mlir_ciface_fillF32Buffer3D(StridedMemRefType<float, 3> *mem_ref, |
43 | float value) { |
44 | std::fill_n(first: mem_ref->basePtr, |
45 | n: mem_ref->sizes[0] * mem_ref->sizes[1] * mem_ref->sizes[2], value: value); |
46 | } |
47 | |
48 | // NOLINTEND(*-identifier-naming) |
49 | |