On Wed, Feb 28, 2018 at 13:09:11 +1300, Michael Clark wrote: > BTW somewhat coincidentally, the binary translator I wrote; RV8, which is > practicaly twice as fast as QEMU only supports privileged ISA v1.9.1 and I > personally want to keep binary compatiblity with it. (snip) > - https://rv8.io/ > - https://rv8.io/bench > - https://anarch128.org/~mclark/rv8-carrv.pdf > - https://anarch128.org/~mclark/rv8-slides.pdf
What QEMU versions did you use for those comparisons? I wonder if the recent indirect branch handling improvements were included in those (this work was merged in 2.10 for aarch64). Also, 2.7 is quite a bit faster than previous versions for user-mode due to the use of QHT, although you probably used a later version. BTW after the merge you might want to look into optimizing indirect branches (and cross-page direct jumps in softmmu) for riscv in qemu. See examples with $ git log -Stcg_gen_lookup_and_goto_ptr Cheers, Emilio