/ externals / xbyak / test / test_avx.sh
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"