Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Paolo Bonzini
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
Michael Tokarev
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Alex Bennée
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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
Bastian Koppelmann
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