You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
3.0 KiB
73 lines
3.0 KiB
# |
|
# Copyright (C) 2016 The Android Open Source Project |
|
# |
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
|
# you may not use this file except in compliance with the License. |
|
# You may obtain a copy of the License at |
|
# |
|
# http://www.apache.org/licenses/LICENSE-2.0 |
|
# |
|
# Unless required by applicable law or agreed to in writing, software |
|
# distributed under the License is distributed on an "AS IS" BASIS, |
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
# See the License for the specific language governing permissions and |
|
# limitations under the License. |
|
# |
|
|
|
ifeq ($(ARCH_ARM_HAVE_NEON),true) |
|
|
|
LOCAL_PATH := $(call my-dir) |
|
|
|
# List of validated intrinsics (copy-pasted from Makefile) |
|
ARM_NEON_TESTS_REFNAMES = \ |
|
vld1 vadd vld1_lane vld1_dup vdup vget_high vget_low \ |
|
vqdmlal_lane vqdmlsl_lane vext vshrn_n vset_lane vget_lane \ |
|
vqsub vqdmulh_lane vqdmull vqdmlal vqdmlsl vceq vcge vcle \ |
|
vcgt vclt vbsl vshl vldX vdup_lane vrshrn_n vqdmull_lane \ |
|
vst1_lane vqshl vqshl_n vqrshrn_n vsub vqadd vabs vqabs \ |
|
vcombine vmax vmin vneg vqneg vmlal vmlal_lane vmlsl \ |
|
vmlsl_lane vmovl vmovn vmull vmull_lane vrev vrshl vshl_n \ |
|
vshr_n vsra_n vtrn vuzp vzip vreinterpret vqdmulh vqrdmulh \ |
|
vqrdmulh_lane vqrshl vaba vabal vabd vabdl vand vorr vorn \ |
|
veor vbic vcreate vldX_lane vldX_dup vmla vmls vmul \ |
|
vmul_lane vmul_n vmull_n vqdmulh_n vqdmull_n vqrdmulh_n \ |
|
vmla_lane vmls_lane vmla_n vmls_n vmlal_n vmlsl_n vqdmlal_n \ |
|
vqdmlsl_n vsri_n vsli_n vtst vaddhn vraddhn vaddl vaddw \ |
|
vhadd vrhadd vhsub vsubl vsubw vsubhn vrsubhn vmvn vqmovn \ |
|
vqmovun vrshr_n vrsra_n vshll_n vpaddl vpadd vpadal \ |
|
vqshlu_n vclz vcls vcnt vqshrn_n vpmax vpmin vqshrun_n \ |
|
vqrshrun_n vstX_lane vtbX vrecpe vrsqrte vcage vcagt vcale \ |
|
vcalt vrecps vrsqrts vcvt |
|
|
|
ARM_NEON_TESTS_REFLIST = $(addprefix ref_, $(ARM_NEON_TESTS_REFNAMES)) |
|
|
|
ARM_NEON_TESTS_SOURCES = compute_ref.c \ |
|
$(addsuffix .c, $(ARM_NEON_TESTS_REFLIST)) |
|
|
|
ARM_NEON_TESTS_REFGCCARM = stm-arm-neon.gccarm |
|
ARM_NEON_TESTS_EXPECTED_INPUT = expected_input4gcc.txt |
|
|
|
ARM_NEON_TESTS_CFLAGS = -DREFFILE=\"$(ARM_NEON_TESTS_REFGCCARM)\" \ |
|
-DGCCTESTS_FILE=\"$(ARM_NEON_TESTS_EXPECTED_INPUT)\" |
|
|
|
include $(CLEAR_VARS) |
|
LOCAL_MODULE := arm_neon_tests_arm |
|
LOCAL_ARM_MODE := arm |
|
LOCAL_MODULE_TAGS := optional |
|
LOCAL_MODULE_TARGET_ARCH := arm |
|
LOCAL_CFLAGS := $(ARM_NEON_TESTS_CFLAGS) |
|
LOCAL_SRC_FILES := $(ARM_NEON_TESTS_SOURCES) |
|
LOCAL_CXX_STL := none |
|
include $(BUILD_NATIVE_TEST) |
|
|
|
include $(CLEAR_VARS) |
|
LOCAL_MODULE := arm_neon_tests_thumb |
|
LOCAL_ARM_MODE := thumb |
|
LOCAL_MODULE_TAGS := optional |
|
LOCAL_MODULE_TARGET_ARCH := arm |
|
LOCAL_CFLAGS := $(ARM_NEON_TESTS_CFLAGS) |
|
LOCAL_SRC_FILES := $(ARM_NEON_TESTS_SOURCES) |
|
LOCAL_CXX_STL := none |
|
include $(BUILD_NATIVE_TEST) |
|
|
|
endif
|
|
|