On 2/6/26 10:38 AM, Brian Cain wrote:
Fix the issues reported by Alex Rønne Petersen causing zig test suite
failures. The 0x0 case is a conflicting "multiple register write" - the
handler here will cover duplexes but not the more general case of multiple
register writes. I'll include that in a subsequent patchset.
Brian Cain (3):
target/hexagon: Fix invalid duplex decoding
target/hexagon: Reject duplex encodings with duplicate dest registers
target/hexagon: Return decode failure for invalid non-duplex encodings
linux-user/hexagon/cpu_loop.c | 4 ++++
target/hexagon/decode.c | 28 +++++++++++++++++++++++++---
target/hexagon/translate.c | 18 ++++++++++++++++--
tests/tcg/hexagon/invalid-duplex.c | 28 ++++++++++++++++++++++++++++
tests/tcg/hexagon/invalid-dups.c | 23 +++++++++++++++++++++++
tests/tcg/hexagon/invalid-encoding.c | 20 ++++++++++++++++++++
tests/tcg/hexagon/Makefile.target | 23 ++++++++++++++++++++++-
7 files changed, 138 insertions(+), 6 deletions(-)
create mode 100644 tests/tcg/hexagon/invalid-duplex.c
create mode 100644 tests/tcg/hexagon/invalid-dups.c
create mode 100644 tests/tcg/hexagon/invalid-encoding.c
Sounds good.
I have one suggestion to improve it. For tests, it would be nice to
catch SIGILL, so test returns 0 if it worked as expected, or exit with 1
if SIGILL was not sent. It's just a suggestion though :)
Regards,
Pierrick