perf annotate: Add missing jump variants
authorArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 19 Apr 2012 20:10:12 +0000 (17:10 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 19 Apr 2012 20:10:12 +0000 (17:10 -0300)
Taken from binutils:

[acme@sandy binutils-2.22]$ grep ^j opcodes/i386-opc.tbl | cut -d, -f1 | sort -u

Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-mwshob8n12jlsu458ghvheos@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/annotate.c

index d8e2f414e6101dfd3a4ec0a6d8bc2a92bf8dccac..e70cbb4f3bed08389b24a9641796ebdac36077c0 100644 (file)
@@ -70,11 +70,40 @@ static struct ins instructions[] = {
        { .name = "call",  .ops  = &call_ops, },
        { .name = "callq", .ops  = &call_ops, },
        { .name = "ja",    .ops  = &jump_ops, },
+       { .name = "jae",   .ops  = &jump_ops, },
+       { .name = "jb",    .ops  = &jump_ops, },
+       { .name = "jbe",   .ops  = &jump_ops, },
+       { .name = "jc",    .ops  = &jump_ops, },
+       { .name = "jcxz",  .ops  = &jump_ops, },
        { .name = "je",    .ops  = &jump_ops, },
+       { .name = "jecxz", .ops  = &jump_ops, },
+       { .name = "jg",    .ops  = &jump_ops, },
+       { .name = "jge",   .ops  = &jump_ops, },
+       { .name = "jl",    .ops  = &jump_ops, },
+       { .name = "jle",   .ops  = &jump_ops, },
        { .name = "jmp",   .ops  = &jump_ops, },
        { .name = "jmpq",  .ops  = &jump_ops, },
+       { .name = "jna",   .ops  = &jump_ops, },
+       { .name = "jnae",  .ops  = &jump_ops, },
+       { .name = "jnb",   .ops  = &jump_ops, },
+       { .name = "jnbe",  .ops  = &jump_ops, },
+       { .name = "jnc",   .ops  = &jump_ops, },
        { .name = "jne",   .ops  = &jump_ops, },
+       { .name = "jng",   .ops  = &jump_ops, },
+       { .name = "jnge",  .ops  = &jump_ops, },
+       { .name = "jnl",   .ops  = &jump_ops, },
+       { .name = "jnle",  .ops  = &jump_ops, },
+       { .name = "jno",   .ops  = &jump_ops, },
+       { .name = "jnp",   .ops  = &jump_ops, },
+       { .name = "jns",   .ops  = &jump_ops, },
+       { .name = "jnz",   .ops  = &jump_ops, },
+       { .name = "jo",    .ops  = &jump_ops, },
+       { .name = "jp",    .ops  = &jump_ops, },
+       { .name = "jpe",   .ops  = &jump_ops, },
+       { .name = "jpo",   .ops  = &jump_ops, },
+       { .name = "jrcxz", .ops  = &jump_ops, },
        { .name = "js",    .ops  = &jump_ops, },
+       { .name = "jz",    .ops  = &jump_ops, },
 };
 
 static int ins__cmp(const void *name, const void *insp)