#!/bin/sh # Copyright 2021 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. #################################### Scalar ################################### tools/xngen src/x32-transposec/scalar.c.in -D SIZE=8 TYPE=int8_t TILE_HEIGHT=1 TILE_WIDTH=2 -o src/x8-transposec/gen/x8-transposec-1x2-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=8 TYPE=int8_t TILE_HEIGHT=1 TILE_WIDTH=4 -o src/x8-transposec/gen/x8-transposec-1x4-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=8 TYPE=int8_t TILE_HEIGHT=2 TILE_WIDTH=1 -o src/x8-transposec/gen/x8-transposec-2x1-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=8 TYPE=int8_t TILE_HEIGHT=2 TILE_WIDTH=2 -o src/x8-transposec/gen/x8-transposec-2x2-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=8 TYPE=int8_t TILE_HEIGHT=2 TILE_WIDTH=4 -o src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=8 TYPE=int8_t TILE_HEIGHT=4 TILE_WIDTH=1 -o src/x8-transposec/gen/x8-transposec-4x1-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=8 TYPE=int8_t TILE_HEIGHT=4 TILE_WIDTH=2 -o src/x8-transposec/gen/x8-transposec-4x2-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=8 TYPE=int8_t TILE_HEIGHT=4 TILE_WIDTH=4 -o src/x8-transposec/gen/x8-transposec-4x4-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=16 TYPE=int16_t TILE_HEIGHT=1 TILE_WIDTH=2 -o src/x16-transposec/gen/x16-transposec-1x2-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=16 TYPE=int16_t TILE_HEIGHT=1 TILE_WIDTH=4 -o src/x16-transposec/gen/x16-transposec-1x4-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=16 TYPE=int16_t TILE_HEIGHT=2 TILE_WIDTH=1 -o src/x16-transposec/gen/x16-transposec-2x1-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=16 TYPE=int16_t TILE_HEIGHT=2 TILE_WIDTH=2 -o src/x16-transposec/gen/x16-transposec-2x2-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=16 TYPE=int16_t TILE_HEIGHT=2 TILE_WIDTH=4 -o src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=16 TYPE=int16_t TILE_HEIGHT=4 TILE_WIDTH=1 -o src/x16-transposec/gen/x16-transposec-4x1-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=16 TYPE=int16_t TILE_HEIGHT=4 TILE_WIDTH=2 -o src/x16-transposec/gen/x16-transposec-4x2-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=16 TYPE=int16_t TILE_HEIGHT=4 TILE_WIDTH=4 -o src/x16-transposec/gen/x16-transposec-4x4-scalar-int.c & tools/xngen src/x24-transposec/scalar.c.in -D TILE_HEIGHT=1 TILE_WIDTH=2 -o src/x24-transposec/gen/x24-transposec-1x2-scalar.c & tools/xngen src/x24-transposec/scalar.c.in -D TILE_HEIGHT=1 TILE_WIDTH=4 -o src/x24-transposec/gen/x24-transposec-1x4-scalar.c & tools/xngen src/x24-transposec/scalar.c.in -D TILE_HEIGHT=2 TILE_WIDTH=1 -o src/x24-transposec/gen/x24-transposec-2x1-scalar.c & tools/xngen src/x24-transposec/scalar.c.in -D TILE_HEIGHT=2 TILE_WIDTH=2 -o src/x24-transposec/gen/x24-transposec-2x2-scalar.c & tools/xngen src/x24-transposec/scalar.c.in -D TILE_HEIGHT=2 TILE_WIDTH=4 -o src/x24-transposec/gen/x24-transposec-2x4-scalar.c & tools/xngen src/x24-transposec/scalar.c.in -D TILE_HEIGHT=4 TILE_WIDTH=1 -o src/x24-transposec/gen/x24-transposec-4x1-scalar.c & tools/xngen src/x24-transposec/scalar.c.in -D TILE_HEIGHT=4 TILE_WIDTH=2 -o src/x24-transposec/gen/x24-transposec-4x2-scalar.c & tools/xngen src/x24-transposec/scalar.c.in -D TILE_HEIGHT=4 TILE_WIDTH=4 -o src/x24-transposec/gen/x24-transposec-4x4-scalar.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=1 TILE_WIDTH=2 TYPE=int -o src/x32-transposec/gen/x32-transposec-1x2-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=1 TILE_WIDTH=4 TYPE=int -o src/x32-transposec/gen/x32-transposec-1x4-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=2 TILE_WIDTH=1 TYPE=int -o src/x32-transposec/gen/x32-transposec-2x1-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=2 TILE_WIDTH=2 TYPE=int -o src/x32-transposec/gen/x32-transposec-2x2-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=2 TILE_WIDTH=4 TYPE=int -o src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=4 TILE_WIDTH=1 TYPE=int -o src/x32-transposec/gen/x32-transposec-4x1-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=4 TILE_WIDTH=2 TYPE=int -o src/x32-transposec/gen/x32-transposec-4x2-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=4 TILE_WIDTH=4 TYPE=int -o src/x32-transposec/gen/x32-transposec-4x4-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=1 TILE_WIDTH=2 TYPE=float -o src/x32-transposec/gen/x32-transposec-1x2-scalar-float.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=1 TILE_WIDTH=4 TYPE=float -o src/x32-transposec/gen/x32-transposec-1x4-scalar-float.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=2 TILE_WIDTH=1 TYPE=float -o src/x32-transposec/gen/x32-transposec-2x1-scalar-float.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=2 TILE_WIDTH=2 TYPE=float -o src/x32-transposec/gen/x32-transposec-2x2-scalar-float.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=2 TILE_WIDTH=4 TYPE=float -o src/x32-transposec/gen/x32-transposec-2x4-scalar-float.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=4 TILE_WIDTH=1 TYPE=float -o src/x32-transposec/gen/x32-transposec-4x1-scalar-float.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=4 TILE_WIDTH=2 TYPE=float -o src/x32-transposec/gen/x32-transposec-4x2-scalar-float.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=32 TILE_HEIGHT=4 TILE_WIDTH=4 TYPE=float -o src/x32-transposec/gen/x32-transposec-4x4-scalar-float.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=64 TILE_HEIGHT=1 TILE_WIDTH=2 TYPE=int64_t -o src/x64-transposec/gen/x64-transposec-1x2-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=64 TILE_HEIGHT=2 TILE_WIDTH=1 TYPE=int64_t -o src/x64-transposec/gen/x64-transposec-2x1-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=64 TILE_HEIGHT=2 TILE_WIDTH=2 TYPE=int64_t -o src/x64-transposec/gen/x64-transposec-2x2-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=64 TILE_HEIGHT=4 TILE_WIDTH=1 TYPE=int64_t -o src/x64-transposec/gen/x64-transposec-4x1-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=64 TILE_HEIGHT=4 TILE_WIDTH=2 TYPE=int64_t -o src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=64 TILE_HEIGHT=1 TILE_WIDTH=2 TYPE=double -o src/x64-transposec/gen/x64-transposec-1x2-scalar-float.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=64 TILE_HEIGHT=2 TILE_WIDTH=1 TYPE=double -o src/x64-transposec/gen/x64-transposec-2x1-scalar-float.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=64 TILE_HEIGHT=2 TILE_WIDTH=2 TYPE=double -o src/x64-transposec/gen/x64-transposec-2x2-scalar-float.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=64 TILE_HEIGHT=4 TILE_WIDTH=1 TYPE=double -o src/x64-transposec/gen/x64-transposec-4x1-scalar-float.c & tools/xngen src/x32-transposec/scalar.c.in -D SIZE=64 TILE_HEIGHT=4 TILE_WIDTH=2 TYPE=double -o src/x64-transposec/gen/x64-transposec-4x2-scalar-float.c & #################################### SSE2 ################################### tools/xngen src/x32-transposec/sse2.c.in -D SIZE=8 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x8-transposec/gen/x8-transposec-16x16-reuse-mov-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=8 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x8-transposec/gen/x8-transposec-16x16-reuse-switch-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=16 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x16-transposec/gen/x16-transposec-8x8-reuse-mov-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=16 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x16-transposec/gen/x16-transposec-8x8-reuse-switch-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=16 IN_PTRS=REUSE OUT_PTRS=MULTI -o src/x16-transposec/gen/x16-transposec-8x8-reuse-multi-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=16 IN_PTRS=MULTI OUT_PTRS=SWITCH -o src/x16-transposec/gen/x16-transposec-8x8-multi-switch-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=16 IN_PTRS=MULTI OUT_PTRS=MOV -o src/x16-transposec/gen/x16-transposec-8x8-multi-mov-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=32 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x32-transposec/gen/x32-transposec-4x4-reuse-mov-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=32 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x32-transposec/gen/x32-transposec-4x4-reuse-switch-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=32 IN_PTRS=REUSE OUT_PTRS=MULTI -o src/x32-transposec/gen/x32-transposec-4x4-reuse-multi-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=32 IN_PTRS=MULTI OUT_PTRS=SWITCH -o src/x32-transposec/gen/x32-transposec-4x4-multi-switch-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=32 IN_PTRS=MULTI OUT_PTRS=MULTI -o src/x32-transposec/gen/x32-transposec-4x4-multi-multi-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=32 IN_PTRS=MULTI OUT_PTRS=MOV -o src/x32-transposec/gen/x32-transposec-4x4-multi-mov-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=64 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x64-transposec/gen/x64-transposec-2x2-reuse-mov-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=64 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x64-transposec/gen/x64-transposec-2x2-reuse-switch-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=64 IN_PTRS=REUSE OUT_PTRS=MULTI -o src/x64-transposec/gen/x64-transposec-2x2-reuse-multi-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=64 IN_PTRS=MULTI OUT_PTRS=SWITCH -o src/x64-transposec/gen/x64-transposec-2x2-multi-switch-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=64 IN_PTRS=MULTI OUT_PTRS=MULTI -o src/x64-transposec/gen/x64-transposec-2x2-multi-multi-sse2.c & tools/xngen src/x32-transposec/sse2.c.in -D SIZE=64 IN_PTRS=MULTI OUT_PTRS=MOV -o src/x64-transposec/gen/x64-transposec-2x2-multi-mov-sse2.c & #################################### AVX ################################### tools/xngen src/x32-transposec/avx.c.in -D SIZE=32 ARCH=AVX IN_PTRS=REUSE OUT_PTRS=MOV -o src/x32-transposec/gen/x32-transposec-8x8-reuse-mov-avx.c & tools/xngen src/x32-transposec/avx.c.in -D SIZE=32 ARCH=AVX IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x32-transposec/gen/x32-transposec-8x8-reuse-switch-avx.c & tools/xngen src/x32-transposec/avx.c.in -D SIZE=32 ARCH=AVX IN_PTRS=REUSE OUT_PTRS=MULTI -o src/x32-transposec/gen/x32-transposec-8x8-reuse-multi-avx.c & tools/xngen src/x32-transposec/avx.c.in -D SIZE=32 ARCH=AVX IN_PTRS=MULTI OUT_PTRS=SWITCH -o src/x32-transposec/gen/x32-transposec-8x8-multi-switch-avx.c & tools/xngen src/x32-transposec/avx.c.in -D SIZE=32 ARCH=AVX IN_PTRS=MULTI OUT_PTRS=MOV -o src/x32-transposec/gen/x32-transposec-8x8-multi-mov-avx.c & tools/xngen src/x32-transposec/avx.c.in -D SIZE=64 ARCH=AVX IN_PTRS=REUSE OUT_PTRS=MOV -o src/x64-transposec/gen/x64-transposec-4x4-reuse-mov-avx.c & tools/xngen src/x32-transposec/avx.c.in -D SIZE=64 ARCH=AVX IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x64-transposec/gen/x64-transposec-4x4-reuse-switch-avx.c & tools/xngen src/x32-transposec/avx.c.in -D SIZE=64 ARCH=AVX IN_PTRS=REUSE OUT_PTRS=MULTI -o src/x64-transposec/gen/x64-transposec-4x4-reuse-multi-avx.c & tools/xngen src/x32-transposec/avx.c.in -D SIZE=64 ARCH=AVX IN_PTRS=MULTI OUT_PTRS=SWITCH -o src/x64-transposec/gen/x64-transposec-4x4-multi-switch-avx.c & tools/xngen src/x32-transposec/avx.c.in -D SIZE=64 ARCH=AVX IN_PTRS=MULTI OUT_PTRS=MULTI -o src/x64-transposec/gen/x64-transposec-4x4-multi-multi-avx.c & tools/xngen src/x32-transposec/avx.c.in -D SIZE=64 ARCH=AVX IN_PTRS=MULTI OUT_PTRS=MOV -o src/x64-transposec/gen/x64-transposec-4x4-multi-mov-avx.c & #################################### AVX2 ################################### tools/xngen src/x32-transposec/avx2.c.in -D SIZE=8 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x8-transposec/gen/x8-transposec-32x32-reuse-mov-avx2.c & tools/xngen src/x32-transposec/avx2.c.in -D SIZE=8 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x8-transposec/gen/x8-transposec-32x32-reuse-switch-avx2.c & tools/xngen src/x32-transposec/avx2.c.in -D SIZE=16 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x16-transposec/gen/x16-transposec-16x16-reuse-mov-avx2.c & tools/xngen src/x32-transposec/avx2.c.in -D SIZE=16 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x16-transposec/gen/x16-transposec-16x16-reuse-switch-avx2.c & #################################### RISCV VECTOR ############################### tools/xngen src/x32-transposec/rvv.c.in -D SIZE=32 VLEN=1024 -o src/x32-transposec/gen/x32-transposec-32x8-rvv.c & tools/xngen src/x32-transposec/rvv.c.in -D SIZE=32 VLEN=512 -o src/x32-transposec/gen/x32-transposec-16x8-rvv.c & tools/xngen src/x32-transposec/rvv.c.in -D SIZE=32 VLEN=256 -o src/x32-transposec/gen/x32-transposec-8x8-rvv.c & tools/xngen src/x32-transposec/rvv.c.in -D SIZE=32 VLEN=128 -o src/x32-transposec/gen/x32-transposec-4x4-rvv.c & #################################### ARM NEON ############################### tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=8 VECTOR_SIZE=64 IN_PTRS=MULTI OUT_PTRS=DEC -o src/x8-transposec/gen/x8-transposec-8x8-multi-dec-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=8 VECTOR_SIZE=64 IN_PTRS=MULTI OUT_PTRS=MOV -o src/x8-transposec/gen/x8-transposec-8x8-multi-mov-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=8 VECTOR_SIZE=64 IN_PTRS=MULTI OUT_PTRS=SWITCH -o src/x8-transposec/gen/x8-transposec-8x8-multi-switch-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=8 VECTOR_SIZE=64 IN_PTRS=REUSE OUT_PTRS=DEC -o src/x8-transposec/gen/x8-transposec-8x8-reuse-dec-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=8 VECTOR_SIZE=64 IN_PTRS=REUSE OUT_PTRS=MULTI -o src/x8-transposec/gen/x8-transposec-8x8-reuse-multi-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=8 VECTOR_SIZE=64 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x8-transposec/gen/x8-transposec-8x8-reuse-mov-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=8 VECTOR_SIZE=64 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x8-transposec/gen/x8-transposec-8x8-reuse-switch-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=8 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=DEC -o src/x8-transposec/gen/x8-transposec-16x16-reuse-dec-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=8 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x8-transposec/gen/x8-transposec-16x16-reuse-mov-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=8 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x8-transposec/gen/x8-transposec-16x16-reuse-switch-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=64 IN_PTRS=MULTI OUT_PTRS=DEC -o src/x16-transposec/gen/x16-transposec-4x4-multi-dec-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=64 IN_PTRS=MULTI OUT_PTRS=MOV -o src/x16-transposec/gen/x16-transposec-4x4-multi-mov-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=64 IN_PTRS=MULTI OUT_PTRS=MULTI -o src/x16-transposec/gen/x16-transposec-4x4-multi-multi-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=64 IN_PTRS=MULTI OUT_PTRS=SWITCH -o src/x16-transposec/gen/x16-transposec-4x4-multi-switch-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=64 IN_PTRS=REUSE OUT_PTRS=DEC -o src/x16-transposec/gen/x16-transposec-4x4-reuse-dec-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=64 IN_PTRS=REUSE OUT_PTRS=MULTI -o src/x16-transposec/gen/x16-transposec-4x4-reuse-multi-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=64 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x16-transposec/gen/x16-transposec-4x4-reuse-mov-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=64 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x16-transposec/gen/x16-transposec-4x4-reuse-switch-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=DEC -o src/x16-transposec/gen/x16-transposec-8x8-reuse-dec-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x16-transposec/gen/x16-transposec-8x8-reuse-mov-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x16-transposec/gen/x16-transposec-8x8-reuse-switch-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=MULTI -o src/x16-transposec/gen/x16-transposec-8x8-reuse-multi-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=128 IN_PTRS=MULTI OUT_PTRS=SWITCH -o src/x16-transposec/gen/x16-transposec-8x8-multi-switch-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=128 IN_PTRS=MULTI OUT_PTRS=DEC -o src/x16-transposec/gen/x16-transposec-8x8-multi-dec-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=16 VECTOR_SIZE=128 IN_PTRS=MULTI OUT_PTRS=MOV -o src/x16-transposec/gen/x16-transposec-8x8-multi-mov-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=64 IN_PTRS=REUSE OUT_PTRS=DEC -o src/x32-transposec/gen/x32-transposec-2x2-reuse-dec-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=64 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x32-transposec/gen/x32-transposec-2x2-reuse-mov-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=64 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x32-transposec/gen/x32-transposec-2x2-reuse-switch-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=64 IN_PTRS=REUSE OUT_PTRS=MULTI -o src/x32-transposec/gen/x32-transposec-2x2-reuse-multi-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=64 IN_PTRS=MULTI OUT_PTRS=SWITCH -o src/x32-transposec/gen/x32-transposec-2x2-multi-switch-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=64 IN_PTRS=MULTI OUT_PTRS=MULTI -o src/x32-transposec/gen/x32-transposec-2x2-multi-multi-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=64 IN_PTRS=MULTI OUT_PTRS=DEC -o src/x32-transposec/gen/x32-transposec-2x2-multi-dec-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=64 IN_PTRS=MULTI OUT_PTRS=MOV -o src/x32-transposec/gen/x32-transposec-2x2-multi-mov-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=DEC -o src/x32-transposec/gen/x32-transposec-4x4-reuse-dec-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x32-transposec/gen/x32-transposec-4x4-reuse-mov-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x32-transposec/gen/x32-transposec-4x4-reuse-switch-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=MULTI -o src/x32-transposec/gen/x32-transposec-4x4-reuse-multi-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=128 IN_PTRS=MULTI OUT_PTRS=SWITCH -o src/x32-transposec/gen/x32-transposec-4x4-multi-switch-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=128 IN_PTRS=MULTI OUT_PTRS=MULTI -o src/x32-transposec/gen/x32-transposec-4x4-multi-multi-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=128 IN_PTRS=MULTI OUT_PTRS=DEC -o src/x32-transposec/gen/x32-transposec-4x4-multi-dec-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=32 VECTOR_SIZE=128 IN_PTRS=MULTI OUT_PTRS=MOV -o src/x32-transposec/gen/x32-transposec-4x4-multi-mov-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=64 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=DEC -o src/x64-transposec/gen/x64-transposec-2x2-reuse-dec-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=64 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x64-transposec/gen/x64-transposec-2x2-reuse-mov-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=64 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x64-transposec/gen/x64-transposec-2x2-reuse-switch-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=64 VECTOR_SIZE=128 IN_PTRS=REUSE OUT_PTRS=MULTI -o src/x64-transposec/gen/x64-transposec-2x2-reuse-multi-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=64 VECTOR_SIZE=128 IN_PTRS=MULTI OUT_PTRS=SWITCH -o src/x64-transposec/gen/x64-transposec-2x2-multi-switch-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=64 VECTOR_SIZE=128 IN_PTRS=MULTI OUT_PTRS=MULTI -o src/x64-transposec/gen/x64-transposec-2x2-multi-multi-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=64 VECTOR_SIZE=128 IN_PTRS=MULTI OUT_PTRS=DEC -o src/x64-transposec/gen/x64-transposec-2x2-multi-dec-zip-neon.c & tools/xngen src/x32-transposec/neon-zip.c.in -D SIZE=64 VECTOR_SIZE=128 IN_PTRS=MULTI OUT_PTRS=MOV -o src/x64-transposec/gen/x64-transposec-2x2-multi-mov-zip-neon.c & #################################### WAsm SIMD ############################### tools/xngen src/x32-transposec/wasmsimd.c.in -D SIZE=8 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x8-transposec/gen/x8-transposec-16x16-reuse-mov-wasmsimd.c & tools/xngen src/x32-transposec/wasmsimd.c.in -D SIZE=8 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x8-transposec/gen/x8-transposec-16x16-reuse-switch-wasmsimd.c & tools/xngen src/x32-transposec/wasmsimd.c.in -D SIZE=16 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x16-transposec/gen/x16-transposec-8x8-reuse-mov-wasmsimd.c & tools/xngen src/x32-transposec/wasmsimd.c.in -D SIZE=16 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x16-transposec/gen/x16-transposec-8x8-reuse-switch-wasmsimd.c & tools/xngen src/x32-transposec/wasmsimd.c.in -D SIZE=16 IN_PTRS=REUSE OUT_PTRS=MULTI -o src/x16-transposec/gen/x16-transposec-8x8-reuse-multi-wasmsimd.c & tools/xngen src/x32-transposec/wasmsimd.c.in -D SIZE=16 IN_PTRS=MULTI OUT_PTRS=SWITCH -o src/x16-transposec/gen/x16-transposec-8x8-multi-switch-wasmsimd.c & tools/xngen src/x32-transposec/wasmsimd.c.in -D SIZE=16 IN_PTRS=MULTI OUT_PTRS=MOV -o src/x16-transposec/gen/x16-transposec-8x8-multi-mov-wasmsimd.c & tools/xngen src/x32-transposec/wasmsimd.c.in -D SIZE=32 IN_PTRS=REUSE OUT_PTRS=MOV -o src/x32-transposec/gen/x32-transposec-4x4-reuse-mov-wasmsimd.c & tools/xngen src/x32-transposec/wasmsimd.c.in -D SIZE=32 IN_PTRS=REUSE OUT_PTRS=SWITCH -o src/x32-transposec/gen/x32-transposec-4x4-reuse-switch-wasmsimd.c & tools/xngen src/x32-transposec/wasmsimd.c.in -D SIZE=32 IN_PTRS=REUSE OUT_PTRS=MULTI -o src/x32-transposec/gen/x32-transposec-4x4-reuse-multi-wasmsimd.c & tools/xngen src/x32-transposec/wasmsimd.c.in -D SIZE=32 IN_PTRS=MULTI OUT_PTRS=SWITCH -o src/x32-transposec/gen/x32-transposec-4x4-multi-switch-wasmsimd.c & tools/xngen src/x32-transposec/wasmsimd.c.in -D SIZE=32 IN_PTRS=MULTI OUT_PTRS=MULTI -o src/x32-transposec/gen/x32-transposec-4x4-multi-multi-wasmsimd.c & tools/xngen src/x32-transposec/wasmsimd.c.in -D SIZE=32 IN_PTRS=MULTI OUT_PTRS=MOV -o src/x32-transposec/gen/x32-transposec-4x4-multi-mov-wasmsimd.c & wait