1# Copyright 2021 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 6# ARM NEON 7- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x9__neon_mul16 8 init: xnn_init_qu8_conv_minmax_fp32_neon_params 9- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x9__neonv8_mul16 10 init: xnn_init_qu8_conv_minmax_fp32_neonv8_params 11- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x25__neon_mul16 12 init: xnn_init_qu8_conv_minmax_fp32_neon_params 13- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x25__neonv8_mul16 14 init: xnn_init_qu8_conv_minmax_fp32_neonv8_params 15- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x9__neon_mul16 16 init: xnn_init_qu8_conv_minmax_fp32_neon_params 17- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x9__neonv8_mul16 18 init: xnn_init_qu8_conv_minmax_fp32_neonv8_params 19- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x25__neon_mul16 20 init: xnn_init_qu8_conv_minmax_fp32_neon_params 21- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x25__neonv8_mul16 22 init: xnn_init_qu8_conv_minmax_fp32_neonv8_params 23- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up24x9__neon_mul16 24 init: xnn_init_qu8_conv_minmax_fp32_neon_params 25- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up24x9__neonv8_mul16 26 init: xnn_init_qu8_conv_minmax_fp32_neonv8_params 27- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up24x25__neon_mul16 28 init: xnn_init_qu8_conv_minmax_fp32_neon_params 29- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up24x25__neonv8_mul16 30 init: xnn_init_qu8_conv_minmax_fp32_neonv8_params 31- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up32x9__neon_mul16 32 init: xnn_init_qu8_conv_minmax_fp32_neon_params 33- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up32x9__neonv8_mul16 34 init: xnn_init_qu8_conv_minmax_fp32_neonv8_params 35- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up32x25__neon_mul16 36 init: xnn_init_qu8_conv_minmax_fp32_neon_params 37- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up32x25__neonv8_mul16 38 init: xnn_init_qu8_conv_minmax_fp32_neonv8_params 39# x86 SSE 40- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x9__sse2_mul16 41 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 42- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x9__sse41_mul16 43 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 44- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x9__sse41_mul32 45 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 46- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x25__sse2_mul16 47 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 48- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x25__sse41_mul16 49 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 50- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x25__sse41_mul32 51 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 52- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x9__sse2_mul16 53 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 54- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x9__sse41_mul16 55 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 56- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x9__sse41_mul32 57 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 58- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x25__sse2_mul16 59 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 60- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x25__sse41_mul16 61 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 62- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x25__sse41_mul32 63 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 64# x86 AVX 65- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x9__avx_mul16 66 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 67- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x9__avx_mul32 68 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 69- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x9__avx2_mul32 70 init: xnn_init_qu8_conv_minmax_fp32_avx2_params 71- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x9__xop_mul32 72 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 73- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x25__avx_mul16 74 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 75- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x25__avx_mul32 76 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 77- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x25__avx2_mul32 78 init: xnn_init_qu8_conv_minmax_fp32_avx2_params 79- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x25__xop_mul32 80 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 81- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x9__avx_mul16 82 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 83- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x9__avx_mul32 84 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 85- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x9__avx2_mul32 86 init: xnn_init_qu8_conv_minmax_fp32_avx2_params 87- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x9__xop_mul32 88 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 89- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x25__avx_mul16 90 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 91- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x25__avx_mul32 92 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 93- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x25__avx2_mul32 94 init: xnn_init_qu8_conv_minmax_fp32_avx2_params 95- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x25__xop_mul32 96 init: xnn_init_qu8_conv_minmax_fp32_sse2_params 97- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up32x9__avx2_mul32 98 init: xnn_init_qu8_conv_minmax_fp32_avx2_params 99- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up32x25__avx2_mul32 100 init: xnn_init_qu8_conv_minmax_fp32_avx2_params 101# x86 AVX512 102- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x9__avx512skx_mul32 103 init: xnn_init_qu8_conv_minmax_fp32_avx512_params 104- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x25__avx512skx_mul32 105 init: xnn_init_qu8_conv_minmax_fp32_avx512_params 106- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up32x9__avx512skx_mul32 107 init: xnn_init_qu8_conv_minmax_fp32_avx512_params 108- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up32x25__avx512skx_mul32 109 init: xnn_init_qu8_conv_minmax_fp32_avx512_params 110# WAsm SIMD 111- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x9__wasmsimd_mul16 112 init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params 113- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up8x25__wasmsimd_mul16 114 init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params 115- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x9__wasmsimd_mul16 116 init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params 117- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up16x25__wasmsimd_mul16 118 init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params 119- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up24x9__wasmsimd_mul16 120 init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params 121- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up24x25__wasmsimd_mul16 122 init: xnn_init_qu8_conv_minmax_fp32_wasmsimd_params 123# WAsm 124- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up1x9__wasm_fmagic 125 init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params 126- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up1x25__wasm_fmagic 127 init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params 128- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up2x9__wasm_fmagic 129 init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params 130- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up2x25__wasm_fmagic 131 init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params 132- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up4x9__wasm_fmagic 133 init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params 134- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up4x25__wasm_fmagic 135 init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params 136# Scalar 137- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up1x9__scalar_fmagic 138 init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params 139- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up1x9__scalar_imagic 140 init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params 141- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up1x9__scalar_lrintf 142 init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params 143- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up1x25__scalar_fmagic 144 init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params 145- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up1x25__scalar_imagic 146 init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params 147- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up1x25__scalar_lrintf 148 init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params 149- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up2x9__scalar_fmagic 150 init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params 151- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up2x9__scalar_imagic 152 init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params 153- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up2x9__scalar_lrintf 154 init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params 155- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up2x25__scalar_fmagic 156 init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params 157- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up2x25__scalar_imagic 158 init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params 159- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up2x25__scalar_lrintf 160 init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params 161- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up4x9__scalar_fmagic 162 init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params 163- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up4x9__scalar_imagic 164 init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params 165- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up4x9__scalar_lrintf 166 init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params 167- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up4x25__scalar_fmagic 168 init: xnn_init_qu8_conv_minmax_fp32_scalar_fmagic_params 169- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up4x25__scalar_imagic 170 init: xnn_init_qu8_conv_minmax_fp32_scalar_imagic_params 171- name: xnn_qu8_dwconv_minmax_fp32_ukernel_up4x25__scalar_lrintf 172 init: xnn_init_qu8_conv_minmax_fp32_scalar_lrintf_params 173