xref: /openbmc/qemu/tests/tcg/hexagon/Makefile.target (revision 00e64fda061ba65668a19dd1ea79e2a2f72090da)
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
48*00e64fdaSTaylor SimpsonHEX_TESTS += read_write_overlap
491c629814STaylor SimpsonHEX_TESTS += vector_add_int
501c629814STaylor SimpsonHEX_TESTS += scatter_gather
511c629814STaylor SimpsonHEX_TESTS += hvx_misc
521c629814STaylor SimpsonHEX_TESTS += hvx_histogram
53825d6ebaSTaylor Simpson
54585a86b1SNiccolò IzzoHEX_TESTS += test_abs
55585a86b1SNiccolò IzzoHEX_TESTS += test_bitcnt
56585a86b1SNiccolò IzzoHEX_TESTS += test_bitsplit
57585a86b1SNiccolò IzzoHEX_TESTS += test_call
58585a86b1SNiccolò IzzoHEX_TESTS += test_clobber
59585a86b1SNiccolò IzzoHEX_TESTS += test_cmp
60585a86b1SNiccolò IzzoHEX_TESTS += test_dotnew
61585a86b1SNiccolò IzzoHEX_TESTS += test_ext
62585a86b1SNiccolò IzzoHEX_TESTS += test_fibonacci
63585a86b1SNiccolò IzzoHEX_TESTS += test_hl
64585a86b1SNiccolò IzzoHEX_TESTS += test_hwloops
65585a86b1SNiccolò IzzoHEX_TESTS += test_jmp
66585a86b1SNiccolò IzzoHEX_TESTS += test_lsr
67585a86b1SNiccolò IzzoHEX_TESTS += test_mpyi
68585a86b1SNiccolò IzzoHEX_TESTS += test_packet
69585a86b1SNiccolò IzzoHEX_TESTS += test_reorder
70585a86b1SNiccolò IzzoHEX_TESTS += test_round
71585a86b1SNiccolò IzzoHEX_TESTS += test_vavgw
72585a86b1SNiccolò IzzoHEX_TESTS += test_vcmpb
73585a86b1SNiccolò IzzoHEX_TESTS += test_vcmpw
74585a86b1SNiccolò IzzoHEX_TESTS += test_vlsrw
75585a86b1SNiccolò IzzoHEX_TESTS += test_vmaxh
76585a86b1SNiccolò IzzoHEX_TESTS += test_vminh
77585a86b1SNiccolò IzzoHEX_TESTS += test_vpmpyh
78585a86b1SNiccolò IzzoHEX_TESTS += test_vspliceb
79585a86b1SNiccolò Izzo
80860132e2STaylor SimpsonHEX_TESTS += v68_scalar
81d636fb70STaylor SimpsonHEX_TESTS += v68_hvx
826c61d4e1STaylor SimpsonHEX_TESTS += v69_hvx
834dd311edSTaylor SimpsonHEX_TESTS += v73_scalar
84860132e2STaylor Simpson
85825d6ebaSTaylor SimpsonTESTS += $(HEX_TESTS)
864d04395aSTaylor Simpson
874d04395aSTaylor Simpson# This test has to be compiled for the -mv67t target
884d04395aSTaylor Simpsonusr: usr.c
894d04395aSTaylor Simpson	$(CC) $(CFLAGS) -mv67t -O2 -Wno-inline-asm -Wno-expansion-to-defined $< -o $@ $(LDFLAGS)
904d04395aSTaylor Simpson
91fc2622f6STaylor Simpson# Build this test with -mv71 to exercise the CABAC instruction
92fc2622f6STaylor Simpsonmisc: misc.c
93fc2622f6STaylor Simpson	$(CC) $(CFLAGS) -mv71 -O2 $< -o $@ $(LDFLAGS)
941c629814STaylor Simpsonscatter_gather: CFLAGS += -mhvx
951c629814STaylor Simpsonvector_add_int: CFLAGS += -mhvx -fvectorize
96761e1c67STaylor Simpsonhvx_misc: hvx_misc.c hvx_misc.h
971c629814STaylor Simpsonhvx_misc: CFLAGS += -mhvx
981c629814STaylor Simpsonhvx_histogram: CFLAGS += -mhvx -Wno-gnu-folding-constant
99d636fb70STaylor Simpsonv68_hvx: v68_hvx.c hvx_misc.h v6mpy_ref.c.inc
100d636fb70STaylor Simpsonv68_hvx: CFLAGS += -mhvx -Wno-unused-function
1016c61d4e1STaylor Simpsonv69_hvx: v69_hvx.c hvx_misc.h
1026c61d4e1STaylor Simpsonv69_hvx: CFLAGS += -mhvx -Wno-unused-function
1034dd311edSTaylor Simpsonv73_scalar: CFLAGS += -Wno-unused-function
1041c629814STaylor Simpson
1051c629814STaylor Simpsonhvx_histogram: hvx_histogram.c hvx_histogram_row.S
1061c629814STaylor Simpson	$(CC) $(CFLAGS) $(CROSS_CC_GUEST_CFLAGS) $^ -o $@ $(LDFLAGS)
107