override setpc macro so that sv can redirect it in branch
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 7 Oct 2018 14:06:39 +0000 (15:06 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 7 Oct 2018 14:06:39 +0000 (15:06 +0100)
commit7cacfcc2fc5eaea6994b788a594a945bf67390d1
tree2c694d40b1aa129959abd9cd91bd5322ee5084e1
parentb3242f2a7a483bbb4bf54f8045730e6dcc012fbf
override setpc macro so that sv can redirect it in branch

this is slightly complicated.  setpc is a global macro, intended for
use in the templates.  however for SV it needs to be conditional,
so needs to redirect to a function in sv_insn_t.

that in turn needs quite a few extra parameters: the current loop
element offset, the argument to set_pc just in case actually it is
detected that this really is to be a branch not a predication scenario
and so on.

have not tried out vectorisation yet, at least straight non-vectorised
branch operations (unit tests) pass.
riscv/decode.h
riscv/insn_template.cc
riscv/insn_template_sv.cc
riscv/sv.cc
riscv/sv_decode.h