
Add a test case which tests some corner case behaviour of fused-multiply-add on x86: * 0 * Inf + SNaN should raise Invalid * 0 * Inf + QNaN shouldh not raise Invalid * tininess should be detected after rounding There is also one currently-disabled test case: * flush-to-zero should be done after rounding This is disabled because QEMU's emulation currently does this incorrectly (and so would fail the test). The test case is kept in but disabled, as the justification for why the test running harness has support for testing both with and without FTZ set. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Link: https://lore.kernel.org/r/20250116112536.4117889-3-peter.maydell@linaro.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
41 lines
1013 B
Makefile
41 lines
1013 B
Makefile
# -*- Mode: makefile -*-
|
|
#
|
|
# x86_64 tests - included from tests/tcg/Makefile.target
|
|
#
|
|
# Currently we only build test-x86_64 and test-i386-ssse3 from
|
|
# $(SRC_PATH)/tests/tcg/i386/
|
|
#
|
|
|
|
include $(SRC_PATH)/tests/tcg/i386/Makefile.target
|
|
|
|
X86_64_TESTS += test-2413
|
|
|
|
ifeq ($(filter %-linux-user, $(TARGET)),$(TARGET))
|
|
X86_64_TESTS += vsyscall
|
|
X86_64_TESTS += noexec
|
|
X86_64_TESTS += cmpxchg
|
|
X86_64_TESTS += adox
|
|
X86_64_TESTS += test-1648
|
|
X86_64_TESTS += test-2175
|
|
X86_64_TESTS += cross-modifying-code
|
|
X86_64_TESTS += fma
|
|
TESTS=$(MULTIARCH_TESTS) $(X86_64_TESTS) test-x86_64
|
|
else
|
|
TESTS=$(MULTIARCH_TESTS)
|
|
endif
|
|
|
|
adox: CFLAGS=-O2
|
|
|
|
run-test-i386-ssse3: QEMU_OPTS += -cpu max
|
|
run-plugin-test-i386-ssse3-%: QEMU_OPTS += -cpu max
|
|
|
|
cross-modifying-code: CFLAGS+=-pthread
|
|
cross-modifying-code: LDFLAGS+=-pthread
|
|
|
|
test-x86_64: LDFLAGS+=-lm -lc
|
|
test-x86_64: test-i386.c test-i386.h test-i386-shift.h test-i386-muldiv.h
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
|
|
|
|
%: $(SRC_PATH)/tests/tcg/x86_64/%.c
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
|