# Copyright 2019 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. # AArch32 assembly - name: xnn_f32_gemm_minmax_ukernel_4x4__aarch32_vfp_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 assembly: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch32_neon_cortex_a7 init: xnn_init_f32_minmax_scalar_params k-block: 2 assembly: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch32_neon_cortex_a53 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch32_neon_cortex_a55 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch32_neon_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch32_neon_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 assembly: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch32_neon_prfm_cortex_a53 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch32_neon_prfm_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true pipelined: true # AArch64 assembly - name: xnn_f32_gemm_minmax_ukernel_1x8__aarch64_neonfma_cortex_a53 init: xnn_init_f32_minmax_scalar_params k-block: 8 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_1x8__aarch64_neonfma_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_1x8__aarch64_neonfma_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 assembly: true - name: xnn_f32_gemm_minmax_ukernel_1x8__aarch64_neonfma_prfm_cortex_a53 init: xnn_init_f32_minmax_scalar_params k-block: 8 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_1x8__aarch64_neonfma_prfm_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_1x12__aarch64_neonfma_cortex_a53 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_4x2__aarch64_neonfma_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 assembly: true - name: xnn_f32_gemm_minmax_ukernel_4x2__aarch64_neonfma_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 assembly: true - name: xnn_f32_gemm_minmax_ukernel_4x2__aarch64_neonfma_prfm_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 assembly: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch64_neonfma_cortex_a53 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch64_neonfma_cortex_a55 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch64_neonfma_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch64_neonfma_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 assembly: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch64_neonfma_ld128 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch64_neonfma_prfm_cortex_a53 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch64_neonfma_prfm_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_4x12__aarch64_neonfma_cortex_a53 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_5x8__aarch64_neonfma_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_5x8__aarch64_neonfma_prfm_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_6x8__aarch64_neonfma_cortex_a53 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_6x8__aarch64_neonfma_cortex_a55 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_6x8__aarch64_neonfma_cortex_a73 init: xnn_init_f32_minmax_scalar_params k-block: 8 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_6x8__aarch64_neonfma_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_6x8__aarch64_neonfma_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 assembly: true - name: xnn_f32_gemm_minmax_ukernel_6x8__aarch64_neonfma_ld128 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true - name: xnn_f32_gemm_minmax_ukernel_6x8__aarch64_neonfma_prfm_cortex_a53 init: xnn_init_f32_minmax_scalar_params k-block: 4 assembly: true pipelined: true - name: xnn_f32_gemm_minmax_ukernel_6x8__aarch64_neonfma_prfm_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 assembly: true pipelined: true # ARM NEON - name: xnn_f32_gemm_minmax_ukernel_1x8__neon_dup_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 - name: xnn_f32_gemm_minmax_ukernel_1x8__neon_lane_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 - name: xnn_f32_gemm_minmax_ukernel_1x8__neonfma_dup_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 - name: xnn_f32_gemm_minmax_ukernel_1x8__neonfma_lane_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 arch: - aarch64 - name: xnn_f32_gemm_minmax_ukernel_1x8s4__neon init: xnn_init_f32_minmax_scalar_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_1x8s4__neonfma init: xnn_init_f32_minmax_scalar_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x2__neon_lane_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 - name: xnn_f32_gemm_minmax_ukernel_4x2__neonfma_lane_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 arch: - aarch64 - name: xnn_f32_gemm_minmax_ukernel_4x8__neon_dup_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 - name: xnn_f32_gemm_minmax_ukernel_4x8__neon_dup_ld128 init: xnn_init_f32_minmax_scalar_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8__neon_lane_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 - name: xnn_f32_gemm_minmax_ukernel_4x8__neon_lane_ld128 init: xnn_init_f32_minmax_scalar_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8__neonfma_dup_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 - name: xnn_f32_gemm_minmax_ukernel_4x8__neonfma_dup_ld128 init: xnn_init_f32_minmax_scalar_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8__neonfma_lane_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 arch: - aarch64 - name: xnn_f32_gemm_minmax_ukernel_4x8__neonfma_lane_ld128 init: xnn_init_f32_minmax_scalar_params k-block: 4 arch: - aarch64 - name: xnn_f32_gemm_minmax_ukernel_4x8s4__neon init: xnn_init_f32_minmax_scalar_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8s4__neonfma init: xnn_init_f32_minmax_scalar_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_5x8__neon_lane_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 - name: xnn_f32_gemm_minmax_ukernel_5x8__neonfma_lane_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 arch: - aarch64 - name: xnn_f32_gemm_minmax_ukernel_6x2__neon_lane_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 - name: xnn_f32_gemm_minmax_ukernel_6x2__neonfma_lane_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 arch: - aarch64 - name: xnn_f32_gemm_minmax_ukernel_6x8__neon_dup_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 - name: xnn_f32_gemm_minmax_ukernel_6x8__neon_dup_ld128 init: xnn_init_f32_minmax_scalar_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_6x8__neon_lane_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 - name: xnn_f32_gemm_minmax_ukernel_6x8__neon_lane_ld128 init: xnn_init_f32_minmax_scalar_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_6x8__neonfma_dup_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 - name: xnn_f32_gemm_minmax_ukernel_6x8__neonfma_dup_ld128 init: xnn_init_f32_minmax_scalar_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_6x8__neonfma_lane_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 arch: - aarch64 - name: xnn_f32_gemm_minmax_ukernel_6x8__neonfma_lane_ld128 init: xnn_init_f32_minmax_scalar_params k-block: 4 arch: - aarch64 - name: xnn_f32_gemm_minmax_ukernel_6x8s4__neon init: xnn_init_f32_minmax_scalar_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_6x8s4__neonfma init: xnn_init_f32_minmax_scalar_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_8x8s4__neon init: xnn_init_f32_minmax_scalar_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_8x8s4__neonfma init: xnn_init_f32_minmax_scalar_params k-block: 4 # x86 SSE - name: xnn_f32_gemm_minmax_ukernel_1x8__sse_dup init: xnn_init_f32_minmax_sse_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_1x8__sse_load1 init: xnn_init_f32_minmax_sse_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_1x8__sse2_dup init: xnn_init_f32_minmax_sse_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_1x8s4__sse init: xnn_init_f32_minmax_sse_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_3x8__sse_dup init: xnn_init_f32_minmax_sse_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_3x8__sse_load1 init: xnn_init_f32_minmax_sse_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_3x8__sse2_dup init: xnn_init_f32_minmax_sse_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_3x8s4__sse init: xnn_init_f32_minmax_sse_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x2c4__sse init: xnn_init_f32_minmax_sse_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8__sse_dup init: xnn_init_f32_minmax_sse_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8__sse_load1 init: xnn_init_f32_minmax_sse_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x8__sse2_dup init: xnn_init_f32_minmax_sse_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8s4__sse init: xnn_init_f32_minmax_sse_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_5x8__sse_dup init: xnn_init_f32_minmax_sse_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_5x8__sse_load1 init: xnn_init_f32_minmax_sse_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_5x8__sse2_dup init: xnn_init_f32_minmax_sse_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_5x8s4__sse init: xnn_init_f32_minmax_sse_params k-block: 4 # x86 AVX - name: xnn_f32_gemm_minmax_ukernel_1x8__avx_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_1x16__avx_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_3x16__avx_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x8__avx_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x16__avx_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_5x8__avx_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_5x16__avx_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_6x8__avx_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_7x8__avx_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 # x86 FMA3 - name: xnn_f32_gemm_minmax_ukernel_1x8__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_1x16__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_1x16s4__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_3x16__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_3x16s4__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x16__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x16s4__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_5x8__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_5x16__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_5x16s4__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_6x8__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_7x8__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_8x8__fma3_broadcast init: xnn_init_f32_minmax_avx_params k-block: 1 # x86 AVX512 - name: xnn_f32_gemm_minmax_ukernel_1x16__avx512f_broadcast init: xnn_init_f32_minmax_scalar_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x16__avx512f_broadcast init: xnn_init_f32_minmax_scalar_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_5x16__avx512f_broadcast init: xnn_init_f32_minmax_scalar_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_6x16__avx512f_broadcast init: xnn_init_f32_minmax_scalar_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_7x16__avx512f_broadcast init: xnn_init_f32_minmax_scalar_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_8x16__avx512f_broadcast init: xnn_init_f32_minmax_scalar_params k-block: 1 # WAsm SIMD - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmsimd_arm_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmsimd_arm_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmsimd_x86_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmsimd_x86_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_1x8s4__wasmsimd_arm init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_1x8s4__wasmsimd_x86 init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmsimd_arm_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmsimd_arm_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmsimd_x86_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmsimd_x86_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_3x8s4__wasmsimd_arm init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_3x8s4__wasmsimd_x86 init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x2c4__wasmsimd_arm init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x2c4__wasmsimd_x86 init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmsimd_arm_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmsimd_arm_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmsimd_x86_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmsimd_x86_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8s4__wasmsimd_arm init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8s4__wasmsimd_x86 init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmsimd_arm_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmsimd_arm_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmsimd_x86_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmsimd_x86_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_5x8s4__wasmsimd_arm init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_5x8s4__wasmsimd_x86 init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmsimd_arm_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmsimd_arm_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmsimd_x86_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmsimd_x86_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_6x8s4__wasmsimd_arm init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_6x8s4__wasmsimd_x86 init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 # WAsm Relaxed SIMD - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmrelaxedsimd_fma_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmrelaxedsimd_fma_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmrelaxedsimd_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmrelaxedsimd_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_1x8s4__wasmrelaxedsimd init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_1x8s4__wasmrelaxedsimd_fma init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmrelaxedsimd_fma_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmrelaxedsimd_fma_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmrelaxedsimd_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmrelaxedsimd_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_3x8s4__wasmrelaxedsimd init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_3x8s4__wasmrelaxedsimd_fma init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x2c4__wasmrelaxedsimd init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x2c4__wasmrelaxedsimd_fma init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmrelaxedsimd_fma_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmrelaxedsimd_fma_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmrelaxedsimd_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmrelaxedsimd_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8s4__wasmrelaxedsimd init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_4x8s4__wasmrelaxedsimd_fma init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmrelaxedsimd_fma_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmrelaxedsimd_fma_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmrelaxedsimd_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmrelaxedsimd_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_5x8s4__wasmrelaxedsimd init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_5x8s4__wasmrelaxedsimd_fma init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmrelaxedsimd_fma_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmrelaxedsimd_fma_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmrelaxedsimd_loadsplat init: xnn_init_f32_minmax_wasmsimd_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmrelaxedsimd_splat init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_6x8s4__wasmrelaxedsimd init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 - name: xnn_f32_gemm_minmax_ukernel_6x8s4__wasmrelaxedsimd_fma init: xnn_init_f32_minmax_wasmsimd_params k-block: 4 # WAsm - name: xnn_f32_gemm_minmax_ukernel_1x4__wasm init: xnn_init_f32_minmax_scalar_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_2x4__wasm init: xnn_init_f32_minmax_scalar_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x2__wasm init: xnn_init_f32_minmax_scalar_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x4__wasm init: xnn_init_f32_minmax_scalar_params k-block: 1 # Scalar - name: xnn_f32_gemm_minmax_ukernel_1x4__scalar init: xnn_init_f32_minmax_scalar_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_2x4__scalar init: xnn_init_f32_minmax_scalar_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x2__scalar init: xnn_init_f32_minmax_scalar_params k-block: 1 - name: xnn_f32_gemm_minmax_ukernel_4x4__scalar init: xnn_init_f32_minmax_scalar_params k-block: 1 # AArch32 JIT assembly - name: xnn_generate_f32_gemm_ukernel_4x8__aarch32_neon_cortex_a7 init: xnn_init_f32_minmax_scalar_params k-block: 2 assembly: true - name: xnn_generate_f32_gemm_ukernel_4x8__aarch32_neon_cortex_a53 init: xnn_init_f32_minmax_scalar_params k-block: 4 pipelined: true assembly: true - name: xnn_generate_f32_gemm_ukernel_4x8__aarch32_neon_cortex_a55 init: xnn_init_f32_minmax_scalar_params k-block: 4 pipelined: true - name: xnn_generate_f32_gemm_ukernel_4x8__aarch32_neon_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 4 pipelined: true assembly: true - name: xnn_generate_f32_gemm_ukernel_4x8__aarch32_neon_ld64 init: xnn_init_f32_minmax_scalar_params k-block: 2 assembly: true - name: xnn_generate_f32_gemm_ukernel_4x8__aarch32_neon_prfm_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 4 pipelined: true assembly: true # AArch64 JIT assembly - name: xnn_generate_f32_gemm_ukernel_upto6x8__aarch64_neonfma_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 pipelined: true - name: xnn_generate_f32_gemm_ukernel_upto6x8__aarch64_neonfma_prfm_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 pipelined: true - name: xnn_generate_f32_gemm_ukernel_1x8__aarch64_neonfma_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 pipelined: true - name: xnn_generate_f32_gemm_ukernel_1x8__aarch64_neonfma_prfm_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 pipelined: true - name: xnn_generate_f32_gemm_ukernel_4x8__aarch64_neonfma_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 pipelined: true - name: xnn_generate_f32_gemm_ukernel_4x8__aarch64_neonfma_prfm_cortex_a75 init: xnn_init_f32_minmax_scalar_params k-block: 8 pipelined: true - name: xnn_generate_f32_gemm_ukernel_6x8__aarch64_neonfma_ld128 init: xnn_init_f32_minmax_scalar_params k-block: 4