[PATCH] perf annotate: Add missing condition flags for arm64

Namhyung Kim posted 1 patch 3 years, 6 months ago
tools/perf/arch/arm64/annotate/instructions.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] perf annotate: Add missing condition flags for arm64
Posted by Namhyung Kim 3 years, 6 months ago
According to the document [1], it can also have 'hs', 'lo', 'vc', 'vs' as a
condition code.  Let's add them too.

[1] https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/condition-codes-1-condition-flags-and-codes

Reported-by: Kevin Nomura <nomurak@google.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 tools/perf/arch/arm64/annotate/instructions.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/arch/arm64/annotate/instructions.c b/tools/perf/arch/arm64/annotate/instructions.c
index 037e292ecd8e..4af0c3a0f86e 100644
--- a/tools/perf/arch/arm64/annotate/instructions.c
+++ b/tools/perf/arch/arm64/annotate/instructions.c
@@ -102,7 +102,7 @@ static int arm64__annotate_init(struct arch *arch, char *cpuid __maybe_unused)
 	if (err)
 		goto out_free_arm;
 	/* b, b.cond, br, cbz/cbnz, tbz/tbnz */
-	err = regcomp(&arm->jump_insn, "^[ct]?br?\\.?(cc|cs|eq|ge|gt|hi|le|ls|lt|mi|ne|pl)?n?z?$",
+	err = regcomp(&arm->jump_insn, "^[ct]?br?\\.?(cc|cs|eq|ge|gt|hi|hs|le|lo|ls|lt|mi|ne|pl|vc|vs)?n?z?$",
 		      REG_EXTENDED);
 	if (err)
 		goto out_free_call;
-- 
2.38.0.rc1.362.ged0d419d3c-goog
Re: [PATCH] perf annotate: Add missing condition flags for arm64
Posted by Arnaldo Carvalho de Melo 3 years, 5 months ago
Em Thu, Oct 06, 2022 at 03:22:32PM -0700, Namhyung Kim escreveu:
> According to the document [1], it can also have 'hs', 'lo', 'vc', 'vs' as a
> condition code.  Let's add them too.
> 
> [1] https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/condition-codes-1-condition-flags-and-codes

Thanks, applied.

- Arnaldo

 
> Reported-by: Kevin Nomura <nomurak@google.com>
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> ---
>  tools/perf/arch/arm64/annotate/instructions.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/perf/arch/arm64/annotate/instructions.c b/tools/perf/arch/arm64/annotate/instructions.c
> index 037e292ecd8e..4af0c3a0f86e 100644
> --- a/tools/perf/arch/arm64/annotate/instructions.c
> +++ b/tools/perf/arch/arm64/annotate/instructions.c
> @@ -102,7 +102,7 @@ static int arm64__annotate_init(struct arch *arch, char *cpuid __maybe_unused)
>  	if (err)
>  		goto out_free_arm;
>  	/* b, b.cond, br, cbz/cbnz, tbz/tbnz */
> -	err = regcomp(&arm->jump_insn, "^[ct]?br?\\.?(cc|cs|eq|ge|gt|hi|le|ls|lt|mi|ne|pl)?n?z?$",
> +	err = regcomp(&arm->jump_insn, "^[ct]?br?\\.?(cc|cs|eq|ge|gt|hi|hs|le|lo|ls|lt|mi|ne|pl|vc|vs)?n?z?$",
>  		      REG_EXTENDED);
>  	if (err)
>  		goto out_free_call;
> -- 
> 2.38.0.rc1.362.ged0d419d3c-goog

-- 

- Arnaldo