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
23extern "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
29extern "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
35extern "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
41extern "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

source code of mlir/test/mlir-spirv-cpu-runner/mlir_test_spirv_cpu_runner_c_wrappers.cpp