mbox series

[RISU,00/11] Misc fixes, documentation and patterns

Message ID 20170704144859.17644-1-alex.bennee@linaro.org
Headers show
Series Misc fixes, documentation and patterns | expand

Message

Alex Bennée July 4, 2017, 2:48 p.m. UTC
Hi Peter,

A bit of a mixed set of patches here for you to pick from as you
will. The first 2 are additional tracing fixes including a fix for
segfaulting when generating a trace.

The next two are documentation patches as requested.

Then two minor tweaks, one to risu.el and a indent failure of risugen.

While I've been working through the half-precision stuff I've been
finding the --pattern approach a bit inflexible as you basically end
up eyeballing the risu file to build up the regexs. I've added a
little syntactic suger to the risu file to enable grouping. This makes
slicing a subset a lot easier, e.g.:

  ./risugen --group AdvSIMDAcrossVector --not-pattern ".*_RES" aarch64.risu

You can specify multiple groups in the risu file as the matching is
string based, e.g.:

  @Integer,Logic,Immediate

And then:

  ./risugen --group Logic aarch64.risu foo.bin

What do you think?

Alex Bennée (11):
  risu: make match status take tracing into account
  reginfo.c: always return 1 on OP_TESTEND
  README: document --static builds
  README: document record/replay support
  risu.el: derive from text-mode
  risugen: fix bad indent
  risugen: support @GroupName in risu files
  aarch64.risu: document naming conventions
  aarch64.risu: remove duplicate AdvSIMD Scalar 3 same block
  aarch64.risu: remove duplicate AdvSIMD scalar 2 reg misc block
  aarch64.risu: update AdvancedSIMD across lanes

 README         |  40 ++++++++--
 aarch64.risu   | 241 ++++++++++++++++++++++++---------------------------------
 reginfo.c      |  19 +++--
 risu.c         |   4 +-
 risu.el        |   2 +-
 risu.h         |   2 +-
 risugen        |  17 +++-
 risugen_arm.pm |   7 ++
 8 files changed, 175 insertions(+), 157 deletions(-)

-- 
2.13.0

Comments

Peter Maydell July 10, 2017, 4:57 p.m. UTC | #1
On 4 July 2017 at 15:48, Alex Bennée <alex.bennee@linaro.org> wrote:
> Hi Peter,

>

> A bit of a mixed set of patches here for you to pick from as you

> will. The first 2 are additional tracing fixes including a fix for

> segfaulting when generating a trace.

>

> The next two are documentation patches as requested.

>

> Then two minor tweaks, one to risu.el and a indent failure of risugen.

>

> While I've been working through the half-precision stuff I've been

> finding the --pattern approach a bit inflexible as you basically end

> up eyeballing the risu file to build up the regexs. I've added a

> little syntactic suger to the risu file to enable grouping. This makes

> slicing a subset a lot easier, e.g.:

>

>   ./risugen --group AdvSIMDAcrossVector --not-pattern ".*_RES" aarch64.risu

>

> You can specify multiple groups in the risu file as the matching is

> string based, e.g.:

>

>   @Integer,Logic,Immediate

>

> And then:

>

>   ./risugen --group Logic aarch64.risu foo.bin

>

> What do you think?

>

> Alex Bennée (11):

>   risu: make match status take tracing into account

>   reginfo.c: always return 1 on OP_TESTEND

>   README: document --static builds

>   README: document record/replay support

>   risu.el: derive from text-mode

>   risugen: fix bad indent


I've pushed these first six to risu master.

>   risugen: support @GroupName in risu files


I think this is OK, but can we document the change in
risu file syntax in the readme, please?

>   aarch64.risu: document naming conventions

>   aarch64.risu: remove duplicate AdvSIMD Scalar 3 same block

>   aarch64.risu: remove duplicate AdvSIMD scalar 2 reg misc block

>   aarch64.risu: update AdvancedSIMD across lanes


Some of these seem to be doing multiple things at once,
which in some cases makes them a bit confusing (eg the
first one says it's removing a duplicate block, but it's
also adding a group name.)

thanks
-- PMM