| #!/bin/sh |
| # Copyright 2023 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. |
| |
| ################################### ARM NEON ################################## |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=neon -D SIMD_SIZE=4 -D BATCH_TILE=4 -D ACCUMULATORS=1 -o src/f32-rsum/gen/f32-rsum-neon-u4.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=neon -D SIMD_SIZE=4 -D BATCH_TILE=8 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-neon-u8-acc2.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=neon -D SIMD_SIZE=4 -D BATCH_TILE=12 -D ACCUMULATORS=3 -o src/f32-rsum/gen/f32-rsum-neon-u12-acc3.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=neon -D SIMD_SIZE=4 -D BATCH_TILE=16 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-neon-u16-acc2.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=neon -D SIMD_SIZE=4 -D BATCH_TILE=16 -D ACCUMULATORS=4 -o src/f32-rsum/gen/f32-rsum-neon-u16-acc4.c & |
| |
| ################################### x86 SSE2 ################################### |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=sse2 -D SIMD_SIZE=4 -D BATCH_TILE=4 -D ACCUMULATORS=1 -o src/f32-rsum/gen/f32-rsum-sse2-u4.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=sse2 -D SIMD_SIZE=4 -D BATCH_TILE=8 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-sse2-u8-acc2.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=sse2 -D SIMD_SIZE=4 -D BATCH_TILE=12 -D ACCUMULATORS=3 -o src/f32-rsum/gen/f32-rsum-sse2-u12-acc3.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=sse2 -D SIMD_SIZE=4 -D BATCH_TILE=16 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-sse2-u16-acc2.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=sse2 -D SIMD_SIZE=4 -D BATCH_TILE=16 -D ACCUMULATORS=4 -o src/f32-rsum/gen/f32-rsum-sse2-u16-acc4.c & |
| |
| ################################### x86 AVX ################################### |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=avx -D SIMD_SIZE=8 -D BATCH_TILE=8 -D ACCUMULATORS=1 -o src/f32-rsum/gen/f32-rsum-avx-u8.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=avx -D SIMD_SIZE=8 -D BATCH_TILE=16 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-avx-u16-acc2.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=avx -D SIMD_SIZE=8 -D BATCH_TILE=24 -D ACCUMULATORS=3 -o src/f32-rsum/gen/f32-rsum-avx-u24-acc3.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=avx -D SIMD_SIZE=8 -D BATCH_TILE=32 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-avx-u32-acc2.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=avx -D SIMD_SIZE=8 -D BATCH_TILE=32 -D ACCUMULATORS=4 -o src/f32-rsum/gen/f32-rsum-avx-u32-acc4.c & |
| |
| ################################## x86 AVX512 ################################# |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=avx512f -D SIMD_SIZE=16 -D BATCH_TILE=16 -D ACCUMULATORS=1 -o src/f32-rsum/gen/f32-rsum-avx512f-u16.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=avx512f -D SIMD_SIZE=16 -D BATCH_TILE=32 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-avx512f-u32-acc2.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=avx512f -D SIMD_SIZE=16 -D BATCH_TILE=48 -D ACCUMULATORS=3 -o src/f32-rsum/gen/f32-rsum-avx512f-u48-acc3.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=avx512f -D SIMD_SIZE=16 -D BATCH_TILE=64 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-avx512f-u64-acc2.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=avx512f -D SIMD_SIZE=16 -D BATCH_TILE=64 -D ACCUMULATORS=4 -o src/f32-rsum/gen/f32-rsum-avx512f-u64-acc4.c & |
| |
| ################################## Wasm SIMD ################################## |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=wasmsimd -D SIMD_SIZE=4 -D BATCH_TILE=4 -D ACCUMULATORS=1 -o src/f32-rsum/gen/f32-rsum-wasmsimd-u4.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=wasmsimd -D SIMD_SIZE=4 -D BATCH_TILE=8 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-wasmsimd-u8-acc2.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=wasmsimd -D SIMD_SIZE=4 -D BATCH_TILE=12 -D ACCUMULATORS=3 -o src/f32-rsum/gen/f32-rsum-wasmsimd-u12-acc3.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=wasmsimd -D SIMD_SIZE=4 -D BATCH_TILE=16 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-wasmsimd-u16-acc2.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=wasmsimd -D SIMD_SIZE=4 -D BATCH_TILE=16 -D ACCUMULATORS=4 -o src/f32-rsum/gen/f32-rsum-wasmsimd-u16-acc4.c & |
| |
| #################################### Scalar ################################### |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=scalar -D SIMD_SIZE=1 -D BATCH_TILE=1 -D ACCUMULATORS=1 -o src/f32-rsum/gen/f32-rsum-scalar-u1.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=scalar -D SIMD_SIZE=1 -D BATCH_TILE=2 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-scalar-u2-acc2.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=scalar -D SIMD_SIZE=1 -D BATCH_TILE=3 -D ACCUMULATORS=3 -o src/f32-rsum/gen/f32-rsum-scalar-u3-acc3.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=scalar -D SIMD_SIZE=1 -D BATCH_TILE=4 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-scalar-u4-acc2.c & |
| tools/xngen src/f32-rsum/simd.c.in -D ARCH=scalar -D SIMD_SIZE=1 -D BATCH_TILE=4 -D ACCUMULATORS=4 -o src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c & |
| |
| ################################## RISC-V Vector ############################## |
| tools/xngen src/f32-rsum/rvv.c.in -D LMUL=1 -o src/f32-rsum/gen/f32-rsum-rvv-u1v.c & |
| tools/xngen src/f32-rsum/rvv.c.in -D LMUL=2 -o src/f32-rsum/gen/f32-rsum-rvv-u2v.c & |
| tools/xngen src/f32-rsum/rvv.c.in -D LMUL=4 -o src/f32-rsum/gen/f32-rsum-rvv-u4v.c & |
| tools/xngen src/f32-rsum/rvv.c.in -D LMUL=8 -o src/f32-rsum/gen/f32-rsum-rvv-u8v.c & |
| |
| ################################## Hexagon HVX ################################ |
| tools/xngen src/f32-rsum/hvx.c.in -D BATCH_TILE=32 -D ACCUMULATORS=1 -o src/f32-rsum/gen/f32-rsum-hvx-u32.c & |
| tools/xngen src/f32-rsum/hvx.c.in -D BATCH_TILE=64 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-hvx-u64-acc2.c & |
| tools/xngen src/f32-rsum/hvx.c.in -D BATCH_TILE=96 -D ACCUMULATORS=3 -o src/f32-rsum/gen/f32-rsum-hvx-u96-acc3.c & |
| tools/xngen src/f32-rsum/hvx.c.in -D BATCH_TILE=128 -D ACCUMULATORS=2 -o src/f32-rsum/gen/f32-rsum-hvx-u128-acc2.c & |
| tools/xngen src/f32-rsum/hvx.c.in -D BATCH_TILE=128 -D ACCUMULATORS=4 -o src/f32-rsum/gen/f32-rsum-hvx-u128-acc4.c & |
| |
| wait |