• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
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
17ifeq ($(ARCH_ARM_HAVE_NEON),true)
18
19LOCAL_PATH := $(call my-dir)
20
21# List of validated intrinsics (copy-pasted from Makefile)
22ARM_NEON_TESTS_REFNAMES =                                                \
23           vld1 vadd vld1_lane vld1_dup vdup vget_high vget_low          \
24           vqdmlal_lane vqdmlsl_lane vext vshrn_n vset_lane vget_lane    \
25           vqsub vqdmulh_lane vqdmull vqdmlal vqdmlsl vceq vcge vcle     \
26           vcgt vclt vbsl vshl vldX vdup_lane vrshrn_n vqdmull_lane      \
27           vst1_lane vqshl vqshl_n vqrshrn_n vsub vqadd vabs vqabs       \
28           vcombine vmax vmin vneg vqneg vmlal vmlal_lane vmlsl          \
29           vmlsl_lane vmovl vmovn vmull vmull_lane vrev vrshl vshl_n     \
30           vshr_n vsra_n vtrn vuzp vzip vreinterpret vqdmulh vqrdmulh    \
31           vqrdmulh_lane vqrshl vaba vabal vabd vabdl vand vorr vorn     \
32           veor vbic vcreate vldX_lane vldX_dup vmla vmls vmul           \
33           vmul_lane vmul_n vmull_n vqdmulh_n vqdmull_n vqrdmulh_n       \
34           vmla_lane vmls_lane vmla_n vmls_n vmlal_n vmlsl_n vqdmlal_n   \
35           vqdmlsl_n vsri_n vsli_n vtst vaddhn vraddhn vaddl vaddw       \
36           vhadd vrhadd vhsub vsubl vsubw vsubhn vrsubhn vmvn vqmovn     \
37           vqmovun vrshr_n vrsra_n vshll_n vpaddl vpadd vpadal           \
38           vqshlu_n vclz vcls vcnt vqshrn_n vpmax vpmin vqshrun_n        \
39           vqrshrun_n vstX_lane vtbX vrecpe vrsqrte vcage vcagt vcale    \
40           vcalt vrecps vrsqrts vcvt
41
42ARM_NEON_TESTS_REFLIST = $(addprefix ref_, $(ARM_NEON_TESTS_REFNAMES))
43
44ARM_NEON_TESTS_SOURCES = compute_ref.c \
45                         $(addsuffix .c, $(ARM_NEON_TESTS_REFLIST))
46
47ARM_NEON_TESTS_REFGCCARM = stm-arm-neon.gccarm
48ARM_NEON_TESTS_EXPECTED_INPUT = expected_input4gcc.txt
49
50ARM_NEON_TESTS_CFLAGS = -DREFFILE=\"$(ARM_NEON_TESTS_REFGCCARM)\" \
51                        -DGCCTESTS_FILE=\"$(ARM_NEON_TESTS_EXPECTED_INPUT)\"
52
53include $(CLEAR_VARS)
54LOCAL_MODULE := arm_neon_tests_arm
55LOCAL_ARM_MODE := arm
56LOCAL_MODULE_TAGS := optional
57LOCAL_MODULE_TARGET_ARCH := arm
58LOCAL_CFLAGS := $(ARM_NEON_TESTS_CFLAGS)
59LOCAL_SRC_FILES := $(ARM_NEON_TESTS_SOURCES)
60LOCAL_CXX_STL := none
61include $(BUILD_NATIVE_TEST)
62
63include $(CLEAR_VARS)
64LOCAL_MODULE := arm_neon_tests_thumb
65LOCAL_ARM_MODE := thumb
66LOCAL_MODULE_TAGS := optional
67LOCAL_MODULE_TARGET_ARCH := arm
68LOCAL_CFLAGS := $(ARM_NEON_TESTS_CFLAGS)
69LOCAL_SRC_FILES := $(ARM_NEON_TESTS_SOURCES)
70LOCAL_CXX_STL := none
71include $(BUILD_NATIVE_TEST)
72
73endif
74