[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH v5 09/14] target/hexagon: import lexer for idef-parser
From: |
Taylor Simpson |
Subject: |
RE: [PATCH v5 09/14] target/hexagon: import lexer for idef-parser |
Date: |
Wed, 23 Jun 2021 20:05:04 +0000 |
> -----Original Message-----
> From: Alessandro Di Federico <ale.qemu@rev.ng>
> Sent: Saturday, June 19, 2021 3:37 AM
> To: qemu-devel@nongnu.org
> Cc: Taylor Simpson <tsimpson@quicinc.com>; Brian Cain
> <bcain@quicinc.com>; babush@rev.ng; nizzo@rev.ng; philmd@redhat.com;
> richard.henderson@linaro.org; Alessandro Di Federico <ale@rev.ng>
> Subject: [PATCH v5 09/14] target/hexagon: import lexer for idef-parser
>
> From: Paolo Montesel <babush@rev.ng>
>
> Signed-off-by: Alessandro Di Federico <ale@rev.ng>
> Signed-off-by: Paolo Montesel <babush@rev.ng>
> ---
> target/hexagon/idef-parser/idef-parser.h | 262 ++++++++
> target/hexagon/idef-parser/idef-parser.lex | 597 ++++++++++++++++++
> target/hexagon/meson.build | 4 +
> tests/docker/dockerfiles/alpine.docker | 1 +
> tests/docker/dockerfiles/centos8.docker | 1 +
> tests/docker/dockerfiles/debian-amd64.docker | 1 +
> tests/docker/dockerfiles/debian10.docker | 1 +
> .../dockerfiles/fedora-i386-cross.docker | 1 +
> .../dockerfiles/fedora-win32-cross.docker | 1 +
> .../dockerfiles/fedora-win64-cross.docker | 1 +
> tests/docker/dockerfiles/fedora.docker | 1 +
> tests/docker/dockerfiles/opensuse-leap.docker | 1 +
> tests/docker/dockerfiles/ubuntu.docker | 1 +
> tests/docker/dockerfiles/ubuntu1804.docker | 1 +
> tests/docker/dockerfiles/ubuntu2004.docker | 3 +-
> 15 files changed, 876 insertions(+), 1 deletion(-) create mode 100644
> target/hexagon/idef-parser/idef-parser.h
> create mode 100644 target/hexagon/idef-parser/idef-parser.lex
>
> diff --git a/target/hexagon/idef-parser/idef-parser.h b/target/hexagon/idef-
> parser/idef-parser.h
> new file mode 100644
> +/**
> + * Types of control registers, assigned to the HexReg.id field */
> +typedef enum {SP, FP, LR, GP, LC0, LC1, SA0, SA1} CregType;
Where is this used? SP, FP, LR are not control registers - they are general
purpose registers.
> diff --git a/target/hexagon/idef-parser/idef-parser.lex
> b/target/hexagon/idef-parser/idef-parser.lex
> new file mode 100644
> +"fREAD_SP()" |
> +"SP" { yylval->rvalue.type = REGISTER;
> + yylval->rvalue.reg.type = CONTROL;
> + yylval->rvalue.reg.id = SP;
> + yylval->rvalue.reg.bit_width = 32;
> + yylval->rvalue.bit_width = 32;
> + return REG; }
> +"fREAD_FP()" |
> +"FP" { yylval->rvalue.type = REGISTER;
> + yylval->rvalue.reg.type = CONTROL;
> + yylval->rvalue.reg.id = FP;
> + yylval->rvalue.reg.bit_width = 32;
> + yylval->rvalue.bit_width = 32;
> + return REG; }
> +"fREAD_LR()" |
> +"LR" { yylval->rvalue.type = REGISTER;
> + yylval->rvalue.reg.type = CONTROL;
> + yylval->rvalue.reg.id = LR;
> + yylval->rvalue.reg.bit_width = 32;
> + yylval->rvalue.bit_width = 32;
> + return REG; }
This looks like the use where you are treating these as control registers.
Just lex them as general purpose registers with numbers 29, 30, 31.
- RE: [PATCH v5 04/14] target/hexagon: make slot number an unsigned, (continued)
- [PATCH v5 06/14] target/hexagon: introduce new helper functions, Alessandro Di Federico, 2021/06/19
- [PATCH v5 02/14] target/hexagon: update MAINTAINERS for idef-parser, Alessandro Di Federico, 2021/06/19
- [PATCH v5 07/14] target/hexagon: expose next PC in DisasContext, Alessandro Di Federico, 2021/06/19
- [PATCH v5 08/14] target/hexagon: prepare input for the idef-parser, Alessandro Di Federico, 2021/06/19
- [PATCH v5 09/14] target/hexagon: import lexer for idef-parser, Alessandro Di Federico, 2021/06/19
- RE: [PATCH v5 09/14] target/hexagon: import lexer for idef-parser,
Taylor Simpson <=
- [PATCH v5 03/14] target/hexagon: import README for idef-parser, Alessandro Di Federico, 2021/06/19
- [PATCH v5 11/14] target/hexagon: call idef-parser functions, Alessandro Di Federico, 2021/06/19
- [PATCH v5 14/14] gitlab-ci: do not use qemu-project Docker registry, Alessandro Di Federico, 2021/06/19
- [PATCH v5 10/14] target/hexagon: import parser for idef-parser, Alessandro Di Federico, 2021/06/19