| OLD | NEW |
| 1 #!/bin/sh | 1 #!/bin/sh |
| 2 | 2 |
| 3 # TODO: Retire this script and move the individual tests into the lit | 3 # TODO: Retire this script and move the individual tests into the lit |
| 4 # framework, to leverage parallel testing and other lit goodness. | 4 # framework, to leverage parallel testing and other lit goodness. |
| 5 | 5 |
| 6 set -eux | 6 set -eux |
| 7 | 7 |
| 8 OPTLEVELS="m1 2" | 8 OPTLEVELS="m1 2" |
| 9 ATTRIBUTES="sse2 sse4.1" | 9 ATTRIBUTES="sse2 sse4.1" |
| 10 OUTDIR=Output | 10 OUTDIR=Output |
| 11 # Clean the output directory to avoid reusing stale results. | 11 # Clean the output directory to avoid reusing stale results. |
| 12 rm -rf "${OUTDIR}" | 12 rm -rf "${OUTDIR}" |
| 13 mkdir -p "${OUTDIR}" | 13 mkdir -p "${OUTDIR}" |
| 14 | 14 |
| 15 for optlevel in ${OPTLEVELS} ; do | 15 for optlevel in ${OPTLEVELS} ; do |
| 16 for attribute in ${ATTRIBUTES} ; do | 16 for attribute in ${ATTRIBUTES} ; do |
| 17 | 17 |
| 18 ./crosstest.py -O${optlevel} --mattr ${attribute} \ | 18 ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
| 19 --prefix=Subzero_ \ | 19 --prefix=Subzero_ \ |
| 20 --target=x8632 \ | 20 --target=x8632 \ |
| 21 --dir="${OUTDIR}" \ | 21 --dir="${OUTDIR}" \ |
| 22 --llvm-bin-path="${LLVM_BIN_PATH}" \ | |
| 23 --test=simple_loop.c \ | 22 --test=simple_loop.c \ |
| 24 --driver=simple_loop_main.c \ | 23 --driver=simple_loop_main.c \ |
| 25 --output=simple_loop_O${optlevel}_${attribute} | 24 --output=simple_loop_O${optlevel}_${attribute} |
| 26 | 25 |
| 27 ./crosstest.py -O${optlevel} --mattr ${attribute} \ | 26 ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
| 28 --prefix=Subzero_ \ | 27 --prefix=Subzero_ \ |
| 29 --target=x8632 \ | 28 --target=x8632 \ |
| 30 --dir="${OUTDIR}" \ | 29 --dir="${OUTDIR}" \ |
| 31 --llvm-bin-path="${LLVM_BIN_PATH}" \ | |
| 32 --test=mem_intrin.cpp \ | 30 --test=mem_intrin.cpp \ |
| 33 --driver=mem_intrin_main.cpp \ | 31 --driver=mem_intrin_main.cpp \ |
| 34 --output=mem_intrin_O${optlevel}_${attribute} | 32 --output=mem_intrin_O${optlevel}_${attribute} |
| 35 | 33 |
| 36 ./crosstest.py -O${optlevel} --mattr ${attribute} \ | 34 ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
| 37 --prefix=Subzero_ \ | 35 --prefix=Subzero_ \ |
| 38 --target=x8632 \ | 36 --target=x8632 \ |
| 39 --dir="${OUTDIR}" \ | 37 --dir="${OUTDIR}" \ |
| 40 --llvm-bin-path="${LLVM_BIN_PATH}" \ | |
| 41 --test=test_arith.cpp \ | 38 --test=test_arith.cpp \ |
| 42 --test=test_arith_frem.ll \ | 39 --test=test_arith_frem.ll \ |
| 43 --test=test_arith_sqrt.ll \ | 40 --test=test_arith_sqrt.ll \ |
| 44 --driver=test_arith_main.cpp \ | 41 --driver=test_arith_main.cpp \ |
| 45 --output=test_arith_O${optlevel}_${attribute} | 42 --output=test_arith_O${optlevel}_${attribute} |
| 46 | 43 |
| 47 ./crosstest.py -O${optlevel} --mattr ${attribute} \ | 44 ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
| 48 --prefix=Subzero_ \ | 45 --prefix=Subzero_ \ |
| 49 --target=x8632 \ | 46 --target=x8632 \ |
| 50 --dir="${OUTDIR}" \ | 47 --dir="${OUTDIR}" \ |
| 51 --llvm-bin-path="${LLVM_BIN_PATH}" \ | |
| 52 --test=test_bitmanip.cpp --test=test_bitmanip_intrin.ll \ | 48 --test=test_bitmanip.cpp --test=test_bitmanip_intrin.ll \ |
| 53 --driver=test_bitmanip_main.cpp \ | 49 --driver=test_bitmanip_main.cpp \ |
| 54 --output=test_bitmanip_O${optlevel}_${attribute} | 50 --output=test_bitmanip_O${optlevel}_${attribute} |
| 55 | 51 |
| 56 ./crosstest.py -O${optlevel} --mattr ${attribute} \ | 52 ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
| 57 --prefix=Subzero_ --target=x8632 \ | 53 --prefix=Subzero_ --target=x8632 \ |
| 58 --dir="${OUTDIR}" \ | 54 --dir="${OUTDIR}" \ |
| 59 --llvm-bin-path="${LLVM_BIN_PATH}" \ | |
| 60 --test=test_calling_conv.cpp \ | 55 --test=test_calling_conv.cpp \ |
| 61 --driver=test_calling_conv_main.cpp \ | 56 --driver=test_calling_conv_main.cpp \ |
| 62 --output=test_calling_conv_O${optlevel}_${attribute} | 57 --output=test_calling_conv_O${optlevel}_${attribute} |
| 63 | 58 |
| 64 ./crosstest.py -O${optlevel} --mattr ${attribute} \ | 59 ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
| 65 --prefix=Subzero_ \ | 60 --prefix=Subzero_ \ |
| 66 --target=x8632 \ | 61 --target=x8632 \ |
| 67 --dir="${OUTDIR}" \ | 62 --dir="${OUTDIR}" \ |
| 68 --llvm-bin-path="${LLVM_BIN_PATH}" \ | |
| 69 --test=test_cast.cpp --test=test_cast_to_u1.ll \ | 63 --test=test_cast.cpp --test=test_cast_to_u1.ll \ |
| 70 --driver=test_cast_main.cpp \ | 64 --driver=test_cast_main.cpp \ |
| 71 --output=test_cast_O${optlevel}_${attribute} | 65 --output=test_cast_O${optlevel}_${attribute} |
| 72 | 66 |
| 73 ./crosstest.py -O${optlevel} --mattr ${attribute} \ | 67 ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
| 74 --prefix=Subzero_ \ | 68 --prefix=Subzero_ \ |
| 75 --target=x8632 \ | 69 --target=x8632 \ |
| 76 --dir="${OUTDIR}" \ | 70 --dir="${OUTDIR}" \ |
| 77 --llvm-bin-path="${LLVM_BIN_PATH}" \ | |
| 78 --test=test_fcmp.pnacl.ll \ | 71 --test=test_fcmp.pnacl.ll \ |
| 79 --driver=test_fcmp_main.cpp \ | 72 --driver=test_fcmp_main.cpp \ |
| 80 --output=test_fcmp_O${optlevel}_${attribute} | 73 --output=test_fcmp_O${optlevel}_${attribute} |
| 81 | 74 |
| 82 ./crosstest.py -O${optlevel} --mattr ${attribute} \ | 75 ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
| 83 --prefix=Subzero_ \ | 76 --prefix=Subzero_ \ |
| 84 --target=x8632 \ | 77 --target=x8632 \ |
| 85 --dir="${OUTDIR}" \ | 78 --dir="${OUTDIR}" \ |
| 86 --llvm-bin-path="${LLVM_BIN_PATH}" \ | |
| 87 --test=test_global.cpp \ | 79 --test=test_global.cpp \ |
| 88 --driver=test_global_main.cpp \ | 80 --driver=test_global_main.cpp \ |
| 89 --output=test_global_O${optlevel}_${attribute} | 81 --output=test_global_O${optlevel}_${attribute} |
| 90 | 82 |
| 91 ./crosstest.py -O${optlevel} --mattr ${attribute} \ | 83 ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
| 92 --prefix=Subzero_ \ | 84 --prefix=Subzero_ \ |
| 93 --target=x8632 \ | 85 --target=x8632 \ |
| 94 --dir="${OUTDIR}" \ | 86 --dir="${OUTDIR}" \ |
| 95 --llvm-bin-path="${LLVM_BIN_PATH}" \ | |
| 96 --test=test_icmp.cpp --test=test_icmp_i1vec.ll \ | 87 --test=test_icmp.cpp --test=test_icmp_i1vec.ll \ |
| 97 --driver=test_icmp_main.cpp \ | 88 --driver=test_icmp_main.cpp \ |
| 98 --output=test_icmp_O${optlevel}_${attribute} | 89 --output=test_icmp_O${optlevel}_${attribute} |
| 99 | 90 |
| 100 ./crosstest.py -O${optlevel} --mattr ${attribute} \ | 91 ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
| 101 --prefix=Subzero_ \ | 92 --prefix=Subzero_ \ |
| 102 --target=x8632 \ | 93 --target=x8632 \ |
| 103 --dir="${OUTDIR}" \ | 94 --dir="${OUTDIR}" \ |
| 104 --llvm-bin-path="${LLVM_BIN_PATH}" \ | |
| 105 --test=test_select.ll \ | 95 --test=test_select.ll \ |
| 106 --driver=test_select_main.cpp \ | 96 --driver=test_select_main.cpp \ |
| 107 --output=test_select_O${optlevel}_${attribute} | 97 --output=test_select_O${optlevel}_${attribute} |
| 108 | 98 |
| 109 ./crosstest.py -O${optlevel} --mattr ${attribute} \ | 99 ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
| 110 --prefix=Subzero_ \ | 100 --prefix=Subzero_ \ |
| 111 --target=x8632 \ | 101 --target=x8632 \ |
| 112 --dir="${OUTDIR}" \ | 102 --dir="${OUTDIR}" \ |
| 113 --llvm-bin-path="${LLVM_BIN_PATH}" \ | |
| 114 --test=test_stacksave.c \ | 103 --test=test_stacksave.c \ |
| 115 --driver=test_stacksave_main.c \ | 104 --driver=test_stacksave_main.c \ |
| 116 --output=test_stacksave_O${optlevel}_${attribute} | 105 --output=test_stacksave_O${optlevel}_${attribute} |
| 117 | 106 |
| 118 # Compile the non-subzero object files straight from source | 107 # Compile the non-subzero object files straight from source |
| 119 # since the native LLVM backend does not understand how to | 108 # since the native LLVM backend does not understand how to |
| 120 # lower NaCl-specific intrinsics. | 109 # lower NaCl-specific intrinsics. |
| 121 ./crosstest.py -O${optlevel} --mattr ${attribute} \ | 110 ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
| 122 --prefix=Subzero_ \ | 111 --prefix=Subzero_ \ |
| 123 --target=x8632 \ | 112 --target=x8632 \ |
| 124 --dir="${OUTDIR}" \ | 113 --dir="${OUTDIR}" \ |
| 125 --llvm-bin-path="${LLVM_BIN_PATH}" \ | |
| 126 --test=test_sync_atomic.cpp \ | 114 --test=test_sync_atomic.cpp \ |
| 127 --crosstest-bitcode=0 \ | 115 --crosstest-bitcode=0 \ |
| 128 --driver=test_sync_atomic_main.cpp \ | 116 --driver=test_sync_atomic_main.cpp \ |
| 129 --output=test_sync_atomic_O${optlevel}_${attribute} | 117 --output=test_sync_atomic_O${optlevel}_${attribute} |
| 130 | 118 |
| 131 ./crosstest.py -O${optlevel} --mattr ${attribute} \ | 119 ./crosstest.py -O${optlevel} --mattr ${attribute} \ |
| 132 --prefix=Subzero_ --target=x8632 \ | 120 --prefix=Subzero_ --target=x8632 \ |
| 133 --dir="${OUTDIR}" \ | 121 --dir="${OUTDIR}" \ |
| 134 --llvm-bin-path="${LLVM_BIN_PATH}" \ | |
| 135 --test=test_vector_ops.ll \ | 122 --test=test_vector_ops.ll \ |
| 136 --driver=test_vector_ops_main.cpp \ | 123 --driver=test_vector_ops_main.cpp \ |
| 137 --output=test_vector_ops_O${optlevel}_${attribute} | 124 --output=test_vector_ops_O${optlevel}_${attribute} |
| 138 | 125 |
| 139 done | 126 done |
| 140 done | 127 done |
| 141 | 128 |
| 142 for optlevel in ${OPTLEVELS} ; do | 129 for optlevel in ${OPTLEVELS} ; do |
| 143 for attribute in ${ATTRIBUTES}; do | 130 for attribute in ${ATTRIBUTES}; do |
| 144 "${OUTDIR}"/simple_loop_O${optlevel}_${attribute} | 131 "${OUTDIR}"/simple_loop_O${optlevel}_${attribute} |
| 145 "${OUTDIR}"/mem_intrin_O${optlevel}_${attribute} | 132 "${OUTDIR}"/mem_intrin_O${optlevel}_${attribute} |
| 146 "${OUTDIR}"/test_arith_O${optlevel}_${attribute} | 133 "${OUTDIR}"/test_arith_O${optlevel}_${attribute} |
| 147 "${OUTDIR}"/test_bitmanip_O${optlevel}_${attribute} | 134 "${OUTDIR}"/test_bitmanip_O${optlevel}_${attribute} |
| 148 "${OUTDIR}"/test_calling_conv_O${optlevel}_${attribute} | 135 "${OUTDIR}"/test_calling_conv_O${optlevel}_${attribute} |
| 149 "${OUTDIR}"/test_cast_O${optlevel}_${attribute} | 136 "${OUTDIR}"/test_cast_O${optlevel}_${attribute} |
| 150 "${OUTDIR}"/test_fcmp_O${optlevel}_${attribute} | 137 "${OUTDIR}"/test_fcmp_O${optlevel}_${attribute} |
| 151 "${OUTDIR}"/test_global_O${optlevel}_${attribute} | 138 "${OUTDIR}"/test_global_O${optlevel}_${attribute} |
| 152 "${OUTDIR}"/test_icmp_O${optlevel}_${attribute} | 139 "${OUTDIR}"/test_icmp_O${optlevel}_${attribute} |
| 153 "${OUTDIR}"/test_select_O${optlevel}_${attribute} | 140 "${OUTDIR}"/test_select_O${optlevel}_${attribute} |
| 154 "${OUTDIR}"/test_stacksave_O${optlevel}_${attribute} | 141 "${OUTDIR}"/test_stacksave_O${optlevel}_${attribute} |
| 155 "${OUTDIR}"/test_sync_atomic_O${optlevel}_${attribute} | 142 "${OUTDIR}"/test_sync_atomic_O${optlevel}_${attribute} |
| 156 "${OUTDIR}"/test_vector_ops_O${optlevel}_${attribute} | 143 "${OUTDIR}"/test_vector_ops_O${optlevel}_${attribute} |
| 157 done | 144 done |
| 158 done | 145 done |
| OLD | NEW |