1# Copyright 2020 Google LLC 2# 3# This source code is licensed under the BSD-style license found in the 4# LICENSE file in the root directory of this source tree. 5- name: xnn_qs8_igemm_minmax_ukernel_2x8c8__aarch64_neon_mlal_padal 6 k-block: 16 7- name: xnn_qs8_igemm_minmax_ukernel_2x8c16__aarch64_neon_mlal_padal 8 k-block: 16 9- name: xnn_qs8_igemm_minmax_ukernel_1x8__neon_mlal_lane 10 k-block: 8 11- name: xnn_qs8_igemm_minmax_ukernel_2x8__neon_mlal_lane 12 k-block: 8 13- name: xnn_qs8_igemm_minmax_ukernel_4x8__neon_mlal_lane 14 k-block: 8 15- name: xnn_qs8_igemm_minmax_ukernel_3x8__neon_mlal_lane 16 k-block: 8 17- name: xnn_qs8_igemm_minmax_ukernel_1x16__neon_mlal_lane 18 k-block: 8 19- name: xnn_qs8_igemm_minmax_ukernel_2x16__neon_mlal_lane 20 k-block: 8 21- name: xnn_qs8_igemm_minmax_ukernel_3x16__neon_mlal_lane 22 k-block: 8 23- name: xnn_qs8_igemm_minmax_ukernel_4x16__neon_mlal_lane 24 k-block: 8 25- name: xnn_qs8_igemm_minmax_ukernel_1x8c8__neon_mull_padal 26 k-block: 8 27- name: xnn_qs8_igemm_minmax_ukernel_2x8c8__neon_mull_padal 28 k-block: 8 29- name: xnn_qs8_igemm_minmax_ukernel_3x8c8__neon_mull_padal 30 k-block: 8 31- name: xnn_qs8_igemm_minmax_ukernel_4x8c8__neon_mull_padal 32 k-block: 8 33- name: xnn_qs8_igemm_minmax_ukernel_1x16c8__neon_mull_padal 34 k-block: 8 35- name: xnn_qs8_igemm_minmax_ukernel_2x16c8__neon_mull_padal 36 k-block: 8 37- name: xnn_qs8_igemm_minmax_ukernel_3x16c8__neon_mull_padal 38 k-block: 8 39- name: xnn_qs8_igemm_minmax_ukernel_4x16c8__neon_mull_padal 40 k-block: 8 41- name: xnn_qs8_igemm_minmax_ukernel_1x8c8__neon_mlal_padal 42 k-block: 16 43- name: xnn_qs8_igemm_minmax_ukernel_2x8c8__neon_mlal_padal 44 k-block: 16 45- name: xnn_qs8_igemm_minmax_ukernel_3x8c8__neon_mlal_padal 46 k-block: 16 47- name: xnn_qs8_igemm_minmax_ukernel_4x8c8__neon_mlal_padal 48 k-block: 16 49- name: xnn_qs8_igemm_minmax_ukernel_1x16c8__neon_mlal_padal 50 k-block: 16 51- name: xnn_qs8_igemm_minmax_ukernel_2x16c8__neon_mlal_padal 52 k-block: 16 53- name: xnn_qs8_igemm_minmax_ukernel_3x16c8__neon_mlal_padal 54 k-block: 16 55- name: xnn_qs8_igemm_minmax_ukernel_4x16c8__neon_mlal_padal 56 k-block: 16 57- name: xnn_qs8_igemm_minmax_ukernel_1x8c16__neon_mlal_padal 58 k-block: 16 59- name: xnn_qs8_igemm_minmax_ukernel_2x8c16__neon_mlal_padal 60 k-block: 16 61- name: xnn_qs8_igemm_minmax_ukernel_3x8c16__neon_mlal_padal 62 k-block: 16 63- name: xnn_qs8_igemm_minmax_ukernel_4x8c16__neon_mlal_padal 64 k-block: 16 65- name: xnn_qs8_igemm_minmax_ukernel_1x16c16__neon_mlal_padal 66 k-block: 16 67- name: xnn_qs8_igemm_minmax_ukernel_2x16c16__neon_mlal_padal 68 k-block: 16 69- name: xnn_qs8_igemm_minmax_ukernel_3x16c16__neon_mlal_padal 70 k-block: 16 71- name: xnn_qs8_igemm_minmax_ukernel_4x16c16__neon_mlal_padal 72 k-block: 16 73- name: xnn_qs8_igemm_minmax_ukernel_1x8c2__neon_mull_padal_dup 74 k-block: 8 75- name: xnn_qs8_igemm_minmax_ukernel_2x8c2__neon_mull_padal_dup 76 k-block: 8 77- name: xnn_qs8_igemm_minmax_ukernel_3x8c2__neon_mull_padal_dup 78 k-block: 8 79- name: xnn_qs8_igemm_minmax_ukernel_4x8c2__neon_mull_padal_dup 80 k-block: 8 81- name: xnn_qs8_igemm_minmax_ukernel_1x16c2__neon_mull_padal_dup 82 k-block: 8 83- name: xnn_qs8_igemm_minmax_ukernel_2x16c2__neon_mull_padal_dup 84 k-block: 8 85- name: xnn_qs8_igemm_minmax_ukernel_3x16c2__neon_mull_padal_dup 86 k-block: 8 87- name: xnn_qs8_igemm_minmax_ukernel_4x16c2__neon_mull_padal_dup 88 k-block: 8 89- name: xnn_qs8_igemm_minmax_ukernel_1x8c2__neon_mlal_padal_dup 90 k-block: 16 91- name: xnn_qs8_igemm_minmax_ukernel_2x8c2__neon_mlal_padal_dup 92 k-block: 16 93- name: xnn_qs8_igemm_minmax_ukernel_3x8c2__neon_mlal_padal_dup 94 k-block: 16 95- name: xnn_qs8_igemm_minmax_ukernel_4x8c2__neon_mlal_padal_dup 96 k-block: 16 97- name: xnn_qs8_igemm_minmax_ukernel_1x16c2__neon_mlal_padal_dup 98 k-block: 16 99- name: xnn_qs8_igemm_minmax_ukernel_2x16c2__neon_mlal_padal_dup 100 k-block: 16 101- name: xnn_qs8_igemm_minmax_ukernel_3x16c2__neon_mlal_padal_dup 102 k-block: 16 103- name: xnn_qs8_igemm_minmax_ukernel_4x16c2__neon_mlal_padal_dup 104 k-block: 16 105- name: xnn_qs8_igemm_minmax_ukernel_1x8__neon_mull_addw_dup 106 k-block: 8 107- name: xnn_qs8_igemm_minmax_ukernel_2x8__neon_mull_addw_dup 108 k-block: 8 109- name: xnn_qs8_igemm_minmax_ukernel_3x8__neon_mull_addw_dup 110 k-block: 8 111- name: xnn_qs8_igemm_minmax_ukernel_4x8__neon_mull_addw_dup 112 k-block: 8 113- name: xnn_qs8_igemm_minmax_ukernel_1x16__neon_mull_addw_dup 114 k-block: 8 115- name: xnn_qs8_igemm_minmax_ukernel_2x16__neon_mull_addw_dup 116 k-block: 8 117- name: xnn_qs8_igemm_minmax_ukernel_3x16__neon_mull_addw_dup 118 k-block: 8 119- name: xnn_qs8_igemm_minmax_ukernel_4x16__neon_mull_addw_dup 120 k-block: 8 121- name: xnn_qs8_igemm_minmax_ukernel_1x8c4__neondot 122 k-block: 8 123- name: xnn_qs8_igemm_minmax_ukernel_4x8c4__neondot 124 k-block: 8 125- name: xnn_qs8_igemm_minmax_ukernel_6x8c4__neondot 126 k-block: 8 127- name: xnn_qs8_igemm_minmax_ukernel_8x8c4__neondot 128 k-block: 8 129- name: xnn_qs8_igemm_minmax_ukernel_1x16c4__neondot 130 k-block: 8 131- name: xnn_qs8_igemm_minmax_ukernel_4x16c4__neondot 132 k-block: 8 133- name: xnn_qs8_igemm_minmax_ukernel_6x16c4__neondot 134 k-block: 8 135- name: xnn_qs8_igemm_minmax_ukernel_8x16c4__neondot 136 k-block: 8 137- name: xnn_qs8_igemm_minmax_ukernel_4x16c4__aarch64_neondot_ld64 138 k-block: 8 139- name: xnn_qs8_igemm_minmax_ukernel_4x16c4__aarch64_neondot_cortex_a55 140 k-block: 16 141- name: xnn_qs8_igemm_minmax_ukernel_1x4c2__sse2_ld64 142 k-block: 8 143- name: xnn_qs8_igemm_minmax_ukernel_4x4c2__sse2_ld64 144 k-block: 8 145- name: xnn_qs8_igemm_minmax_ukernel_1x4c2__ssse3_ld64 146 k-block: 8 147- name: xnn_qs8_igemm_minmax_ukernel_4x4c2__ssse3_ld64 148 k-block: 8 149- name: xnn_qs8_igemm_minmax_ukernel_1x4c2__sse41_ld64 150 k-block: 8 151- name: xnn_qs8_igemm_minmax_ukernel_4x4c2__sse41_ld64 152 k-block: 8 153- name: xnn_qs8_igemm_minmax_ukernel_1x4c2__xop_ld64 154 k-block: 8 155- name: xnn_qs8_igemm_minmax_ukernel_4x4c2__xop_ld64 156 k-block: 8 157- name: xnn_qs8_igemm_minmax_ukernel_1x4c2__sse2_ld128 158 k-block: 8 159- name: xnn_qs8_igemm_minmax_ukernel_4x4c2__sse2_ld128 160 k-block: 8 161- name: xnn_qs8_igemm_minmax_ukernel_1x4c2__ssse3_ld128 162 k-block: 8 163- name: xnn_qs8_igemm_minmax_ukernel_4x4c2__ssse3_ld128 164 k-block: 8 165- name: xnn_qs8_igemm_minmax_ukernel_1x4c2__sse41_ld128 166 k-block: 8 167- name: xnn_qs8_igemm_minmax_ukernel_4x4c2__sse41_ld128 168 k-block: 8 169- name: xnn_qs8_igemm_minmax_ukernel_1x4c2__xop_ld128 170 k-block: 8 171- name: xnn_qs8_igemm_minmax_ukernel_4x4c2__xop_ld128 172 k-block: 8 173- name: xnn_qs8_igemm_minmax_ukernel_1x4c8__sse2_ld64 174 k-block: 8 175- name: xnn_qs8_igemm_minmax_ukernel_2x4c8__sse2_ld64 176 k-block: 8 177- name: xnn_qs8_igemm_minmax_ukernel_3x4c8__sse2_ld64 178 k-block: 8 179- name: xnn_qs8_igemm_minmax_ukernel_1x4c8__ssse3_ld64 180 k-block: 8 181- name: xnn_qs8_igemm_minmax_ukernel_2x4c8__ssse3_ld64 182 k-block: 8 183- name: xnn_qs8_igemm_minmax_ukernel_3x4c8__ssse3_ld64 184 k-block: 8 185- name: xnn_qs8_igemm_minmax_ukernel_1x4c8__sse41_ld64 186 k-block: 8 187- name: xnn_qs8_igemm_minmax_ukernel_2x4c8__sse41_ld64 188 k-block: 8 189- name: xnn_qs8_igemm_minmax_ukernel_3x4c8__sse41_ld64 190 k-block: 8 191- name: xnn_qs8_igemm_minmax_ukernel_1x4c8__xop_ld64 192 k-block: 8 193- name: xnn_qs8_igemm_minmax_ukernel_2x4c8__xop_ld64 194 k-block: 8 195- name: xnn_qs8_igemm_minmax_ukernel_3x4c8__xop_ld64 196 k-block: 8 197- name: xnn_qs8_igemm_minmax_ukernel_1x4c8__sse2_ld128 198 k-block: 8 199- name: xnn_qs8_igemm_minmax_ukernel_2x4c8__sse2_ld128 200 k-block: 8 201- name: xnn_qs8_igemm_minmax_ukernel_3x4c8__sse2_ld128 202 k-block: 8 203- name: xnn_qs8_igemm_minmax_ukernel_1x4c8__ssse3_ld128 204 k-block: 8 205- name: xnn_qs8_igemm_minmax_ukernel_2x4c8__ssse3_ld128 206 k-block: 8 207- name: xnn_qs8_igemm_minmax_ukernel_3x4c8__ssse3_ld128 208 k-block: 8 209- name: xnn_qs8_igemm_minmax_ukernel_1x4c8__sse41_ld128 210 k-block: 8 211- name: xnn_qs8_igemm_minmax_ukernel_2x4c8__sse41_ld128 212 k-block: 8 213- name: xnn_qs8_igemm_minmax_ukernel_3x4c8__sse41_ld128 214 k-block: 8 215- name: xnn_qs8_igemm_minmax_ukernel_1x4c8__xop_ld128 216 k-block: 8 217- name: xnn_qs8_igemm_minmax_ukernel_2x4c8__xop_ld128 218 k-block: 8 219- name: xnn_qs8_igemm_minmax_ukernel_3x4c8__xop_ld128 220 k-block: 8 221- name: xnn_qs8_igemm_minmax_ukernel_1x8c8__avx2 222 k-block: 8 223- name: xnn_qs8_igemm_minmax_ukernel_2x8c8__avx2 224 k-block: 8 225- name: xnn_qs8_igemm_minmax_ukernel_3x8c8__avx2 226 k-block: 8 227- name: xnn_qs8_igemm_minmax_ukernel_1x16c8__avx512skx 228 k-block: 8 229- name: xnn_qs8_igemm_minmax_ukernel_2x16c8__avx512skx 230 k-block: 8 231- name: xnn_qs8_igemm_minmax_ukernel_3x16c8__avx512skx 232 k-block: 8 233- name: xnn_qs8_igemm_minmax_ukernel_4x16c8__avx512skx 234 k-block: 8 235- name: xnn_qs8_igemm_minmax_ukernel_1x4c8__wasmsimd_ld64 236 k-block: 8 237- name: xnn_qs8_igemm_minmax_ukernel_2x4c8__wasmsimd_ld64 238 k-block: 8 239- name: xnn_qs8_igemm_minmax_ukernel_3x4c8__wasmsimd_ld64 240 k-block: 8 241- name: xnn_qs8_igemm_minmax_ukernel_1x4c8__wasmsimd_ld128 242 k-block: 8 243- name: xnn_qs8_igemm_minmax_ukernel_2x4c8__wasmsimd_ld128 244 k-block: 8 245- name: xnn_qs8_igemm_minmax_ukernel_3x4c8__wasmsimd_ld128 246 k-block: 8 247