aboutsummaryrefslogtreecommitdiff
path: root/tests/tcg/s390x/Makefile.target
blob: da5fe71a4073ca3b797c1d97c0102df8759026e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
S390X_SRC=$(SRC_PATH)/tests/tcg/s390x
VPATH+=$(S390X_SRC)
CFLAGS+=-march=zEC12 -m64

%.o: %.c
	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $< -o $@

config-cc.mak: Makefile
	$(quiet-@)( \
	    $(call cc-option,-march=z14, CROSS_CC_HAS_Z14); \
	    $(call cc-option,-march=z15, CROSS_CC_HAS_Z15)) 3> config-cc.mak
-include config-cc.mak

TESTS+=hello-s390x
TESTS+=csst
TESTS+=ipm
TESTS+=exrl-trt
TESTS+=exrl-trtr
TESTS+=pack
TESTS+=mie3-compl
TESTS+=mie3-mvcrl
TESTS+=mie3-sel
TESTS+=mvo
TESTS+=mvc
TESTS+=shift
TESTS+=trap
TESTS+=signals-s390x
TESTS+=branch-relative-long
TESTS+=noexec
TESTS+=div
TESTS+=clst
TESTS+=long-double
TESTS+=cdsg
TESTS+=chrl
TESTS+=rxsbg
TESTS+=ex-relative-long
TESTS+=ex-branch
TESTS+=mxdb
TESTS+=epsw
TESTS+=larl
TESTS+=mdeb
TESTS+=cgebra
TESTS+=clgebr
TESTS+=clc
TESTS+=laalg
TESTS+=add-logical-with-carry
TESTS+=lae
TESTS+=cvd
TESTS+=cvb
TESTS+=ts
TESTS+=ex-smc

cdsg: CFLAGS+=-pthread
cdsg: LDFLAGS+=-pthread

rxsbg: CFLAGS+=-O2

cgebra: LDFLAGS+=-lm
clgebr: LDFLAGS+=-lm

include $(S390X_SRC)/pgm-specification.mak
$(PGM_SPECIFICATION_TESTS): pgm-specification-user.o
$(PGM_SPECIFICATION_TESTS): LDFLAGS+=pgm-specification-user.o
TESTS += $(PGM_SPECIFICATION_TESTS)

Z13_TESTS=vistr
Z13_TESTS+=lcbb
Z13_TESTS+=locfhr
Z13_TESTS+=vcksm
Z13_TESTS+=vstl
Z13_TESTS+=vrep
Z13_TESTS+=precise-smc-user
$(Z13_TESTS): CFLAGS+=-march=z13 -O2
TESTS+=$(Z13_TESTS)

ifneq ($(CROSS_CC_HAS_Z14),)
Z14_TESTS=fma vfminmax
fma: float.h
fma: LDFLAGS+=-lm
vfminmax: LDFLAGS+=-lm
vfminmax: float.h
$(Z14_TESTS): CFLAGS+=-march=z14 -O2
TESTS+=$(Z14_TESTS)
endif

ifneq ($(CROSS_CC_HAS_Z15),)
Z15_TESTS=vxeh2_vs
Z15_TESTS+=vxeh2_vcvt
Z15_TESTS+=vxeh2_vlstr
Z15_TESTS+=vxeh2_vstrs
$(Z15_TESTS): CFLAGS+=-march=z15 -O2
TESTS+=$(Z15_TESTS)
endif

ifneq ($(GDB),)
GDB_SCRIPT=$(SRC_PATH)/tests/guest-debug/run-test.py

run-gdbstub-signals-s390x: signals-s390x
	$(call run-test, $@, $(GDB_SCRIPT) \
		--gdb $(GDB) \
		--qemu $(QEMU) --qargs "$(QEMU_OPTS)" \
		--bin $< --test $(S390X_SRC)/gdbstub/test-signals-s390x.py, \
	mixing signals and debugging)

hello-s390x-asm: CFLAGS+=-nostdlib

run-gdbstub-svc: hello-s390x-asm
	$(call run-test, $@, $(GDB_SCRIPT) \
		--gdb $(GDB) \
		--qemu $(QEMU) --qargs "$(QEMU_OPTS)" \
		--bin $< --test $(S390X_SRC)/gdbstub/test-svc.py, \
	single-stepping svc)

EXTRA_RUNS += run-gdbstub-signals-s390x run-gdbstub-svc
endif

# MVX versions of sha512
sha512-mvx: CFLAGS=-march=z13 -mvx -O3
sha512-mvx: sha512.c
	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)

TESTS+=sha512-mvx