1 //===- SpirvCpuRuntimeWrappers.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(mem_ref->basePtr, mem_ref->sizes[0], value); 27 } 28 29 extern "C" EXPORT void 30 _mlir_ciface_fillF32Buffer1D(StridedMemRefType<float, 1> *mem_ref, 31 float value) { 32 std::fill_n(mem_ref->basePtr, mem_ref->sizes[0], value); 33 } 34 35 extern "C" EXPORT void 36 _mlir_ciface_fillF32Buffer2D(StridedMemRefType<float, 2> *mem_ref, 37 float value) { 38 std::fill_n(mem_ref->basePtr, mem_ref->sizes[0] * mem_ref->sizes[1], value); 39 } 40 41 extern "C" EXPORT void 42 _mlir_ciface_fillF32Buffer3D(StridedMemRefType<float, 3> *mem_ref, 43 float value) { 44 std::fill_n(mem_ref->basePtr, 45 mem_ref->sizes[0] * mem_ref->sizes[1] * mem_ref->sizes[2], value); 46 } 47 48 // NOLINTEND(*-identifier-naming) 49