blob: 40fd9acc1e178a7fff7aa3918406f355320c6e32 [file] [log] [blame]
Dan Willemsena0b9d7a2018-11-19 16:18:13 -08001//
2// Copyright (C) 2016 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17cc_defaults {
18 name: "arm_neon_tests_defaults",
19 cflags: [
20 "-DREFFILE=\"stm-arm-neon.gccarm\"",
21 "-DGCCTESTS_FILE=\"expected_input4gcc.txt\"",
22
23 "-Wall",
24 "-Werror",
25 "-Wno-format",
26 "-Wno-ignored-qualifiers",
27 "-Wno-uninitialized",
28 "-Wno-unused-function",
29 "-Wno-unused-variable",
30 ],
31
32 srcs: [
33 "compute_ref.c",
34
35 // List of validated intrinsics (copy-pasted from Makefile)
36 "ref_vld1.c",
37 "ref_vadd.c",
38 "ref_vld1_lane.c",
39 "ref_vld1_dup.c",
40 "ref_vdup.c",
41 "ref_vget_high.c",
42 "ref_vget_low.c",
43 "ref_vqdmlal_lane.c",
44 "ref_vqdmlsl_lane.c",
45 "ref_vext.c",
46 "ref_vshrn_n.c",
47 "ref_vset_lane.c",
48 "ref_vget_lane.c",
49 "ref_vqsub.c",
50 "ref_vqdmulh_lane.c",
51 "ref_vqdmull.c",
52 "ref_vqdmlal.c",
53 "ref_vqdmlsl.c",
54 "ref_vceq.c",
55 "ref_vcge.c",
56 "ref_vcle.c",
57 "ref_vcgt.c",
58 "ref_vclt.c",
59 "ref_vbsl.c",
60 "ref_vshl.c",
61 "ref_vdup_lane.c",
62 "ref_vrshrn_n.c",
63 "ref_vqdmull_lane.c",
64 "ref_vst1_lane.c",
65 "ref_vqshl.c",
66 "ref_vqshl_n.c",
67 "ref_vqrshrn_n.c",
68 "ref_vsub.c",
69 "ref_vqadd.c",
70 "ref_vabs.c",
71 "ref_vqabs.c",
72 "ref_vcombine.c",
73 "ref_vmax.c",
74 "ref_vmin.c",
75 "ref_vneg.c",
76 "ref_vqneg.c",
77 "ref_vmlal.c",
78 "ref_vmlal_lane.c",
79 "ref_vmlsl.c",
80 "ref_vmlsl_lane.c",
81 "ref_vmovl.c",
82 "ref_vmovn.c",
83 "ref_vmull.c",
84 "ref_vmull_lane.c",
85 "ref_vrev.c",
86 "ref_vrshl.c",
87 "ref_vshl_n.c",
88 "ref_vshr_n.c",
89 "ref_vsra_n.c",
90 "ref_vtrn.c",
91 "ref_vuzp.c",
92 "ref_vzip.c",
93 "ref_vreinterpret.c",
94 "ref_vqdmulh.c",
95 "ref_vqrdmulh.c",
96 "ref_vqrdmulh_lane.c",
97 "ref_vqrshl.c",
98 "ref_vaba.c",
99 "ref_vabal.c",
100 "ref_vabd.c",
101 "ref_vabdl.c",
102 "ref_vand.c",
103 "ref_vorr.c",
104 "ref_vorn.c",
105 "ref_veor.c",
106 "ref_vbic.c",
107 "ref_vcreate.c",
108 "ref_vldX_lane.c",
109 "ref_vmla.c",
110 "ref_vmls.c",
111 "ref_vmul.c",
112 "ref_vmul_lane.c",
113 "ref_vmul_n.c",
114 "ref_vmull_n.c",
115 "ref_vqdmulh_n.c",
116 "ref_vqdmull_n.c",
117 "ref_vqrdmulh_n.c",
118 "ref_vmla_lane.c",
119 "ref_vmls_lane.c",
120 "ref_vmla_n.c",
121 "ref_vmls_n.c",
122 "ref_vmlal_n.c",
123 "ref_vmlsl_n.c",
124 "ref_vqdmlal_n.c",
125 "ref_vqdmlsl_n.c",
126 "ref_vsri_n.c",
127 "ref_vsli_n.c",
128 "ref_vtst.c",
129 "ref_vaddhn.c",
130 "ref_vraddhn.c",
131 "ref_vaddl.c",
132 "ref_vaddw.c",
133 "ref_vhadd.c",
134 "ref_vrhadd.c",
135 "ref_vhsub.c",
136 "ref_vsubl.c",
137 "ref_vsubw.c",
138 "ref_vsubhn.c",
139 "ref_vrsubhn.c",
140 "ref_vmvn.c",
141 "ref_vqmovn.c",
142 "ref_vqmovun.c",
143 "ref_vrshr_n.c",
144 "ref_vrsra_n.c",
145 "ref_vshll_n.c",
146 "ref_vpaddl.c",
147 "ref_vpadd.c",
148 "ref_vpadal.c",
149 "ref_vqshlu_n.c",
150 "ref_vclz.c",
151 "ref_vcls.c",
152 "ref_vcnt.c",
153 "ref_vqshrn_n.c",
154 "ref_vpmax.c",
155 "ref_vpmin.c",
156 "ref_vqshrun_n.c",
157 "ref_vqrshrun_n.c",
158 "ref_vstX_lane.c",
159 "ref_vtbX.c",
160 "ref_vrecpe.c",
161 "ref_vrsqrte.c",
162 "ref_vcage.c",
163 "ref_vcagt.c",
164 "ref_vcale.c",
165 "ref_vcalt.c",
166 "ref_vrecps.c",
167 "ref_vrsqrts.c",
168 "ref_vcvt.c",
169 ],
170 stl: "none",
171
172 enabled: false,
173 arch: {
174 arm: {
175 neon: {
176 enabled: true,
177 },
178 },
179 },
180}
181
182cc_test {
183 name: "arm_neon_tests_arm",
184 defaults: ["arm_neon_tests_defaults"],
185
186 arch: {
187 arm: {
188 instruction_set: "arm",
189 },
190 },
191}
192
193cc_test {
194 name: "arm_neon_tests_thumb",
195 arch: {
196 arm: {
197 instruction_set: "thumb",
198 },
199 },
200}