1#!/bin/sh 2# Copyright 2019 Google LLC 3# 4# This source code is licensed under the BSD-style license found in the 5# LICENSE file in the root directory of this source tree. 6 7#################################### Scalar ################################### 8tools/xngen src/f32-prelu/scalar.c.in -D CHANNEL_TILE=1 -D ROW_TILE=2 -o src/f32-prelu/gen/scalar-2x1.c 9tools/xngen src/f32-prelu/scalar.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -o src/f32-prelu/gen/scalar-2x4.c 10 11##################################### WAsm #################################### 12tools/xngen src/f32-prelu/wasm.c.in -D CHANNEL_TILE=1 -D ROW_TILE=2 -o src/f32-prelu/gen/wasm-2x1.c 13tools/xngen src/f32-prelu/wasm.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -o src/f32-prelu/gen/wasm-2x4.c 14 15################################### ARM NEON ################################## 16tools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=4 -D ROW_TILE=1 -o src/f32-prelu/gen/neon-1x4.c 17tools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=8 -D ROW_TILE=1 -o src/f32-prelu/gen/neon-1x8.c 18tools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=16 -D ROW_TILE=1 -o src/f32-prelu/gen/neon-1x16.c 19tools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -o src/f32-prelu/gen/neon-2x4.c 20tools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -o src/f32-prelu/gen/neon-2x8.c 21tools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=16 -D ROW_TILE=2 -o src/f32-prelu/gen/neon-2x16.c 22tools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=4 -D ROW_TILE=4 -o src/f32-prelu/gen/neon-4x4.c 23tools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=8 -D ROW_TILE=4 -o src/f32-prelu/gen/neon-4x8.c 24tools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=16 -D ROW_TILE=4 -o src/f32-prelu/gen/neon-4x16.c 25 26################################## WAsm SIMD ################################## 27tools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=4 -D ROW_TILE=1 -o src/f32-prelu/gen/wasmsimd-bitselect-1x4.c 28tools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=8 -D ROW_TILE=1 -o src/f32-prelu/gen/wasmsimd-bitselect-1x8.c 29tools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=16 -D ROW_TILE=1 -o src/f32-prelu/gen/wasmsimd-bitselect-1x16.c 30tools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -o src/f32-prelu/gen/wasmsimd-bitselect-2x4.c 31tools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -o src/f32-prelu/gen/wasmsimd-bitselect-2x8.c 32tools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=16 -D ROW_TILE=2 -o src/f32-prelu/gen/wasmsimd-bitselect-2x16.c 33tools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=4 -D ROW_TILE=4 -o src/f32-prelu/gen/wasmsimd-bitselect-4x4.c 34tools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=8 -D ROW_TILE=4 -o src/f32-prelu/gen/wasmsimd-bitselect-4x8.c 35tools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=16 -D ROW_TILE=4 -o src/f32-prelu/gen/wasmsimd-bitselect-4x16.c 36 37tools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=4 -D ROW_TILE=1 -o src/f32-prelu/gen/wasmsimd-minmax-1x4.c 38tools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=8 -D ROW_TILE=1 -o src/f32-prelu/gen/wasmsimd-minmax-1x8.c 39tools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=16 -D ROW_TILE=1 -o src/f32-prelu/gen/wasmsimd-minmax-1x16.c 40tools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -o src/f32-prelu/gen/wasmsimd-minmax-2x4.c 41tools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -o src/f32-prelu/gen/wasmsimd-minmax-2x8.c 42tools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=16 -D ROW_TILE=2 -o src/f32-prelu/gen/wasmsimd-minmax-2x16.c 43tools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=4 -D ROW_TILE=4 -o src/f32-prelu/gen/wasmsimd-minmax-4x4.c 44tools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=8 -D ROW_TILE=4 -o src/f32-prelu/gen/wasmsimd-minmax-4x8.c 45tools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=16 -D ROW_TILE=4 -o src/f32-prelu/gen/wasmsimd-minmax-4x16.c 46 47################################### ARM NEON ################################## 48tools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -o src/f32-prelu/gen/neon-2x4.c 49tools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -o src/f32-prelu/gen/neon-2x8.c 50 51############################# x86 SSE/SSE2/SSE4.1 ############################# 52tools/xngen src/f32-prelu/sse.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -D SSE=1 -o src/f32-prelu/gen/sse-2x4.c 53tools/xngen src/f32-prelu/sse.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -D SSE=1 -o src/f32-prelu/gen/sse-2x8.c 54tools/xngen src/f32-prelu/sse.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -D SSE=2 -o src/f32-prelu/gen/sse2-2x4.c 55tools/xngen src/f32-prelu/sse.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -D SSE=2 -o src/f32-prelu/gen/sse2-2x8.c 56tools/xngen src/f32-prelu/sse.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -D SSE=4 -o src/f32-prelu/gen/sse41-2x4.c 57tools/xngen src/f32-prelu/sse.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -D SSE=4 -o src/f32-prelu/gen/sse41-2x8.c 58 59################################### x86 AVX ################################### 60tools/xngen src/f32-prelu/avx.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -o src/f32-prelu/gen/avx-2x8.c 61tools/xngen src/f32-prelu/avx.c.in -D CHANNEL_TILE=16 -D ROW_TILE=2 -o src/f32-prelu/gen/avx-2x16.c 62 63################################## x86 AVX512 ################################# 64tools/xngen src/f32-prelu/avx512f.c.in -D CHANNEL_TILE=16 -D ROW_TILE=2 -o src/f32-prelu/gen/avx512f-2x16.c 65tools/xngen src/f32-prelu/avx512f.c.in -D CHANNEL_TILE=32 -D ROW_TILE=2 -o src/f32-prelu/gen/avx512f-2x32.c 66 67################################## Unit tests ################################# 68tools/generate-prelu-test.py --spec test/f32-prelu.yaml --output test/f32-prelu.cc 69