Index: crosstest/runtests.sh |
diff --git a/crosstest/runtests.sh b/crosstest/runtests.sh |
index 7b81df12b5d2cb455ed86771105e34e01e48ae7f..0b79f48aa4b706a8fd078c2f71c9b3d2ed3fe487 100755 |
--- a/crosstest/runtests.sh |
+++ b/crosstest/runtests.sh |
@@ -6,116 +6,144 @@ |
set -eux |
OPTLEVELS="m1 2" |
+ATTRIBUTES="sse2 sse4.1" |
OUTDIR=Output |
# Clean the output directory to avoid reusing stale results. |
rm -rf "${OUTDIR}" |
mkdir -p "${OUTDIR}" |
for optlevel in ${OPTLEVELS} ; do |
- |
- ./crosstest.py -O${optlevel} --prefix=Subzero_ --target=x8632 \ |
- --dir="${OUTDIR}" \ |
- --llvm-bin-path="${LLVM_BIN_PATH}" \ |
- --test=simple_loop.c \ |
- --driver=simple_loop_main.c \ |
- --output=simple_loop_O${optlevel} |
- |
- ./crosstest.py -O${optlevel} --prefix=Subzero_ --target=x8632 \ |
- --dir="${OUTDIR}" \ |
- --llvm-bin-path="${LLVM_BIN_PATH}" \ |
- --test=mem_intrin.cpp \ |
- --driver=mem_intrin_main.cpp \ |
- --output=mem_intrin_O${optlevel} |
- |
- ./crosstest.py -O${optlevel} --prefix=Subzero_ --target=x8632 \ |
- --dir="${OUTDIR}" \ |
- --llvm-bin-path="${LLVM_BIN_PATH}" \ |
- --test=test_arith.cpp \ |
- --test=test_arith_frem.ll \ |
- --test=test_arith_sqrt.ll \ |
- --driver=test_arith_main.cpp \ |
- --output=test_arith_O${optlevel} |
- |
- ./crosstest.py -O${optlevel} --prefix=Subzero_ --target=x8632 \ |
- --dir="${OUTDIR}" \ |
- --llvm-bin-path="${LLVM_BIN_PATH}" \ |
- --test=test_bitmanip.cpp --test=test_bitmanip_intrin.ll \ |
- --driver=test_bitmanip_main.cpp \ |
- --output=test_bitmanip_O${optlevel} |
- |
- ./crosstest.py -O${optlevel} --prefix=Subzero_ --target=x8632 \ |
- --dir="${OUTDIR}" \ |
- --llvm-bin-path="${LLVM_BIN_PATH}" \ |
- --test=test_cast.cpp --test=test_cast_to_u1.ll \ |
- --driver=test_cast_main.cpp \ |
- --output=test_cast_O${optlevel} |
- |
- ./crosstest.py -O${optlevel} --prefix=Subzero_ --target=x8632 \ |
- --dir="${OUTDIR}" \ |
- --llvm-bin-path="${LLVM_BIN_PATH}" \ |
- --test=test_fcmp.pnacl.ll \ |
- --driver=test_fcmp_main.cpp \ |
- --output=test_fcmp_O${optlevel} |
- |
- ./crosstest.py -O${optlevel} --prefix=Subzero_ --target=x8632 \ |
- --dir="${OUTDIR}" \ |
- --llvm-bin-path="${LLVM_BIN_PATH}" \ |
- --test=test_global.cpp \ |
- --driver=test_global_main.cpp \ |
- --output=test_global_O${optlevel} |
- |
- ./crosstest.py -O${optlevel} --prefix=Subzero_ --target=x8632 \ |
- --dir="${OUTDIR}" \ |
- --llvm-bin-path="${LLVM_BIN_PATH}" \ |
- --test=test_icmp.cpp --test=test_icmp_i1vec.ll \ |
- --driver=test_icmp_main.cpp \ |
- --output=test_icmp_O${optlevel} |
- |
- ./crosstest.py -O${optlevel} --prefix=Subzero_ --target=x8632 \ |
- --dir="${OUTDIR}" \ |
- --llvm-bin-path="${LLVM_BIN_PATH}" \ |
- --test=test_select.ll \ |
- --driver=test_select_main.cpp \ |
- --output=test_select_O${optlevel} |
- |
- ./crosstest.py -O${optlevel} --prefix=Subzero_ --target=x8632 \ |
- --dir="${OUTDIR}" \ |
- --llvm-bin-path="${LLVM_BIN_PATH}" \ |
- --test=test_stacksave.c \ |
- --driver=test_stacksave_main.c \ |
- --output=test_stacksave_O${optlevel} |
- |
- # Compile the non-subzero object files straight from source |
- # since the native LLVM backend does not understand how to |
- # lower NaCl-specific intrinsics. |
- ./crosstest.py -O${optlevel} --prefix=Subzero_ --target=x8632 \ |
- --dir="${OUTDIR}" \ |
- --llvm-bin-path="${LLVM_BIN_PATH}" \ |
- --test=test_sync_atomic.cpp \ |
- --crosstest-bitcode=0 \ |
- --driver=test_sync_atomic_main.cpp \ |
- --output=test_sync_atomic_O${optlevel} |
- |
- ./crosstest.py -O${optlevel} --prefix=Subzero_ --target=x8632 \ |
- --dir="${OUTDIR}" \ |
- --llvm-bin-path="${LLVM_BIN_PATH}" \ |
- --test=test_vector_ops.ll \ |
- --driver=test_vector_ops_main.cpp \ |
- --output=test_vector_ops_O${optlevel} |
- |
+ for attribute in ${ATTRIBUTES} ; do |
+ |
+ ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
+ --prefix=Subzero_ \ |
+ --target=x8632 \ |
+ --dir="${OUTDIR}" \ |
+ --llvm-bin-path="${LLVM_BIN_PATH}" \ |
+ --test=simple_loop.c \ |
+ --driver=simple_loop_main.c \ |
+ --output=simple_loop_O${optlevel}_${attribute} |
+ |
+ ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
+ --prefix=Subzero_ \ |
+ --target=x8632 \ |
+ --dir="${OUTDIR}" \ |
+ --llvm-bin-path="${LLVM_BIN_PATH}" \ |
+ --test=mem_intrin.cpp \ |
+ --driver=mem_intrin_main.cpp \ |
+ --output=mem_intrin_O${optlevel}_${attribute} |
+ |
+ ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
+ --prefix=Subzero_ \ |
+ --target=x8632 \ |
+ --dir="${OUTDIR}" \ |
+ --llvm-bin-path="${LLVM_BIN_PATH}" \ |
+ --test=test_arith.cpp \ |
+ --test=test_arith_frem.ll \ |
+ --test=test_arith_sqrt.ll \ |
+ --driver=test_arith_main.cpp \ |
+ --output=test_arith_O${optlevel}_${attribute} |
+ |
+ ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
+ --prefix=Subzero_ \ |
+ --target=x8632 \ |
+ --dir="${OUTDIR}" \ |
+ --llvm-bin-path="${LLVM_BIN_PATH}" \ |
+ --test=test_bitmanip.cpp --test=test_bitmanip_intrin.ll \ |
+ --driver=test_bitmanip_main.cpp \ |
+ --output=test_bitmanip_O${optlevel}_${attribute} |
+ |
+ ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
+ --prefix=Subzero_ \ |
+ --target=x8632 \ |
+ --dir="${OUTDIR}" \ |
+ --llvm-bin-path="${LLVM_BIN_PATH}" \ |
+ --test=test_cast.cpp --test=test_cast_to_u1.ll \ |
+ --driver=test_cast_main.cpp \ |
+ --output=test_cast_O${optlevel}_${attribute} |
+ |
+ ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
+ --prefix=Subzero_ \ |
+ --target=x8632 \ |
+ --dir="${OUTDIR}" \ |
+ --llvm-bin-path="${LLVM_BIN_PATH}" \ |
+ --test=test_fcmp.pnacl.ll \ |
+ --driver=test_fcmp_main.cpp \ |
+ --output=test_fcmp_O${optlevel}_${attribute} |
+ |
+ ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
+ --prefix=Subzero_ \ |
+ --target=x8632 \ |
+ --dir="${OUTDIR}" \ |
+ --llvm-bin-path="${LLVM_BIN_PATH}" \ |
+ --test=test_global.cpp \ |
+ --driver=test_global_main.cpp \ |
+ --output=test_global_O${optlevel}_${attribute} |
+ |
+ ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
+ --prefix=Subzero_ \ |
+ --target=x8632 \ |
+ --dir="${OUTDIR}" \ |
+ --llvm-bin-path="${LLVM_BIN_PATH}" \ |
+ --test=test_icmp.cpp --test=test_icmp_i1vec.ll \ |
+ --driver=test_icmp_main.cpp \ |
+ --output=test_icmp_O${optlevel}_${attribute} |
+ |
+ ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
+ --prefix=Subzero_ \ |
+ --target=x8632 \ |
+ --dir="${OUTDIR}" \ |
+ --llvm-bin-path="${LLVM_BIN_PATH}" \ |
+ --test=test_select.ll \ |
+ --driver=test_select_main.cpp \ |
+ --output=test_select_O${optlevel}_${attribute} |
+ |
+ ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
+ --prefix=Subzero_ \ |
+ --target=x8632 \ |
+ --dir="${OUTDIR}" \ |
+ --llvm-bin-path="${LLVM_BIN_PATH}" \ |
+ --test=test_stacksave.c \ |
+ --driver=test_stacksave_main.c \ |
+ --output=test_stacksave_O${optlevel}_${attribute} |
+ |
+ # Compile the non-subzero object files straight from source |
+ # since the native LLVM backend does not understand how to |
+ # lower NaCl-specific intrinsics. |
+ ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
+ --prefix=Subzero_ \ |
+ --target=x8632 \ |
+ --dir="${OUTDIR}" \ |
+ --llvm-bin-path="${LLVM_BIN_PATH}" \ |
+ --test=test_sync_atomic.cpp \ |
+ --crosstest-bitcode=0 \ |
+ --driver=test_sync_atomic_main.cpp \ |
+ --output=test_sync_atomic_O${optlevel}_${attribute} |
+ |
+ ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
+ --prefix=Subzero_ --target=x8632 \ |
+ --dir="${OUTDIR}" \ |
+ --llvm-bin-path="${LLVM_BIN_PATH}" \ |
+ --test=test_vector_ops.ll \ |
+ --driver=test_vector_ops_main.cpp \ |
+ --output=test_vector_ops_O${optlevel}_${attribute} |
+ |
+ done |
done |
for optlevel in ${OPTLEVELS} ; do |
- "${OUTDIR}"/simple_loop_O${optlevel} |
- "${OUTDIR}"/mem_intrin_O${optlevel} |
- "${OUTDIR}"/test_arith_O${optlevel} |
- "${OUTDIR}"/test_bitmanip_O${optlevel} |
- "${OUTDIR}"/test_cast_O${optlevel} |
- "${OUTDIR}"/test_fcmp_O${optlevel} |
- "${OUTDIR}"/test_global_O${optlevel} |
- "${OUTDIR}"/test_icmp_O${optlevel} |
- "${OUTDIR}"/test_select_O${optlevel} |
- "${OUTDIR}"/test_stacksave_O${optlevel} |
- "${OUTDIR}"/test_sync_atomic_O${optlevel} |
- "${OUTDIR}"/test_vector_ops_O${optlevel} |
+ for attribute in ${ATTRIBUTES}; do |
+ "${OUTDIR}"/simple_loop_O${optlevel}_${attribute} |
+ "${OUTDIR}"/mem_intrin_O${optlevel}_${attribute} |
+ "${OUTDIR}"/test_arith_O${optlevel}_${attribute} |
+ "${OUTDIR}"/test_bitmanip_O${optlevel}_${attribute} |
+ "${OUTDIR}"/test_cast_O${optlevel}_${attribute} |
+ "${OUTDIR}"/test_fcmp_O${optlevel}_${attribute} |
+ "${OUTDIR}"/test_global_O${optlevel}_${attribute} |
+ "${OUTDIR}"/test_icmp_O${optlevel}_${attribute} |
+ "${OUTDIR}"/test_select_O${optlevel}_${attribute} |
+ "${OUTDIR}"/test_stacksave_O${optlevel}_${attribute} |
+ "${OUTDIR}"/test_sync_atomic_O${optlevel}_${attribute} |
+ "${OUTDIR}"/test_vector_ops_O${optlevel}_${attribute} |
+ done |
done |