// File: binding.cpp
#include "gemm.h"

namespace {
constexpr int64_t kN = 2048;
constexpr int64_t kK = 1024;
} // namespace

extern "C" {
// inputs: [0]=A block_q8_0 [M, K/32 blocks], [1]=NULL (A_scales, consumed by
// the adapter's repack), [2]=B block_q8_0 [N, K/32 blocks], [3]=NULL
// (B_scales); var_axes: [0]=M
int armbench_entry_gemm(const void* const* inputs, void* output,
                        const int64_t* var_axes)
{
    return armbench_llamacpp_gemm(inputs[0], inputs[2],
                                  reinterpret_cast<float*>(output),
                                  var_axes[0], kN, kK, /*is_q8=*/true);
}
} // extern "C"