1#!/bin/sh 2# Copyright 2022 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################################## ARM NEON ################################### 8tools/xngen src/qs8-vlrelu/neon.c.in -D BATCH_TILE=8 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-neon-x8.c & 9tools/xngen src/qs8-vlrelu/neon.c.in -D BATCH_TILE=16 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-neon-x16.c & 10tools/xngen src/qs8-vlrelu/neon.c.in -D BATCH_TILE=32 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-neon-x32.c & 11 12tools/xngen src/qs8-vlrelu/neon.c.in -D BATCH_TILE=8 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-neon-x8.c & 13tools/xngen src/qs8-vlrelu/neon.c.in -D BATCH_TILE=16 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-neon-x16.c & 14tools/xngen src/qs8-vlrelu/neon.c.in -D BATCH_TILE=32 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-neon-x32.c & 15 16################################### x86 SSE2 ################################## 17tools/xngen src/qs8-vlrelu/sse2.c.in -D BATCH_TILE=16 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-sse2-x16.c & 18tools/xngen src/qs8-vlrelu/sse2.c.in -D BATCH_TILE=32 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-sse2-x32.c & 19 20tools/xngen src/qs8-vlrelu/sse2.c.in -D BATCH_TILE=16 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-sse2-x16.c & 21tools/xngen src/qs8-vlrelu/sse2.c.in -D BATCH_TILE=32 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-sse2-x32.c & 22 23################################## x86 SSSE3 ################################## 24tools/xngen src/qs8-vlrelu/ssse3.c.in -D BATCH_TILE=16 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-ssse3-x16.c & 25tools/xngen src/qs8-vlrelu/ssse3.c.in -D BATCH_TILE=32 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-ssse3-x32.c & 26 27tools/xngen src/qs8-vlrelu/ssse3.c.in -D BATCH_TILE=16 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-ssse3-x16.c & 28tools/xngen src/qs8-vlrelu/ssse3.c.in -D BATCH_TILE=32 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-ssse3-x32.c & 29 30################################## x86 SSE4.1 ################################# 31tools/xngen src/qs8-vlrelu/sse4.c.in -D BATCH_TILE=8 -D DATATYPE=QS8 -D AVX=0 -o src/qs8-vlrelu/gen/vlrelu-sse41-x8.c & 32tools/xngen src/qs8-vlrelu/sse4.c.in -D BATCH_TILE=16 -D DATATYPE=QS8 -D AVX=0 -o src/qs8-vlrelu/gen/vlrelu-sse41-x16.c & 33tools/xngen src/qs8-vlrelu/sse4.c.in -D BATCH_TILE=32 -D DATATYPE=QS8 -D AVX=0 -o src/qs8-vlrelu/gen/vlrelu-sse41-x32.c & 34 35tools/xngen src/qs8-vlrelu/sse4.c.in -D BATCH_TILE=8 -D DATATYPE=QU8 -D AVX=0 -o src/qu8-vlrelu/gen/vlrelu-sse41-x8.c & 36tools/xngen src/qs8-vlrelu/sse4.c.in -D BATCH_TILE=16 -D DATATYPE=QU8 -D AVX=0 -o src/qu8-vlrelu/gen/vlrelu-sse41-x16.c & 37tools/xngen src/qs8-vlrelu/sse4.c.in -D BATCH_TILE=32 -D DATATYPE=QU8 -D AVX=0 -o src/qu8-vlrelu/gen/vlrelu-sse41-x32.c & 38 39################################### x86 AVX ################################### 40tools/xngen src/qs8-vlrelu/sse4.c.in -D BATCH_TILE=8 -D DATATYPE=QS8 -D AVX=1 -o src/qs8-vlrelu/gen/vlrelu-avx-x8.c & 41tools/xngen src/qs8-vlrelu/sse4.c.in -D BATCH_TILE=16 -D DATATYPE=QS8 -D AVX=1 -o src/qs8-vlrelu/gen/vlrelu-avx-x16.c & 42tools/xngen src/qs8-vlrelu/sse4.c.in -D BATCH_TILE=32 -D DATATYPE=QS8 -D AVX=1 -o src/qs8-vlrelu/gen/vlrelu-avx-x32.c & 43 44tools/xngen src/qs8-vlrelu/sse4.c.in -D BATCH_TILE=8 -D DATATYPE=QU8 -D AVX=1 -o src/qu8-vlrelu/gen/vlrelu-avx-x8.c & 45tools/xngen src/qs8-vlrelu/sse4.c.in -D BATCH_TILE=16 -D DATATYPE=QU8 -D AVX=1 -o src/qu8-vlrelu/gen/vlrelu-avx-x16.c & 46tools/xngen src/qs8-vlrelu/sse4.c.in -D BATCH_TILE=32 -D DATATYPE=QU8 -D AVX=1 -o src/qu8-vlrelu/gen/vlrelu-avx-x32.c & 47 48################################### x86 AVX2 ################################## 49tools/xngen src/qs8-vlrelu/avx2.c.in -D BATCH_TILE=16 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-avx2-x16.c & 50tools/xngen src/qs8-vlrelu/avx2.c.in -D BATCH_TILE=32 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-avx2-x32.c & 51tools/xngen src/qs8-vlrelu/avx2.c.in -D BATCH_TILE=64 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-avx2-x64.c & 52 53tools/xngen src/qs8-vlrelu/avx2.c.in -D BATCH_TILE=16 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-avx2-x16.c & 54tools/xngen src/qs8-vlrelu/avx2.c.in -D BATCH_TILE=32 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-avx2-x32.c & 55tools/xngen src/qs8-vlrelu/avx2.c.in -D BATCH_TILE=64 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-avx2-x64.c & 56 57################################## WAsm SIMD ################################## 58tools/xngen src/qs8-vlrelu/wasmsimd-arm.c.in -D BATCH_TILE=16 -D RELAXED=0 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-wasmsimd-arm-x16.c & 59tools/xngen src/qs8-vlrelu/wasmsimd-arm.c.in -D BATCH_TILE=32 -D RELAXED=0 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-wasmsimd-arm-x32.c & 60 61tools/xngen src/qs8-vlrelu/wasmsimd-arm.c.in -D BATCH_TILE=16 -D RELAXED=0 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-wasmsimd-arm-x16.c & 62tools/xngen src/qs8-vlrelu/wasmsimd-arm.c.in -D BATCH_TILE=32 -D RELAXED=0 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-wasmsimd-arm-x32.c & 63 64tools/xngen src/qs8-vlrelu/wasmsimd-arm.c.in -D BATCH_TILE=16 -D RELAXED=1 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-wasmrelaxedsimd-arm-x16.c & 65tools/xngen src/qs8-vlrelu/wasmsimd-arm.c.in -D BATCH_TILE=32 -D RELAXED=1 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-wasmrelaxedsimd-arm-x32.c & 66 67tools/xngen src/qs8-vlrelu/wasmsimd-arm.c.in -D BATCH_TILE=16 -D RELAXED=1 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-wasmrelaxedsimd-arm-x16.c & 68tools/xngen src/qs8-vlrelu/wasmsimd-arm.c.in -D BATCH_TILE=32 -D RELAXED=1 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-wasmrelaxedsimd-arm-x32.c & 69 70tools/xngen src/qs8-vlrelu/wasmsimd-x86.c.in -D BATCH_TILE=8 -D RELAXED=0 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-wasmsimd-x86-x8.c & 71tools/xngen src/qs8-vlrelu/wasmsimd-x86.c.in -D BATCH_TILE=16 -D RELAXED=0 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-wasmsimd-x86-x16.c & 72tools/xngen src/qs8-vlrelu/wasmsimd-x86.c.in -D BATCH_TILE=32 -D RELAXED=0 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-wasmsimd-x86-x32.c & 73 74tools/xngen src/qs8-vlrelu/wasmsimd-x86.c.in -D BATCH_TILE=8 -D RELAXED=0 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-wasmsimd-x86-x8.c & 75tools/xngen src/qs8-vlrelu/wasmsimd-x86.c.in -D BATCH_TILE=16 -D RELAXED=0 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-wasmsimd-x86-x16.c & 76tools/xngen src/qs8-vlrelu/wasmsimd-x86.c.in -D BATCH_TILE=32 -D RELAXED=0 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-wasmsimd-x86-x32.c & 77 78tools/xngen src/qs8-vlrelu/wasmsimd-x86.c.in -D BATCH_TILE=8 -D RELAXED=1 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-wasmrelaxedsimd-x86-x8.c & 79tools/xngen src/qs8-vlrelu/wasmsimd-x86.c.in -D BATCH_TILE=16 -D RELAXED=1 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-wasmrelaxedsimd-x86-x16.c & 80tools/xngen src/qs8-vlrelu/wasmsimd-x86.c.in -D BATCH_TILE=32 -D RELAXED=1 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-wasmrelaxedsimd-x86-x32.c & 81 82tools/xngen src/qs8-vlrelu/wasmsimd-x86.c.in -D BATCH_TILE=8 -D RELAXED=1 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-wasmrelaxedsimd-x86-x8.c & 83tools/xngen src/qs8-vlrelu/wasmsimd-x86.c.in -D BATCH_TILE=16 -D RELAXED=1 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-wasmrelaxedsimd-x86-x16.c & 84tools/xngen src/qs8-vlrelu/wasmsimd-x86.c.in -D BATCH_TILE=32 -D RELAXED=1 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-wasmrelaxedsimd-x86-x32.c & 85 86################################## ARMv6 SIMD ################################# 87tools/xngen src/qs8-vlrelu/armsimd32.c.in -D BATCH_TILE=4 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-armsimd32-x4.c & 88tools/xngen src/qs8-vlrelu/armsimd32.c.in -D BATCH_TILE=8 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-armsimd32-x8.c & 89 90tools/xngen src/qs8-vlrelu/armsimd32.c.in -D BATCH_TILE=4 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-armsimd32-x4.c & 91tools/xngen src/qs8-vlrelu/armsimd32.c.in -D BATCH_TILE=8 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-armsimd32-x8.c & 92 93#################################### Scalar ################################### 94tools/xngen src/qs8-vlrelu/scalar-select.c.in -D BATCH_TILE=1 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-scalar-select-x1.c & 95tools/xngen src/qs8-vlrelu/scalar-select.c.in -D BATCH_TILE=2 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-scalar-select-x2.c & 96tools/xngen src/qs8-vlrelu/scalar-select.c.in -D BATCH_TILE=4 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-scalar-select-x4.c & 97 98tools/xngen src/qs8-vlrelu/scalar-select.c.in -D BATCH_TILE=1 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-scalar-select-x1.c & 99tools/xngen src/qs8-vlrelu/scalar-select.c.in -D BATCH_TILE=2 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-scalar-select-x2.c & 100tools/xngen src/qs8-vlrelu/scalar-select.c.in -D BATCH_TILE=4 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-scalar-select-x4.c & 101 102tools/xngen src/qs8-vlrelu/scalar-andxor.c.in -D BATCH_TILE=1 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-scalar-andxor-x1.c & 103tools/xngen src/qs8-vlrelu/scalar-andxor.c.in -D BATCH_TILE=2 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-scalar-andxor-x2.c & 104tools/xngen src/qs8-vlrelu/scalar-andxor.c.in -D BATCH_TILE=4 -D DATATYPE=QS8 -o src/qs8-vlrelu/gen/vlrelu-scalar-andxor-x4.c & 105 106tools/xngen src/qs8-vlrelu/scalar-andxor.c.in -D BATCH_TILE=1 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-scalar-andxor-x1.c & 107tools/xngen src/qs8-vlrelu/scalar-andxor.c.in -D BATCH_TILE=2 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-scalar-andxor-x2.c & 108tools/xngen src/qs8-vlrelu/scalar-andxor.c.in -D BATCH_TILE=4 -D DATATYPE=QU8 -o src/qu8-vlrelu/gen/vlrelu-scalar-andxor-x4.c & 109 110################################## Unit tests ################################# 111tools/generate-vlrelu-test.py --spec test/qs8-vlrelu.yaml --output test/qs8-vlrelu.cc & 112tools/generate-vlrelu-test.py --spec test/qu8-vlrelu.yaml --output test/qu8-vlrelu.cc & 113 114wait 115