test_avx.sh
1 #!/bin/sh 2 3 set -e 4 5 FILTER="grep -v warning" 6 CXX=${CXX:=g++} 7 8 case $1 in 9 Y) 10 echo "yasm(32bit)" 11 EXE=yasm 12 OPT2="-DUSE_YASM -DXBYAK32" 13 OPT3=win32 14 ;; 15 64) 16 echo "nasm(64bit)" 17 EXE=nasm 18 OPT2=-DXBYAK64 19 OPT3=win64 20 FILTER=./normalize_prefix 21 ;; 22 Y64) 23 echo "yasm(64bit)" 24 EXE=yasm 25 OPT2="-DUSE_YASM -DXBYAK64" 26 OPT3=win64 27 FILTER=./normalize_prefix 28 ;; 29 *) 30 echo "nasm(32bit)" 31 EXE=nasm 32 OPT2=-DXBYAK32 33 OPT3=win32 34 ;; 35 esac 36 37 CFLAGS="-Wall -I../ $OPT2 -DUSE_AVX" 38 echo "compile make_nm.cpp" 39 $CXX $CFLAGS make_nm.cpp -o make_nm 40 41 ./make_nm > a.asm 42 echo "asm" 43 $EXE -f$OPT3 a.asm -l a.lst 44 awk '$3 != "1+1" {printf "%s", sub(/-$/, "", $3) ? $3 : $3 ORS}' a.lst | $FILTER > ok.lst 45 46 echo "xbyak" 47 ./make_nm jit > nm.cpp 48 echo "compile nm_frame.cpp" 49 $CXX $CFLAGS -DXBYAK_TEST nm_frame.cpp -o nm_frame 50 ./nm_frame | $FILTER > x.lst 51 diff -bB ok.lst x.lst && echo "ok"