1dff2441cSTaylor Simpson## 21c629814STaylor Simpson## Copyright(c) 2019-2023 Qualcomm Innovation Center, Inc. All Rights Reserved. 3dff2441cSTaylor Simpson## 4dff2441cSTaylor Simpson## This program is free software; you can redistribute it and/or modify 5dff2441cSTaylor Simpson## it under the terms of the GNU General Public License as published by 6dff2441cSTaylor Simpson## the Free Software Foundation; either version 2 of the License, or 7dff2441cSTaylor Simpson## (at your option) any later version. 8dff2441cSTaylor Simpson## 9dff2441cSTaylor Simpson## This program is distributed in the hope that it will be useful, 10dff2441cSTaylor Simpson## but WITHOUT ANY WARRANTY; without even the implied warranty of 11dff2441cSTaylor Simpson## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12dff2441cSTaylor Simpson## GNU General Public License for more details. 13dff2441cSTaylor Simpson## 14dff2441cSTaylor Simpson## You should have received a copy of the GNU General Public License 15dff2441cSTaylor Simpson## along with this program; if not, see <http://www.gnu.org/licenses/>. 16dff2441cSTaylor Simpson## 17dff2441cSTaylor Simpson 18dff2441cSTaylor Simpson# Hexagon doesn't support gdb, so skip the EXTRA_RUNS 19dff2441cSTaylor SimpsonEXTRA_RUNS = 20dff2441cSTaylor Simpson 21dff2441cSTaylor SimpsonCFLAGS += -Wno-incompatible-pointer-types -Wno-undefined-internal 2246ef47e2STaylor SimpsonCFLAGS += -fno-unroll-loops 23825d6ebaSTaylor Simpson 24825d6ebaSTaylor SimpsonHEX_SRC=$(SRC_PATH)/tests/tcg/hexagon 25825d6ebaSTaylor SimpsonVPATH += $(HEX_SRC) 26825d6ebaSTaylor Simpson 27585a86b1SNiccolò Izzo%: $(HEX_SRC)/%.S $(HEX_SRC)/crt.S 28825d6ebaSTaylor Simpson $(CC) -static -mv67 -nostdlib $^ -o $@ 29825d6ebaSTaylor Simpson 30825d6ebaSTaylor SimpsonHEX_TESTS = first 31c23b5764STaylor SimpsonHEX_TESTS += hex_sigsegv 32825d6ebaSTaylor SimpsonHEX_TESTS += misc 334d04395aSTaylor SimpsonHEX_TESTS += usr 34825d6ebaSTaylor SimpsonHEX_TESTS += preg_alias 35825d6ebaSTaylor SimpsonHEX_TESTS += dual_stores 36d934c16dSTaylor SimpsonHEX_TESTS += multi_result 37825d6ebaSTaylor SimpsonHEX_TESTS += mem_noshuf 3815fc6badSTaylor SimpsonHEX_TESTS += mem_noshuf_exception 3946ef47e2STaylor SimpsonHEX_TESTS += circ 40af7f1821STaylor SimpsonHEX_TESTS += brev 410d0b91a8STaylor SimpsonHEX_TESTS += load_unpack 427aa9ffabSTaylor SimpsonHEX_TESTS += load_align 43825d6ebaSTaylor SimpsonHEX_TESTS += atomics 44703c08d9STaylor SimpsonHEX_TESTS += fpstuff 45b9dd6ff9STaylor SimpsonHEX_TESTS += overflow 46c979d901SMukilan ThiyagarajanHEX_TESTS += signal_context 47d63aeb3bSMarco LiebelHEX_TESTS += reg_mut 481c629814STaylor SimpsonHEX_TESTS += vector_add_int 491c629814STaylor SimpsonHEX_TESTS += scatter_gather 501c629814STaylor SimpsonHEX_TESTS += hvx_misc 511c629814STaylor SimpsonHEX_TESTS += hvx_histogram 52825d6ebaSTaylor Simpson 53585a86b1SNiccolò IzzoHEX_TESTS += test_abs 54585a86b1SNiccolò IzzoHEX_TESTS += test_bitcnt 55585a86b1SNiccolò IzzoHEX_TESTS += test_bitsplit 56585a86b1SNiccolò IzzoHEX_TESTS += test_call 57585a86b1SNiccolò IzzoHEX_TESTS += test_clobber 58585a86b1SNiccolò IzzoHEX_TESTS += test_cmp 59585a86b1SNiccolò IzzoHEX_TESTS += test_dotnew 60585a86b1SNiccolò IzzoHEX_TESTS += test_ext 61585a86b1SNiccolò IzzoHEX_TESTS += test_fibonacci 62585a86b1SNiccolò IzzoHEX_TESTS += test_hl 63585a86b1SNiccolò IzzoHEX_TESTS += test_hwloops 64585a86b1SNiccolò IzzoHEX_TESTS += test_jmp 65585a86b1SNiccolò IzzoHEX_TESTS += test_lsr 66585a86b1SNiccolò IzzoHEX_TESTS += test_mpyi 67585a86b1SNiccolò IzzoHEX_TESTS += test_packet 68585a86b1SNiccolò IzzoHEX_TESTS += test_reorder 69585a86b1SNiccolò IzzoHEX_TESTS += test_round 70585a86b1SNiccolò IzzoHEX_TESTS += test_vavgw 71585a86b1SNiccolò IzzoHEX_TESTS += test_vcmpb 72585a86b1SNiccolò IzzoHEX_TESTS += test_vcmpw 73585a86b1SNiccolò IzzoHEX_TESTS += test_vlsrw 74585a86b1SNiccolò IzzoHEX_TESTS += test_vmaxh 75585a86b1SNiccolò IzzoHEX_TESTS += test_vminh 76585a86b1SNiccolò IzzoHEX_TESTS += test_vpmpyh 77585a86b1SNiccolò IzzoHEX_TESTS += test_vspliceb 78585a86b1SNiccolò Izzo 79860132e2STaylor SimpsonHEX_TESTS += v68_scalar 80*d636fb70STaylor SimpsonHEX_TESTS += v68_hvx 81860132e2STaylor Simpson 82825d6ebaSTaylor SimpsonTESTS += $(HEX_TESTS) 834d04395aSTaylor Simpson 844d04395aSTaylor Simpson# This test has to be compiled for the -mv67t target 854d04395aSTaylor Simpsonusr: usr.c 864d04395aSTaylor Simpson $(CC) $(CFLAGS) -mv67t -O2 -Wno-inline-asm -Wno-expansion-to-defined $< -o $@ $(LDFLAGS) 874d04395aSTaylor Simpson 88fc2622f6STaylor Simpson# Build this test with -mv71 to exercise the CABAC instruction 89fc2622f6STaylor Simpsonmisc: misc.c 90fc2622f6STaylor Simpson $(CC) $(CFLAGS) -mv71 -O2 $< -o $@ $(LDFLAGS) 911c629814STaylor Simpsonscatter_gather: CFLAGS += -mhvx 921c629814STaylor Simpsonvector_add_int: CFLAGS += -mhvx -fvectorize 93761e1c67STaylor Simpsonhvx_misc: hvx_misc.c hvx_misc.h 941c629814STaylor Simpsonhvx_misc: CFLAGS += -mhvx 951c629814STaylor Simpsonhvx_histogram: CFLAGS += -mhvx -Wno-gnu-folding-constant 96*d636fb70STaylor Simpsonv68_hvx: v68_hvx.c hvx_misc.h v6mpy_ref.c.inc 97*d636fb70STaylor Simpsonv68_hvx: CFLAGS += -mhvx -Wno-unused-function 981c629814STaylor Simpson 991c629814STaylor Simpsonhvx_histogram: hvx_histogram.c hvx_histogram_row.S 1001c629814STaylor Simpson $(CC) $(CFLAGS) $(CROSS_CC_GUEST_CFLAGS) $^ -o $@ $(LDFLAGS) 101