]> git.proxmox.com Git - mirror_qemu.git/blame - tests/tcg/hexagon/Makefile.target
Merge tag 'pull-maintainer-may24-160524-2' of https://gitlab.com/stsquad/qemu into...
[mirror_qemu.git] / tests / tcg / hexagon / Makefile.target
CommitLineData
dff2441c 1##
1c629814 2## Copyright(c) 2019-2023 Qualcomm Innovation Center, Inc. All Rights Reserved.
dff2441c
TS
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
dff2441c 21CFLAGS += -Wno-incompatible-pointer-types -Wno-undefined-internal
580731dc 22CFLAGS += -fno-unroll-loops -fno-stack-protector
825d6eba
TS
23
24HEX_SRC=$(SRC_PATH)/tests/tcg/hexagon
25VPATH += $(HEX_SRC)
26
585a86b1 27%: $(HEX_SRC)/%.S $(HEX_SRC)/crt.S
825d6eba
TS
28 $(CC) -static -mv67 -nostdlib $^ -o $@
29
30HEX_TESTS = first
c23b5764 31HEX_TESTS += hex_sigsegv
825d6eba 32HEX_TESTS += misc
4d04395a 33HEX_TESTS += usr
825d6eba
TS
34HEX_TESTS += preg_alias
35HEX_TESTS += dual_stores
d934c16d 36HEX_TESTS += multi_result
825d6eba 37HEX_TESTS += mem_noshuf
15fc6bad 38HEX_TESTS += mem_noshuf_exception
46ef47e2 39HEX_TESTS += circ
af7f1821 40HEX_TESTS += brev
0d0b91a8 41HEX_TESTS += load_unpack
7aa9ffab 42HEX_TESTS += load_align
825d6eba 43HEX_TESTS += atomics
703c08d9 44HEX_TESTS += fpstuff
b9dd6ff9 45HEX_TESTS += overflow
c979d901 46HEX_TESTS += signal_context
d63aeb3b 47HEX_TESTS += reg_mut
00e64fda 48HEX_TESTS += read_write_overlap
1c629814
TS
49HEX_TESTS += vector_add_int
50HEX_TESTS += scatter_gather
51HEX_TESTS += hvx_misc
52HEX_TESTS += hvx_histogram
14edcf11
MTB
53HEX_TESTS += invalid-slots
54
55run-and-check-exception = $(call run-test,$2,$3 2>$2.stderr; \
56 test $$? -eq 1 && grep -q "exception $(strip $1)" $2.stderr)
57
58run-invalid-slots: invalid-slots
59 $(call run-and-check-exception, 0x15, $@, $(QEMU) $(QEMU_OPTS) $<)
825d6eba 60
585a86b1
NI
61HEX_TESTS += test_abs
62HEX_TESTS += test_bitcnt
63HEX_TESTS += test_bitsplit
64HEX_TESTS += test_call
65HEX_TESTS += test_clobber
66HEX_TESTS += test_cmp
67HEX_TESTS += test_dotnew
68HEX_TESTS += test_ext
69HEX_TESTS += test_fibonacci
70HEX_TESTS += test_hl
71HEX_TESTS += test_hwloops
72HEX_TESTS += test_jmp
73HEX_TESTS += test_lsr
74HEX_TESTS += test_mpyi
75HEX_TESTS += test_packet
76HEX_TESTS += test_reorder
77HEX_TESTS += test_round
78HEX_TESTS += test_vavgw
79HEX_TESTS += test_vcmpb
80HEX_TESTS += test_vcmpw
81HEX_TESTS += test_vlsrw
82HEX_TESTS += test_vmaxh
83HEX_TESTS += test_vminh
84HEX_TESTS += test_vpmpyh
85HEX_TESTS += test_vspliceb
86
860132e2 87HEX_TESTS += v68_scalar
d636fb70 88HEX_TESTS += v68_hvx
6c61d4e1 89HEX_TESTS += v69_hvx
4dd311ed 90HEX_TESTS += v73_scalar
860132e2 91
825d6eba 92TESTS += $(HEX_TESTS)
4d04395a 93
0d57cd61
TS
94atomics: atomics.c hex_test.h
95brev: brev.c hex_test.h
96circ: circ.c hex_test.h
97dual_stores: dual_stores.c hex_test.h
98fpstuff: fpstuff.c hex_test.h
99hex_sigsegv: hex_sigsegv.c hex_test.h
100load_align: load_align.c hex_test.h
101load_unpack: load_unpack.c hex_test.h
102mem_noshuf_exception: mem_noshuf_exception.c hex_test.h
103mem_noshuf: mem_noshuf.c hex_test.h
104misc: misc.c hex_test.h
105multi_result: multi_result.c hex_test.h
106overflow: overflow.c hex_test.h
107preg_alias: preg_alias.c hex_test.h
108read_write_overlap: read_write_overlap.c hex_test.h
109reg_mut: reg_mut.c hex_test.h
110
4d04395a 111# This test has to be compiled for the -mv67t target
0d57cd61 112usr: usr.c hex_test.h
4d04395a
TS
113 $(CC) $(CFLAGS) -mv67t -O2 -Wno-inline-asm -Wno-expansion-to-defined $< -o $@ $(LDFLAGS)
114
fc2622f6
TS
115# Build this test with -mv71 to exercise the CABAC instruction
116misc: misc.c
117 $(CC) $(CFLAGS) -mv71 -O2 $< -o $@ $(LDFLAGS)
1c629814
TS
118scatter_gather: CFLAGS += -mhvx
119vector_add_int: CFLAGS += -mhvx -fvectorize
761e1c67 120hvx_misc: hvx_misc.c hvx_misc.h
1c629814
TS
121hvx_misc: CFLAGS += -mhvx
122hvx_histogram: CFLAGS += -mhvx -Wno-gnu-folding-constant
d636fb70
TS
123v68_hvx: v68_hvx.c hvx_misc.h v6mpy_ref.c.inc
124v68_hvx: CFLAGS += -mhvx -Wno-unused-function
6c61d4e1
TS
125v69_hvx: v69_hvx.c hvx_misc.h
126v69_hvx: CFLAGS += -mhvx -Wno-unused-function
4dd311ed 127v73_scalar: CFLAGS += -Wno-unused-function
1c629814
TS
128
129hvx_histogram: hvx_histogram.c hvx_histogram_row.S
130 $(CC) $(CFLAGS) $(CROSS_CC_GUEST_CFLAGS) $^ -o $@ $(LDFLAGS)