aboutsummaryrefslogtreecommitdiff
path: root/bench-ilp32.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bench-ilp32.sh')
-rwxr-xr-xbench-ilp32.sh71
1 files changed, 50 insertions, 21 deletions
diff --git a/bench-ilp32.sh b/bench-ilp32.sh
index 93f9504..4cd6f92 100755
--- a/bench-ilp32.sh
+++ b/bench-ilp32.sh
@@ -7,11 +7,12 @@ build_toolchain()
local top="$1"
local abi="$2"
- if [ x"$abi" != x"aarch32" ]; then
- target="--target aarch64-$abi-linux-gnu --set abi=$abi"
- else
- target="--target arm-$abi-linux-gnueabihf"
- fi
+ case "$abi" in
+ lp64|ilp32) target="--target aarch64-$abi-linux-gnu --set abi=$abi" ;;
+ aarch32) target="--target arm-$abi-linux-gnueabihf" ;;
+ pc32) target="--target i686-$abi-linux-gnu" ;;
+ pc64) target="--target x86_64-$abi-linux-gnu" ;;
+ esac
git clone http://git.linaro.org/toolchain/abe.git $top
pushd $top
@@ -27,11 +28,12 @@ download_toolchain()
local abi="$2"
local build
- if [ x"$abi" != x"aarch32" ]; then
- build=gcc-linaro-4.9~git82c1251-aarch64_aarch64-$abi-linux-gnu-20150310
- else
- build=gcc-linaro-4.9~git82c1251-aarch64_arm-$abi-linux-gnueabihf-20150319
- fi
+ case "$abi" in
+ lp64|ilp32) build=gcc-linaro-4.9~git82c1251-aarch64_aarch64-$abi-linux-gnu-20150310 ;;
+ aarch32) build=gcc-linaro-4.9~git82c1251-aarch64_arm-$abi-linux-gnueabihf-20150319 ;;
+ pc32) build=gcc-linaro-4.9~git82c1251-aarch64_i686-$abi-linux-gnu-20150319 ;;
+ pc64) build=gcc-linaro-4.9~git82c1251-aarch64_x86_64-$abi-linux-gnu-20150319 ;;
+ esac
wget -q -c -O $build.tar.xz http://people.linaro.org/~maxim.kuvyrkov/bench-ilp32/$build.tar.xz
tar xf $build.tar.xz
@@ -49,11 +51,12 @@ print_abe_sysroot()
case "$get_toolchain" in
"build_toolchain")
- if [ x"$abi" != x"aarch32" ]; then
- echo "$top/sysroots/aarch64-$abi-linux-gnu"
- else
- echo "$top/sysroots/arm-$abi-linux-gnueabihf"
- fi
+ case "$abi" in
+ lp64|ilp32) echo "$top/sysroots/aarch64-$abi-linux-gnu" ;;
+ aarch32) echo "$top/sysroots/arm-$abi-linux-gnueabihf" ;;
+ pc32) echo "$top/sysroots/i686-$abi-linux-gnu" ;;
+ pc64) echo "$top/sysroots/x86_64-$abi-linux-gnu" ;;
+ esac
;;
"download_toolchain")
echo "$top/libc" ;;
@@ -86,9 +89,14 @@ print_abe_bin()
esac
}
-abis=(aarch32)
+#specs=(cpu2000 cpu2006)
specs=(cpu2006)
-exts=(O2)
+abis=(lp64 ilp32 aarch32)
+#exts=(O2 O3 Os Ofast)
+exts=(Ofast O2)
+
+start_at="cpu2000-aarch32-Ofast"
+skip=false
#get_toolchain=build_toolchain
get_toolchain=download_toolchain
@@ -153,16 +161,37 @@ for spec in "${specs[@]}"; do
ldso="$abe_sysroot/lib/ld-linux-armhf.so.3"
rpath="$abe_sysroot/lib:$abe_sysroot/usr/lib"
;;
- esac
+ "pc32")
+ prefix="$abe_bin/i686-$i-linux-gnu-"
+ mcpu=""
+ ldso="$abe_sysroot/lib/ld-linux.so.2"
+ rpath="$abe_sysroot/lib:$abe_sysroot/usr/lib"
+ ;;
+ "pc64")
+ prefix="$abe_bin/x86_64-$i-linux-gnu-"
+ mcpu=""
+ ldso="$abe_sysroot/lib/ld-linux.so.2"
+ rpath="$abe_sysroot/lib64:$abe_sysroot/usr/lib64"
+ ;;
+ esac
export CONFIG=$i
./spec2xxx-prepare "$prefix" "$mcpu -Wl,-dynamic-linker=$ldso -Wl,-rpath=$rpath"
- if [ x"$i" != x"lp64" ]; then
- sed -i -e "s/-DSPEC_CPU2000_LP64//g" -e "s/-DSPEC_CPU_LP64//g" "$SPEC/config/$i.cfg"
- fi
+ case "$i" in
+ lp64|pc64) ;;
+ ilp32|aarch32|pc32)
+ sed -i -e "s/-DSPEC_CPU2000_LP64//g" -e "s/-DSPEC_CPU_LP64//g" "$SPEC/config/$i.cfg"
+ ;;
+ esac
for ext in "${exts[@]}"; do
+ if [ x"$spec-$i-$ext" = x"$start_at" ]; then
+ skip=false
+ elif $skip; then
+ continue
+ fi
+
./spec2xxx-build -e $ext
./spec2xxx-run -e $ext