2023-05-11 06:54:32

by Namhyung Kim

[permalink] [raw]
Subject: [PATCH 1/3] perf annotate: Handle more instructions on x86

I found some instructions didn't parse the operands properly.
Add them to the table to fix the issue.

Signed-off-by: Namhyung Kim <[email protected]>
---
tools/perf/arch/x86/annotate/instructions.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/tools/perf/arch/x86/annotate/instructions.c b/tools/perf/arch/x86/annotate/instructions.c
index 305872692bfd..5c7bec25fee4 100644
--- a/tools/perf/arch/x86/annotate/instructions.c
+++ b/tools/perf/arch/x86/annotate/instructions.c
@@ -35,12 +35,14 @@ static struct ins x86__instructions[] = {
{ .name = "cs", .ops = &mov_ops, },
{ .name = "dec", .ops = &dec_ops, },
{ .name = "decl", .ops = &dec_ops, },
+ { .name = "decq", .ops = &dec_ops, },
{ .name = "divsd", .ops = &mov_ops, },
{ .name = "divss", .ops = &mov_ops, },
{ .name = "gs", .ops = &mov_ops, },
{ .name = "imul", .ops = &mov_ops, },
{ .name = "inc", .ops = &dec_ops, },
{ .name = "incl", .ops = &dec_ops, },
+ { .name = "incq", .ops = &dec_ops, },
{ .name = "ja", .ops = &jump_ops, },
{ .name = "jae", .ops = &jump_ops, },
{ .name = "jb", .ops = &jump_ops, },
@@ -123,6 +125,8 @@ static struct ins x86__instructions[] = {
{ .name = "test", .ops = &mov_ops, },
{ .name = "testb", .ops = &mov_ops, },
{ .name = "testl", .ops = &mov_ops, },
+ { .name = "testq", .ops = &mov_ops, },
+ { .name = "tzcnt", .ops = &mov_ops, },
{ .name = "ucomisd", .ops = &mov_ops, },
{ .name = "ucomiss", .ops = &mov_ops, },
{ .name = "vaddsd", .ops = &mov_ops, },
--
2.40.1.521.gf1e218fcd8-goog



2023-05-15 17:35:06

by Ian Rogers

[permalink] [raw]
Subject: Re: [PATCH 1/3] perf annotate: Handle more instructions on x86

On Wed, May 10, 2023 at 11:27 PM Namhyung Kim <[email protected]> wrote:
>
> I found some instructions didn't parse the operands properly.
> Add them to the table to fix the issue.
>
> Signed-off-by: Namhyung Kim <[email protected]>

Acked-by: Ian Rogers <[email protected]>

Thanks,
Ian

> ---
> tools/perf/arch/x86/annotate/instructions.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tools/perf/arch/x86/annotate/instructions.c b/tools/perf/arch/x86/annotate/instructions.c
> index 305872692bfd..5c7bec25fee4 100644
> --- a/tools/perf/arch/x86/annotate/instructions.c
> +++ b/tools/perf/arch/x86/annotate/instructions.c
> @@ -35,12 +35,14 @@ static struct ins x86__instructions[] = {
> { .name = "cs", .ops = &mov_ops, },
> { .name = "dec", .ops = &dec_ops, },
> { .name = "decl", .ops = &dec_ops, },
> + { .name = "decq", .ops = &dec_ops, },
> { .name = "divsd", .ops = &mov_ops, },
> { .name = "divss", .ops = &mov_ops, },
> { .name = "gs", .ops = &mov_ops, },
> { .name = "imul", .ops = &mov_ops, },
> { .name = "inc", .ops = &dec_ops, },
> { .name = "incl", .ops = &dec_ops, },
> + { .name = "incq", .ops = &dec_ops, },
> { .name = "ja", .ops = &jump_ops, },
> { .name = "jae", .ops = &jump_ops, },
> { .name = "jb", .ops = &jump_ops, },
> @@ -123,6 +125,8 @@ static struct ins x86__instructions[] = {
> { .name = "test", .ops = &mov_ops, },
> { .name = "testb", .ops = &mov_ops, },
> { .name = "testl", .ops = &mov_ops, },
> + { .name = "testq", .ops = &mov_ops, },
> + { .name = "tzcnt", .ops = &mov_ops, },
> { .name = "ucomisd", .ops = &mov_ops, },
> { .name = "ucomiss", .ops = &mov_ops, },
> { .name = "vaddsd", .ops = &mov_ops, },
> --
> 2.40.1.521.gf1e218fcd8-goog
>