1*f3782652STreehugger Robot// 2*f3782652STreehugger Robot// Copyright (C) 2016 The Android Open Source Project 3*f3782652STreehugger Robot// 4*f3782652STreehugger Robot// Licensed under the Apache License, Version 2.0 (the "License"); 5*f3782652STreehugger Robot// you may not use this file except in compliance with the License. 6*f3782652STreehugger Robot// You may obtain a copy of the License at 7*f3782652STreehugger Robot// 8*f3782652STreehugger Robot// http://www.apache.org/licenses/LICENSE-2.0 9*f3782652STreehugger Robot// 10*f3782652STreehugger Robot// Unless required by applicable law or agreed to in writing, software 11*f3782652STreehugger Robot// distributed under the License is distributed on an "AS IS" BASIS, 12*f3782652STreehugger Robot// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*f3782652STreehugger Robot// See the License for the specific language governing permissions and 14*f3782652STreehugger Robot// limitations under the License. 15*f3782652STreehugger Robot// 16*f3782652STreehugger Robot 17*f3782652STreehugger Robotpackage { 18*f3782652STreehugger Robot default_applicable_licenses: ["external_arm-neon-tests_license"], 19*f3782652STreehugger Robot} 20*f3782652STreehugger Robot 21*f3782652STreehugger Robot// Added automatically by a large-scale-change that took the approach of 22*f3782652STreehugger Robot// 'apply every license found to every target'. While this makes sure we respect 23*f3782652STreehugger Robot// every license restriction, it may not be entirely correct. 24*f3782652STreehugger Robot// 25*f3782652STreehugger Robot// e.g. GPL in an MIT project might only apply to the contrib/ directory. 26*f3782652STreehugger Robot// 27*f3782652STreehugger Robot// Please consider splitting the single license below into multiple licenses, 28*f3782652STreehugger Robot// taking care not to lose any license_kind information, and overriding the 29*f3782652STreehugger Robot// default license using the 'licenses: [...]' property on targets as needed. 30*f3782652STreehugger Robot// 31*f3782652STreehugger Robot// For unused files, consider creating a 'fileGroup' with "//visibility:private" 32*f3782652STreehugger Robot// to attach the license to, and including a comment whether the files may be 33*f3782652STreehugger Robot// used in the current project. 34*f3782652STreehugger Robot// 35*f3782652STreehugger Robot// large-scale-change included anything that looked like it might be a license 36*f3782652STreehugger Robot// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc. 37*f3782652STreehugger Robot// 38*f3782652STreehugger Robot// Please consider removing redundant or irrelevant files from 'license_text:'. 39*f3782652STreehugger Robot// See: http://go/android-license-faq 40*f3782652STreehugger Robotlicense { 41*f3782652STreehugger Robot name: "external_arm-neon-tests_license", 42*f3782652STreehugger Robot visibility: [":__subpackages__"], 43*f3782652STreehugger Robot license_kinds: [ 44*f3782652STreehugger Robot "SPDX-license-identifier-Apache-1.1", 45*f3782652STreehugger Robot "SPDX-license-identifier-Apache-2.0", 46*f3782652STreehugger Robot "SPDX-license-identifier-CPL-1.0", 47*f3782652STreehugger Robot "SPDX-license-identifier-EPL", 48*f3782652STreehugger Robot "SPDX-license-identifier-GPL-2.0", 49*f3782652STreehugger Robot "SPDX-license-identifier-LGPL-2.1", 50*f3782652STreehugger Robot "SPDX-license-identifier-MIT", 51*f3782652STreehugger Robot ], 52*f3782652STreehugger Robot license_text: [ 53*f3782652STreehugger Robot "LICENSE", 54*f3782652STreehugger Robot "license.html", 55*f3782652STreehugger Robot ], 56*f3782652STreehugger Robot} 57*f3782652STreehugger Robot 58*f3782652STreehugger Robotcc_defaults { 59*f3782652STreehugger Robot name: "arm_neon_tests_defaults", 60*f3782652STreehugger Robot cflags: [ 61*f3782652STreehugger Robot "-DREFFILE=\"stm-arm-neon.gccarm\"", 62*f3782652STreehugger Robot "-DGCCTESTS_FILE=\"expected_input4gcc.txt\"", 63*f3782652STreehugger Robot 64*f3782652STreehugger Robot "-Wall", 65*f3782652STreehugger Robot "-Werror", 66*f3782652STreehugger Robot "-Wno-format", 67*f3782652STreehugger Robot "-Wno-ignored-qualifiers", 68*f3782652STreehugger Robot "-Wno-uninitialized", 69*f3782652STreehugger Robot "-Wno-unused-function", 70*f3782652STreehugger Robot "-Wno-unused-variable", 71*f3782652STreehugger Robot ], 72*f3782652STreehugger Robot 73*f3782652STreehugger Robot srcs: [ 74*f3782652STreehugger Robot "compute_ref.c", 75*f3782652STreehugger Robot 76*f3782652STreehugger Robot // List of validated intrinsics (copy-pasted from Makefile) 77*f3782652STreehugger Robot "ref_vld1.c", 78*f3782652STreehugger Robot "ref_vadd.c", 79*f3782652STreehugger Robot "ref_vld1_lane.c", 80*f3782652STreehugger Robot "ref_vld1_dup.c", 81*f3782652STreehugger Robot "ref_vdup.c", 82*f3782652STreehugger Robot "ref_vget_high.c", 83*f3782652STreehugger Robot "ref_vget_low.c", 84*f3782652STreehugger Robot "ref_vqdmlal_lane.c", 85*f3782652STreehugger Robot "ref_vqdmlsl_lane.c", 86*f3782652STreehugger Robot "ref_vext.c", 87*f3782652STreehugger Robot "ref_vshrn_n.c", 88*f3782652STreehugger Robot "ref_vset_lane.c", 89*f3782652STreehugger Robot "ref_vget_lane.c", 90*f3782652STreehugger Robot "ref_vqsub.c", 91*f3782652STreehugger Robot "ref_vqdmulh_lane.c", 92*f3782652STreehugger Robot "ref_vqdmull.c", 93*f3782652STreehugger Robot "ref_vqdmlal.c", 94*f3782652STreehugger Robot "ref_vqdmlsl.c", 95*f3782652STreehugger Robot "ref_vceq.c", 96*f3782652STreehugger Robot "ref_vcge.c", 97*f3782652STreehugger Robot "ref_vcle.c", 98*f3782652STreehugger Robot "ref_vcgt.c", 99*f3782652STreehugger Robot "ref_vclt.c", 100*f3782652STreehugger Robot "ref_vbsl.c", 101*f3782652STreehugger Robot "ref_vshl.c", 102*f3782652STreehugger Robot "ref_vdup_lane.c", 103*f3782652STreehugger Robot "ref_vrshrn_n.c", 104*f3782652STreehugger Robot "ref_vqdmull_lane.c", 105*f3782652STreehugger Robot "ref_vst1_lane.c", 106*f3782652STreehugger Robot "ref_vqshl.c", 107*f3782652STreehugger Robot "ref_vqshl_n.c", 108*f3782652STreehugger Robot "ref_vqrshrn_n.c", 109*f3782652STreehugger Robot "ref_vsub.c", 110*f3782652STreehugger Robot "ref_vqadd.c", 111*f3782652STreehugger Robot "ref_vabs.c", 112*f3782652STreehugger Robot "ref_vqabs.c", 113*f3782652STreehugger Robot "ref_vcombine.c", 114*f3782652STreehugger Robot "ref_vmax.c", 115*f3782652STreehugger Robot "ref_vmin.c", 116*f3782652STreehugger Robot "ref_vneg.c", 117*f3782652STreehugger Robot "ref_vqneg.c", 118*f3782652STreehugger Robot "ref_vmlal.c", 119*f3782652STreehugger Robot "ref_vmlal_lane.c", 120*f3782652STreehugger Robot "ref_vmlsl.c", 121*f3782652STreehugger Robot "ref_vmlsl_lane.c", 122*f3782652STreehugger Robot "ref_vmovl.c", 123*f3782652STreehugger Robot "ref_vmovn.c", 124*f3782652STreehugger Robot "ref_vmull.c", 125*f3782652STreehugger Robot "ref_vmull_lane.c", 126*f3782652STreehugger Robot "ref_vrev.c", 127*f3782652STreehugger Robot "ref_vrshl.c", 128*f3782652STreehugger Robot "ref_vshl_n.c", 129*f3782652STreehugger Robot "ref_vshr_n.c", 130*f3782652STreehugger Robot "ref_vsra_n.c", 131*f3782652STreehugger Robot "ref_vtrn.c", 132*f3782652STreehugger Robot "ref_vuzp.c", 133*f3782652STreehugger Robot "ref_vzip.c", 134*f3782652STreehugger Robot "ref_vreinterpret.c", 135*f3782652STreehugger Robot "ref_vqdmulh.c", 136*f3782652STreehugger Robot "ref_vqrdmulh.c", 137*f3782652STreehugger Robot "ref_vqrdmulh_lane.c", 138*f3782652STreehugger Robot "ref_vqrshl.c", 139*f3782652STreehugger Robot "ref_vaba.c", 140*f3782652STreehugger Robot "ref_vabal.c", 141*f3782652STreehugger Robot "ref_vabd.c", 142*f3782652STreehugger Robot "ref_vabdl.c", 143*f3782652STreehugger Robot "ref_vand.c", 144*f3782652STreehugger Robot "ref_vorr.c", 145*f3782652STreehugger Robot "ref_vorn.c", 146*f3782652STreehugger Robot "ref_veor.c", 147*f3782652STreehugger Robot "ref_vbic.c", 148*f3782652STreehugger Robot "ref_vcreate.c", 149*f3782652STreehugger Robot "ref_vldX_lane.c", 150*f3782652STreehugger Robot "ref_vmla.c", 151*f3782652STreehugger Robot "ref_vmls.c", 152*f3782652STreehugger Robot "ref_vmul.c", 153*f3782652STreehugger Robot "ref_vmul_lane.c", 154*f3782652STreehugger Robot "ref_vmul_n.c", 155*f3782652STreehugger Robot "ref_vmull_n.c", 156*f3782652STreehugger Robot "ref_vqdmulh_n.c", 157*f3782652STreehugger Robot "ref_vqdmull_n.c", 158*f3782652STreehugger Robot "ref_vqrdmulh_n.c", 159*f3782652STreehugger Robot "ref_vmla_lane.c", 160*f3782652STreehugger Robot "ref_vmls_lane.c", 161*f3782652STreehugger Robot "ref_vmla_n.c", 162*f3782652STreehugger Robot "ref_vmls_n.c", 163*f3782652STreehugger Robot "ref_vmlal_n.c", 164*f3782652STreehugger Robot "ref_vmlsl_n.c", 165*f3782652STreehugger Robot "ref_vqdmlal_n.c", 166*f3782652STreehugger Robot "ref_vqdmlsl_n.c", 167*f3782652STreehugger Robot "ref_vsri_n.c", 168*f3782652STreehugger Robot "ref_vsli_n.c", 169*f3782652STreehugger Robot "ref_vtst.c", 170*f3782652STreehugger Robot "ref_vaddhn.c", 171*f3782652STreehugger Robot "ref_vraddhn.c", 172*f3782652STreehugger Robot "ref_vaddl.c", 173*f3782652STreehugger Robot "ref_vaddw.c", 174*f3782652STreehugger Robot "ref_vhadd.c", 175*f3782652STreehugger Robot "ref_vrhadd.c", 176*f3782652STreehugger Robot "ref_vhsub.c", 177*f3782652STreehugger Robot "ref_vsubl.c", 178*f3782652STreehugger Robot "ref_vsubw.c", 179*f3782652STreehugger Robot "ref_vsubhn.c", 180*f3782652STreehugger Robot "ref_vrsubhn.c", 181*f3782652STreehugger Robot "ref_vmvn.c", 182*f3782652STreehugger Robot "ref_vqmovn.c", 183*f3782652STreehugger Robot "ref_vqmovun.c", 184*f3782652STreehugger Robot "ref_vrshr_n.c", 185*f3782652STreehugger Robot "ref_vrsra_n.c", 186*f3782652STreehugger Robot "ref_vshll_n.c", 187*f3782652STreehugger Robot "ref_vpaddl.c", 188*f3782652STreehugger Robot "ref_vpadd.c", 189*f3782652STreehugger Robot "ref_vpadal.c", 190*f3782652STreehugger Robot "ref_vqshlu_n.c", 191*f3782652STreehugger Robot "ref_vclz.c", 192*f3782652STreehugger Robot "ref_vcls.c", 193*f3782652STreehugger Robot "ref_vcnt.c", 194*f3782652STreehugger Robot "ref_vqshrn_n.c", 195*f3782652STreehugger Robot "ref_vpmax.c", 196*f3782652STreehugger Robot "ref_vpmin.c", 197*f3782652STreehugger Robot "ref_vqshrun_n.c", 198*f3782652STreehugger Robot "ref_vqrshrun_n.c", 199*f3782652STreehugger Robot "ref_vstX_lane.c", 200*f3782652STreehugger Robot "ref_vtbX.c", 201*f3782652STreehugger Robot "ref_vrecpe.c", 202*f3782652STreehugger Robot "ref_vrsqrte.c", 203*f3782652STreehugger Robot "ref_vcage.c", 204*f3782652STreehugger Robot "ref_vcagt.c", 205*f3782652STreehugger Robot "ref_vcale.c", 206*f3782652STreehugger Robot "ref_vcalt.c", 207*f3782652STreehugger Robot "ref_vrecps.c", 208*f3782652STreehugger Robot "ref_vrsqrts.c", 209*f3782652STreehugger Robot "ref_vcvt.c", 210*f3782652STreehugger Robot ], 211*f3782652STreehugger Robot stl: "none", 212*f3782652STreehugger Robot 213*f3782652STreehugger Robot enabled: false, 214*f3782652STreehugger Robot arch: { 215*f3782652STreehugger Robot arm: { 216*f3782652STreehugger Robot enabled: true, 217*f3782652STreehugger Robot }, 218*f3782652STreehugger Robot }, 219*f3782652STreehugger Robot} 220*f3782652STreehugger Robot 221*f3782652STreehugger Robotcc_test { 222*f3782652STreehugger Robot name: "arm_neon_tests_arm", 223*f3782652STreehugger Robot defaults: ["arm_neon_tests_defaults"], 224*f3782652STreehugger Robot 225*f3782652STreehugger Robot arch: { 226*f3782652STreehugger Robot arm: { 227*f3782652STreehugger Robot instruction_set: "arm", 228*f3782652STreehugger Robot }, 229*f3782652STreehugger Robot }, 230*f3782652STreehugger Robot} 231*f3782652STreehugger Robot 232*f3782652STreehugger Robotcc_test { 233*f3782652STreehugger Robot name: "arm_neon_tests_thumb", 234*f3782652STreehugger Robot arch: { 235*f3782652STreehugger Robot arm: { 236*f3782652STreehugger Robot instruction_set: "thumb", 237*f3782652STreehugger Robot }, 238*f3782652STreehugger Robot }, 239*f3782652STreehugger Robot} 240