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 |