xref: /openbmc/qemu/tests/tcg/hexagon/Makefile.target (revision 1141159c)
1##
2##  Copyright(c) 2019-2023 Qualcomm Innovation Center, Inc. All Rights Reserved.
3##
4##  This program is free software; you can redistribute it and/or modify
5##  it under the terms of the GNU General Public License as published by
6##  the Free Software Foundation; either version 2 of the License, or
7##  (at your option) any later version.
8##
9##  This program is distributed in the hope that it will be useful,
10##  but WITHOUT ANY WARRANTY; without even the implied warranty of
11##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12##  GNU General Public License for more details.
13##
14##  You should have received a copy of the GNU General Public License
15##  along with this program; if not, see <http://www.gnu.org/licenses/>.
16##
17
18# Hexagon doesn't support gdb, so skip the EXTRA_RUNS
19EXTRA_RUNS =
20
21CFLAGS += -Wno-incompatible-pointer-types -Wno-undefined-internal
22CFLAGS += -fno-unroll-loops
23
24HEX_SRC=$(SRC_PATH)/tests/tcg/hexagon
25VPATH += $(HEX_SRC)
26
27%: $(HEX_SRC)/%.S $(HEX_SRC)/crt.S
28	$(CC) -static -mv67 -nostdlib $^ -o $@
29
30HEX_TESTS = first
31HEX_TESTS += hex_sigsegv
32HEX_TESTS += misc
33HEX_TESTS += usr
34HEX_TESTS += preg_alias
35HEX_TESTS += dual_stores
36HEX_TESTS += multi_result
37HEX_TESTS += mem_noshuf
38HEX_TESTS += mem_noshuf_exception
39HEX_TESTS += circ
40HEX_TESTS += brev
41HEX_TESTS += load_unpack
42HEX_TESTS += load_align
43HEX_TESTS += atomics
44HEX_TESTS += fpstuff
45HEX_TESTS += overflow
46HEX_TESTS += signal_context
47HEX_TESTS += reg_mut
48HEX_TESTS += vector_add_int
49HEX_TESTS += scatter_gather
50HEX_TESTS += hvx_misc
51HEX_TESTS += hvx_histogram
52
53HEX_TESTS += test_abs
54HEX_TESTS += test_bitcnt
55HEX_TESTS += test_bitsplit
56HEX_TESTS += test_call
57HEX_TESTS += test_clobber
58HEX_TESTS += test_cmp
59HEX_TESTS += test_dotnew
60HEX_TESTS += test_ext
61HEX_TESTS += test_fibonacci
62HEX_TESTS += test_hl
63HEX_TESTS += test_hwloops
64HEX_TESTS += test_jmp
65HEX_TESTS += test_lsr
66HEX_TESTS += test_mpyi
67HEX_TESTS += test_packet
68HEX_TESTS += test_reorder
69HEX_TESTS += test_round
70HEX_TESTS += test_vavgw
71HEX_TESTS += test_vcmpb
72HEX_TESTS += test_vcmpw
73HEX_TESTS += test_vlsrw
74HEX_TESTS += test_vmaxh
75HEX_TESTS += test_vminh
76HEX_TESTS += test_vpmpyh
77HEX_TESTS += test_vspliceb
78
79TESTS += $(HEX_TESTS)
80
81# This test has to be compiled for the -mv67t target
82usr: usr.c
83	$(CC) $(CFLAGS) -mv67t -O2 -Wno-inline-asm -Wno-expansion-to-defined $< -o $@ $(LDFLAGS)
84
85scatter_gather: CFLAGS += -mhvx
86vector_add_int: CFLAGS += -mhvx -fvectorize
87hvx_misc: hvx_misc.c hvx_misc.h
88hvx_misc: CFLAGS += -mhvx
89hvx_histogram: CFLAGS += -mhvx -Wno-gnu-folding-constant
90
91hvx_histogram: hvx_histogram.c hvx_histogram_row.S
92	$(CC) $(CFLAGS) $(CROSS_CC_GUEST_CFLAGS) $^ -o $@ $(LDFLAGS)
93