Running a coverage build identified some gaps in the coverage of translation
code. New tests are added here to close some of those gaps.
After running ubsan on the hexagon TCG tests, some tests were flagged
as having undefined behavior. Fixes for many of those issues are included.
In v2:
- updated vwhist test to use the check32() from hex_test.h, moved check16()
there.
v1: https://lore.kernel.org/qemu-devel/20260905180949.1852673-1-brian.cain@oss.qualcomm.com/
Brian Cain (17):
tests/tcg/hexagon: fix undefined signed left shift in circ.c
tests/tcg/hexagon: fix undefined signed left shift in brev.c
tests/tcg/hexagon: fix undefined signed integer overflow in hvx_misc
tests/tcg/hexagon: fix undefined integer overflow in v69_hvx.c
tests/tcg/multiarch: suppress UBSan for float-to-int conversions
tests/tcg/hexagon: add FP classification, conversion, and fixup tests
tests/tcg/hexagon: add bit interleave and convergent rounding tests
tests/tcg/hexagon: add cond call, tstbit-jump, and endloop01 tests
tests/tcg/hexagon: add dczeroa cache line zero test
tests/tcg/hexagon: add HVX vwhist tests
tests/tcg/hexagon: add sfrecipa edge case tests
tests/tcg/hexagon: add dfmpyhh
tests/tcg/hexagon: add unconditional store-immediate tests
tests/tcg/hexagon: add predicate register transfer test
tests/tcg/hexagon: add rounding conv, sffma:lib, and sfinvsqrta
tests/tcg/hexagon: add scalar+HVX and masked store tests
tests/tcg/hexagon: add decbin MPS test case
tests/tcg/hexagon/hex_test.h | 10 +
tests/tcg/hexagon/hvx_misc.h | 1 +
tests/tcg/hexagon/brev.c | 2 +-
tests/tcg/hexagon/circ.c | 6 +-
tests/tcg/hexagon/fpstuff.c | 412 +++++++++++++++++++++++++++
tests/tcg/hexagon/hvx_misc.c | 84 +++++-
tests/tcg/hexagon/misc.c | 79 +++++
tests/tcg/hexagon/test_bitops.c | 98 +++++++
tests/tcg/hexagon/test_cond_branch.c | 162 +++++++++++
tests/tcg/hexagon/test_dczeroa.c | 88 ++++++
tests/tcg/hexagon/test_vwhist.c | 345 ++++++++++++++++++++++
tests/tcg/hexagon/v69_hvx.c | 3 +-
tests/tcg/multiarch/float_convd.c | 1 +
tests/tcg/multiarch/float_convs.c | 1 +
tests/tcg/hexagon/meson.build | 4 +
15 files changed, 1282 insertions(+), 14 deletions(-)
create mode 100644 tests/tcg/hexagon/test_bitops.c
create mode 100644 tests/tcg/hexagon/test_cond_branch.c
create mode 100644 tests/tcg/hexagon/test_dczeroa.c
create mode 100644 tests/tcg/hexagon/test_vwhist.c
--
2.34.1