• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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