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