[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 53/55] plugins: add sparc64 instruction classification table
From: |
Alex Bennée |
Subject: |
[PATCH v5 53/55] plugins: add sparc64 instruction classification table |
Date: |
Mon, 14 Oct 2019 11:49:46 +0100 |
As an example of another set of instructions.
Signed-off-by: Alex Bennée <address@hidden>
---
tests/plugin/howvec.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/tests/plugin/howvec.c b/tests/plugin/howvec.c
index 5f7c740833..9ec0d25e3b 100644
--- a/tests/plugin/howvec.c
+++ b/tests/plugin/howvec.c
@@ -112,6 +112,27 @@ InsnClassExecCount aarch64_insn_classes[] = {
{ "Unclassified", "unclas", 0x00000000, 0x00000000, COUNT_CLASS},
};
+InsnClassExecCount sparc32_insn_classes[] = {
+ { "Call", "call", 0xc0000000, 0x40000000, COUNT_CLASS},
+ { "Branch ICond", "bcc", 0xc1c00000, 0x00800000, COUNT_CLASS},
+ { "Branch Fcond", "fbcc", 0xc1c00000, 0x01800000, COUNT_CLASS},
+ { "SetHi", "sethi", 0xc1c00000, 0x01000000, COUNT_CLASS},
+ { "FPU ALU", "fpu", 0xc1f00000, 0x81a00000, COUNT_CLASS},
+ { "ALU", "alu", 0xc0000000, 0x80000000, COUNT_CLASS},
+ { "Load/Store", "ldst", 0xc0000000, 0xc0000000, COUNT_CLASS},
+ /* Unclassified */
+ { "Unclassified", "unclas", 0x00000000, 0x00000000,
COUNT_INDIVIDUAL},
+};
+
+InsnClassExecCount sparc64_insn_classes[] = {
+ { "SetHi & Branches", "op0", 0xc0000000, 0x00000000, COUNT_CLASS},
+ { "Call", "op1", 0xc0000000, 0x40000000, COUNT_CLASS},
+ { "Arith/Logical/Move", "op2", 0xc0000000, 0x80000000, COUNT_CLASS},
+ { "Arith/Logical/Move", "op3", 0xc0000000, 0xc0000000, COUNT_CLASS},
+ /* Unclassified */
+ { "Unclassified", "unclas", 0x00000000, 0x00000000,
COUNT_INDIVIDUAL},
+};
+
/* Default matcher for currently unclassified architectures */
InsnClassExecCount default_insn_classes[] = {
{ "Unclassified", "unclas", 0x00000000, 0x00000000,
COUNT_INDIVIDUAL},
@@ -126,6 +147,7 @@ typedef struct {
ClassSelector class_tables[] =
{
{ "aarch64", aarch64_insn_classes, ARRAY_SIZE(aarch64_insn_classes) },
+ { "sparc64", sparc64_insn_classes, ARRAY_SIZE(sparc64_insn_classes) },
{ NULL, default_insn_classes, ARRAY_SIZE(default_insn_classes) },
};
--
2.20.1
- Re: [PATCH v5 14/55] plugin-gen: add module for TCG-related code, (continued)
- [PATCH v5 35/55] translator: inject instrumentation from plugins, Alex Bennée, 2019/10/14
- [PATCH v5 28/55] target/hppa: fetch code with translator_ld, Alex Bennée, 2019/10/14
- [PATCH v5 34/55] target/openrisc: fetch code with translator_ld, Alex Bennée, 2019/10/14
- [PATCH v5 19/55] *-user: notify plugin of exit, Alex Bennée, 2019/10/14
- [PATCH v5 23/55] translator: add translator_ld{ub,sw,uw,l,q}, Alex Bennée, 2019/10/14
- Re: [PATCH v5 23/55] translator: add translator_ld{ub,sw,uw,l,q}, Richard Henderson, 2019/10/14
- Re: [PATCH v5 23/55] translator: add translator_ld{ub,sw,uw,l,q}, Peter Maydell, 2019/10/14
- Re: [PATCH v5 23/55] translator: add translator_ld{ub,sw,uw,l,q}, Alex Bennée, 2019/10/15
- Re: [PATCH v5 23/55] translator: add translator_ld{ub,sw,uw,l,q}, Alex Bennée, 2019/10/15
- [PATCH v5 53/55] plugins: add sparc64 instruction classification table,
Alex Bennée <=
- [PATCH v5 27/55] target/i386: fetch code with translator_ld, Alex Bennée, 2019/10/14
- [PATCH v5 51/55] plugins: expand the plugin_init function to include an info block, Alex Bennée, 2019/10/14
- [PATCH v5 38/55] linux-user: support -plugin option, Alex Bennée, 2019/10/14
- [PATCH v5 55/55] .travis.yml: add --enable-plugins tests, Alex Bennée, 2019/10/14
- [PATCH v5 47/55] tests/plugin: add instruction execution breakdown, Alex Bennée, 2019/10/14