# Copyright 2025 Google LLC
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.

# Scalar
- name: xnn_bf16_f32_gemm_minmax_ukernel_1x4c2__scalar
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4

# x86_64 AVX512BF16
- name: xnn_bf16_f32_gemm_minmax_ukernel_1x16c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_2x16c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_3x16c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_4x16c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_5x16c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_6x16c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_7x16c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_8x16c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_9x16c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_10x16c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_11x16c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4

- name: xnn_bf16_f32_gemm_minmax_ukernel_1x32c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_2x32c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_3x32c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_4x32c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_5x32c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_6x32c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_7x32c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_8x32c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_9x32c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_10x32c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_11x32c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_1x64c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_2x64c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_3x64c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_4x64c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
- name: xnn_bf16_f32_gemm_minmax_ukernel_5x64c2__asm_amd64_avx512bf16_broadcast
  pack: xnn_pack_bf16_f32_gemm_goi_w
  init: xnn_init_f32_minmax_scalar_params
  k-block: 4
