master
target 63 lines 1.77 KB
Raw
1 # -*- Mode: makefile -*-
2 #
3 # ppc64 specific tweaks
4
5 VPATH += $(SRC_PATH)/tests/tcg/ppc64
6
7 config-cc.mak: Makefile
8 $(quiet-@)( \
9 $(call cc-option,-mcpu=power8, CROSS_CC_HAS_CPU_POWER8); \
10 $(call cc-option,-mpower10, CROSS_CC_HAS_POWER10)) 3> config-cc.mak
11
12 -include config-cc.mak
13
14 # multi-threaded tests are known to fail (e.g., clang-user CI job)
15 # See: https://gitlab.com/qemu-project/qemu/-/issues/2456
16 run-signals: signals
17 $(call skip-test, $<, "BROKEN (flaky with clang) ")
18 run-plugin-signals-with-%:
19 $(call skip-test, $<, "BROKEN (flaky with clang) ")
20
21 run-threadcount: threadcount
22 $(call skip-test, $<, "BROKEN (flaky with clang) ")
23 run-plugin-threadcount-with-%:
24 $(call skip-test, $<, "BROKEN (flaky with clang) ")
25
26 ifneq ($(CROSS_CC_HAS_CPU_POWER8),)
27 PPC64_TESTS=bcdsub non_signalling_xscv
28 endif
29 $(PPC64_TESTS): CFLAGS += -mcpu=power8
30
31 ifneq ($(CROSS_CC_HAS_CPU_POWER8),)
32 PPC64_TESTS += vsx_f2i_nan
33 endif
34 vsx_f2i_nan: CFLAGS += -mcpu=power8 -I$(SRC_PATH)/include
35
36 PPC64_TESTS += mtfsf
37 PPC64_TESTS += mffsce
38
39 ifneq ($(CROSS_CC_HAS_POWER10),)
40 PPC64_TESTS += byte_reverse sha512-vector vector
41 endif
42 byte_reverse: CFLAGS += -mcpu=power10
43 run-byte_reverse: QEMU_OPTS+=-cpu POWER10
44
45 sha512-vector: CFLAGS +=-mcpu=power10 -O3
46 sha512-vector: sha512.c
47 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
48
49 run-sha512-vector: QEMU_OPTS+=-cpu POWER10
50
51 vector: CFLAGS += -mcpu=power10 -I$(SRC_PATH)/include
52 run-vector: QEMU_OPTS += -cpu POWER10
53
54 PPC64_TESTS += signal_save_restore_xer
55 PPC64_TESTS += xxspltw
56 PPC64_TESTS += test-aes
57
58 # ppc64 ABI uses function descriptors, and thus, QEMU can't find symbol for a
59 # given instruction. Thus, we don't check output of mem-access plugin.
60 run-plugin-test-plugin-mem-access-with-libmem.so: \
61 CHECK_PLUGIN_OUTPUT_COMMAND=
62
63 TESTS += $(PPC64_TESTS)