Home | History | Annotate | Download | only in arm-neon-tests
      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 
     17 ifeq ($(ARCH_ARM_HAVE_NEON),true)
     18 
     19 LOCAL_PATH := $(call my-dir)
     20 
     21 # List of validated intrinsics (copy-pasted from Makefile)
     22 ARM_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 
     42 ARM_NEON_TESTS_REFLIST = $(addprefix ref_, $(ARM_NEON_TESTS_REFNAMES))
     43 
     44 ARM_NEON_TESTS_SOURCES = compute_ref.c \
     45                          $(addsuffix .c, $(ARM_NEON_TESTS_REFLIST))
     46 
     47 ARM_NEON_TESTS_REFGCCARM = stm-arm-neon.gccarm
     48 ARM_NEON_TESTS_EXPECTED_INPUT = expected_input4gcc.txt
     49 
     50 ARM_NEON_TESTS_CFLAGS = -DREFFILE=\"$(ARM_NEON_TESTS_REFGCCARM)\" \
     51                         -DGCCTESTS_FILE=\"$(ARM_NEON_TESTS_EXPECTED_INPUT)\"
     52 
     53 include $(CLEAR_VARS)
     54 LOCAL_MODULE := arm_neon_tests_arm
     55 LOCAL_ARM_MODE := arm
     56 LOCAL_MODULE_TAGS := optional
     57 LOCAL_MODULE_TARGET_ARCH := arm
     58 LOCAL_CFLAGS := $(ARM_NEON_TESTS_CFLAGS)
     59 LOCAL_SRC_FILES := $(ARM_NEON_TESTS_SOURCES)
     60 LOCAL_CXX_STL := none
     61 include $(BUILD_NATIVE_TEST)
     62 
     63 include $(CLEAR_VARS)
     64 LOCAL_MODULE := arm_neon_tests_thumb
     65 LOCAL_ARM_MODE := thumb
     66 LOCAL_MODULE_TAGS := optional
     67 LOCAL_MODULE_TARGET_ARCH := arm
     68 LOCAL_CFLAGS := $(ARM_NEON_TESTS_CFLAGS)
     69 LOCAL_SRC_FILES := $(ARM_NEON_TESTS_SOURCES)
     70 LOCAL_CXX_STL := none
     71 include $(BUILD_NATIVE_TEST)
     72 
     73 endif
     74