76bc63d7ed
tests/tcg: Reset result register after each test
...
some insns use the result register implicitly as an input. Thus, we
could end up with data from the previous insn spilling over.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-ID: <20230913105326.40832-4-kbastian@mail.uni-paderborn.de >
2023-09-29 08:28:09 +02:00
8c3cf3f2bd
tests/tcg/tricore: Extended and non-extened regs now match
...
RSx for d regs and e regs now use the same numbering. This makes sure
that mixing d and e registers in an insn test will not overwrite data
between registers.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-ID: <20230913105326.40832-2-kbastian@mail.uni-paderborn.de >
2023-09-28 10:45:22 +02:00
222ff2d358
target/tricore: Swap src and dst reg for RCRR_INSERT
...
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-ID: <20230828112651.522058-10-kbastian@mail.uni-paderborn.de >
2023-09-28 10:45:22 +02:00
23fa6f56b3
target/tricore: Fix RCPW/RRPW_INSERT insns for width = 0
...
we would crash if width was 0 for these insns, as tcg_gen_deposit() is
undefined for that case. For TriCore, width = 0 is a mov from the src reg
to the dst reg, so we special case this here.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-ID: <20230828112651.522058-9-kbastian@mail.uni-paderborn.de >
2023-09-28 10:45:22 +02:00
5e0e06d9a2
target/tricore: Implement hptof insn
...
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1667
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-ID: <20230828112651.522058-8-kbastian@mail.uni-paderborn.de >
2023-09-28 10:45:22 +02:00
815061b9da
target/tricore: Implement ftohp insn
...
reported in https://gitlab.com/qemu-project/qemu/-/issues/1667
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-ID: <20230828112651.522058-7-kbastian@mail.uni-paderborn.de >
2023-09-28 10:45:22 +02:00
2bdbe35632
target/tricore: Implement FTOU insn
...
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-ID: <20230828112651.522058-5-kbastian@mail.uni-paderborn.de >
2023-09-28 10:45:22 +02:00
3e2a5107c5
target/tricore: Implement CRCN insn
...
reported in https://gitlab.com/qemu-project/qemu/-/issues/1667
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-ID: <20230828112651.522058-3-kbastian@mail.uni-paderborn.de >
2023-09-28 10:45:22 +02:00
d97fa9a00d
tests/tcg/tricore: Bump cpu to tc37x
...
we don't want to exclude ISA v1.6.2 insns from our tests.
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-Id: <20230828112651.522058-2-kbastian@mail.uni-paderborn.de >
2023-09-28 10:45:22 +02:00
b3403ed00b
configure: remove HOST_CC
...
$(HOST_CC) is only used to invoke the preprocessor, and $(CC) can be
used instead now that there is a Tricore C compiler. Remove the variable
from config-host.mak.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2023-09-07 13:32:14 +02:00
8b81968c1c
other architectures: spelling fixes
...
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
2023-07-25 17:14:07 +03:00
e926c94171
tests/tcg/tricore: Add recursion test for CSAs
...
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-Id: <20230526061946.54514-7-kbastian@mail.uni-paderborn.de >
2023-06-07 18:20:51 +02:00
0e45f7beca
tests/tcg/tricore: Add first C program
...
this allows us to exercise the startup code used by GCC to call main().
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-Id: <20230526061946.54514-4-kbastian@mail.uni-paderborn.de >
2023-06-07 18:20:42 +02:00
2b8e2992c3
tests/tcg/tricore: Uses label for memory addresses
...
the linker might rearrange sections, so lets reference memory by label
name instead of addr + off.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-Id: <20230526061946.54514-3-kbastian@mail.uni-paderborn.de >
2023-06-07 18:20:40 +02:00
8b50d564be
tests/tcg/tricore: Move asm tests into 'asm' directory
...
this seperates these tests from the upcoming tests written in C.
Also rename the compiled test to 'test_<foo>.asm.tst'.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-Id: <20230526061946.54514-2-kbastian@mail.uni-paderborn.de >
2023-06-07 18:20:25 +02:00
d044b7c33a
tests/tcg: limit the scope of the plugin tests
...
Running every plugin with every test is getting excessive as well as
not really improving coverage that much. Restrict the plugin tests to
just the MULTIARCH_TESTS which are shared between most architecture
for both system and user-mode. For those that aren't we need to squash
MULTIARCH_TESTS so we don't add them when they are not part of the
TESTS global.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230424092249.58552-14-alex.bennee@linaro.org >
2023-04-27 14:58:23 +01:00
3c471b0701
tests/docker: Use binaries for debian-tricore-cross
...
since binutils is pretty old, it fails our CI repeatedly during the
compilation of tricore-binutils. We created a precompiled version using
the debian docker image and download it instead of building it ourself.
We also updated the package to include a newer version of binutils, gcc,
and newlib. The default TriCore ISA version used by tricore-as changed
from the old version, so we have to specify it now. If we don't
'test_fadd' fails with 'unknown opcode'.
The new assembler also picks a new encoding in ld.h which fails the
'test_ld_h' test. We fix that by using the newest TriCore CPU for QEMU.
The old assembler accepted an extra ')' in 'test_imask'. The new one
does not, so lets remove it.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-Id: <20230209145812.46730-1-kbastian@mail.uni-paderborn.de >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20230228190653.1602033-12-alex.bennee@linaro.org >
2023-03-01 10:32:09 +00:00
6e34f54d88
tests/tcg/tricore: Add test for ld.h
...
this exercises the error reported in
https://gitlab.com/qemu-project/qemu/-/issues/652 .
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-Id: <20230203132132.511254-1-kbastian@mail.uni-paderborn.de >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
2023-02-08 10:02:46 +01:00
6dcb9922f3
tests/tcg/tricore: Add LD.BU tests
...
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-Id: <20230202120432.1268-11-kbastian@mail.uni-paderborn.de >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
2023-02-08 09:59:51 +01:00
7ebe4cb364
tests/tcg/tricore: Add OPC2_32_RRRR_DEXTR tests
...
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-Id: <20230202120432.1268-9-kbastian@mail.uni-paderborn.de >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
2023-02-08 09:59:27 +01:00
70447df936
tests/tcg/tricore: Add tests for RRPW_DEXTR
...
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-Id: <20230202120432.1268-7-kbastian@mail.uni-paderborn.de >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
2023-02-08 09:58:58 +01:00
fa581531ff
tests/tcg/tricore: Add test for OPC2_32_RCRW_INSERT
...
DREG_RS2 and DREG_CALC_RESULT were mapped to the same register which
would not trigger https://gitlab.com/qemu-project/qemu/-/issues/653 . So
let's make each register unique.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-Id: <20230202120432.1268-5-kbastian@mail.uni-paderborn.de >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
2023-02-08 09:58:08 +01:00
76f7f54840
tests/tcg/tricore: Add test for OPC2_32_RCRW_IMASK
...
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-Id: <20230202120432.1268-3-kbastian@mail.uni-paderborn.de >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
2023-02-08 09:57:31 +01:00
a1ff17fef5
tests/tcg/tricore: Add muls test
...
Tested-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210305170045.869437-16-kbastian@mail.uni-paderborn.de >
Message-Id: <20210512102051.12134-26-alex.bennee@linaro.org >
2021-05-18 09:36:21 +01:00
0429e0955c
tests/tcg/tricore: Add msub test
...
Tested-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210305170045.869437-15-kbastian@mail.uni-paderborn.de >
Message-Id: <20210512102051.12134-25-alex.bennee@linaro.org >
2021-05-18 09:36:21 +01:00
6ad6701ce7
tests/tcg/tricore: Add madd test
...
Tested-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210305170045.869437-14-kbastian@mail.uni-paderborn.de >
Message-Id: <20210512102051.12134-24-alex.bennee@linaro.org >
2021-05-18 09:36:21 +01:00
55f037a5d5
tests/tcg/tricore: Add ftoi test
...
Tested-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210305170045.869437-13-kbastian@mail.uni-paderborn.de >
Message-Id: <20210512102051.12134-23-alex.bennee@linaro.org >
2021-05-18 09:36:21 +01:00
14c91f75e3
tests/tcg/tricore: Add fmul test
...
Tested-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210305170045.869437-12-kbastian@mail.uni-paderborn.de >
Message-Id: <20210512102051.12134-22-alex.bennee@linaro.org >
2021-05-18 09:36:21 +01:00
0fb40c55d2
tests/tcg/tricore: Add fadd test
...
Tested-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210305170045.869437-11-kbastian@mail.uni-paderborn.de >
Message-Id: <20210512102051.12134-21-alex.bennee@linaro.org >
2021-05-18 09:36:21 +01:00
d6f1593a77
tests/tcg/tricore: Add dvstep test
...
Tested-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210305170045.869437-10-kbastian@mail.uni-paderborn.de >
Message-Id: <20210512102051.12134-20-alex.bennee@linaro.org >
2021-05-18 09:36:21 +01:00
a0d98ea802
tests/tcg/tricore: Add clz test
...
Tested-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
[AJB: dropped duplicate Makefile]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210305170045.869437-9-kbastian@mail.uni-paderborn.de >
Message-Id: <20210512102051.12134-19-alex.bennee@linaro.org >
2021-05-18 09:36:21 +01:00
f271aa62e9
tests/tcg/tricore: Add bmerge test
...
Tested-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210305170045.869437-8-kbastian@mail.uni-paderborn.de >
Message-Id: <20210512102051.12134-18-alex.bennee@linaro.org >
2021-05-18 09:36:21 +01:00
2d934b5951
tests/tcg/tricore: Add macros to create tests and first test 'abs'
...
This kind of tests is inspired by the riscv-tests repository. This adds
macros that makes it easy to create single instruction self containing
tests.
It is achieved by macros that create a test sequence for an
instruction and check for a supplied correct value. If the value is correct the
next instruction is tested. Otherwise we jump to fail handler that writes is
test number as a status code back to qemu that then exits on that status code.
If all tests pass we write back 0 as a status code and exit.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Message-Id: <20210305170045.869437-7-kbastian@mail.uni-paderborn.de >
[AJB: add container_hosts]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210512102051.12134-17-alex.bennee@linaro.org >
2021-05-18 09:36:21 +01:00
be78e79949
tests/tcg/tricore: Add build infrastructure
...
this includes the Makefile and linker script to build all the tests.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210305170045.869437-5-kbastian@mail.uni-paderborn.de >
Message-Id: <20210512102051.12134-15-alex.bennee@linaro.org >
2021-05-18 09:36:21 +01:00