ibex icon indicating copy to clipboard operation
ibex copied to clipboard

[tracking] Activate pseudo zext.[b|h] decoding

Open towoe opened this issue 4 years ago • 3 comments

The tracer currently does not decode the pseudo instruction. Use it once it is supported by more tools. Actually not quite which, but it was recently mentioned in https://github.com/llvm/llvm-project/commit/249d7de1190f50178181d2477aa661cd252e294c

towoe avatar Jan 09 '21 14:01 towoe

I just noted that more recent development versions of the tools we use (e.g. the Spike version for @GregAC 's cosim framework) as well as GCC v.10.2.0 (see https://github.com/riscv-collab/riscv-gcc/tree/riscv-gcc-10.2.0-rvb) and Binutils (https://github.com/riscv-collab/riscv-binutils-gdb) needed for Bitmanip support zext.h (zext.b is not part of Bitmanip v.1.0.0). So we could change our tracer to output zext.h, WDYT? @luismarques do you maybe know what the status in LLVM is on this?

vogelpi avatar Nov 26 '21 15:11 vogelpi

@luismarques do you maybe know what the status in LLVM is on this?

Both the current toolchain and the under evaluation one (based on LLVM 13) support those two instructions (with the appropriate command-line options). I did some quick testing and the encodings didn't seem to have changed. I can double-check that against the specs, if needed.

luismarques avatar Nov 26 '21 15:11 luismarques

Thanks for your feedback @luismarques ! This sounds great, I suggest that once we provide both an LLVM and GCC toolchain that support these pseudo-instructions, we make the tracer to output them. I think the encoding is still the same, no need to check.

vogelpi avatar Nov 26 '21 16:11 vogelpi