xemu/tests/tcg
Thomas Huth 2b4e8cf050 tests/tcg/s390x: Fix the exrl-trt* tests with Clang
The exrl-trt* tests use two pre-initialized variables for the
results of the assembly code:

    uint64_t r1 = 0xffffffffffffffffull;
    uint64_t r2 = 0xffffffffffffffffull;

But then the assembly code copies over the full contents
of the register into the output variable, without taking
care of this pre-initialized values:

        "    lgr %[r1],%%r1\n"
        "    lgr %[r2],%%r2\n"

The code then finally compares the register contents to
a value that apparently depends on the pre-initialized values:

    if (r2 != 0xffffffffffffffaaull) {
        write(1, "bad r2\n", 7);
        return 1;
    }

This all works with GCC, since the 0xffffffffffffffff got into
the r2 register there by accident, but it fails completely with
Clang.

Let's fix this by declaring the r1 and r2 variables as proper
register variables instead, so the pre-initialized values get
correctly passed into the inline assembly code.

Message-Id: <20220301092431.1448419-1-thuth@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-03-07 09:06:32 +01:00
..
aarch64 tests/tcg: port SYS_HEAPINFO to a system test 2022-02-28 16:42:42 +00:00
alpha tests/tcg: move configuration to a sub-shell script 2019-09-10 14:09:00 +01:00
arm tests/tcg: add vectorised sha512 versions 2022-02-28 16:42:35 +00:00
cris tests/tcg: add a multiarch linux-user gdb test 2020-05-06 09:29:26 +01:00
hexagon tests/tcg/multiarch: Read fp flags before printf 2022-01-18 16:44:16 +00:00
hppa target/hppa: Fix atomic_store_3 for STBY 2021-12-30 21:40:47 -08:00
i386 tests/tcg: add vectorised sha512 versions 2022-02-28 16:42:35 +00:00
m68k tests/tcg: move configuration to a sub-shell script 2019-09-10 14:09:00 +01:00
minilib Remove leading underscores from QEMU defines 2021-06-21 05:49:01 +02:00
mips tests/tcg: move configuration to a sub-shell script 2019-09-10 14:09:00 +01:00
multiarch tests/tcg: add sha512 test 2022-02-28 16:42:30 +00:00
nios2 tests/tcg: enable debian-nios2-cross for test building 2021-11-04 10:32:01 +00:00
openrisc target/openrisc: Rename the cpu from or32 to or1k 2017-02-14 08:14:58 +11:00
ppc tests/tcg: move configuration to a sub-shell script 2019-09-10 14:09:00 +01:00
ppc64 tests/tcg: add vectorised sha512 versions 2022-02-28 16:42:35 +00:00
ppc64le tests/tcg/ppc64le: Use Altivec register names in clobber list 2022-03-05 07:16:46 +01:00
riscv64 tests/tcg/riscv64: Add test for division 2021-09-01 11:59:12 +10:00
s390x tests/tcg/s390x: Fix the exrl-trt* tests with Clang 2022-03-07 09:06:32 +01:00
sh4 tests/tcg: completely disable threadcount for sh4 2022-02-28 16:42:35 +00:00
sparc64 tests/tcg/sparc64: Re-enable linux-test 2021-05-15 21:43:23 +02:00
tricore tests/tcg/tricore: Add muls test 2021-05-18 09:36:21 +01:00
x86_64 tests/tcg: add vectorised sha512 versions 2022-02-28 16:42:35 +00:00
xtensa target/xtensa: clean up unaligned access 2021-05-20 13:02:58 -07:00
Makefile.prereqs tests/tcg: ensure we re-configure if configure.sh is updated 2019-12-19 08:20:16 +00:00
Makefile.qemu tests/tcg: Add docker_as and docker_ld cmds 2021-05-18 09:36:21 +01:00
Makefile.target tests/tcg: Fix target-specific Makefile variables path for user-mode 2022-01-12 14:09:06 +01:00
README Drop the deprecated lm32 target 2021-05-12 18:20:25 +02:00
configure.sh Use long endian options for ppc64 2022-03-05 07:16:46 +01:00

README

This directory contains various interesting guest programs for
regression testing. Tests are either multi-arch, meaning they can be
built for all guest architectures that support linux-user executable,
or they are architecture specific.

CRIS
====
The testsuite for CRIS is in tests/tcg/cris.  You can run it
with "make test-cris".