summaryrefslogtreecommitdiff
path: root/assembler/disasm-main.c
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2013-01-31 15:31:27 +0000
committerBen Widawsky <benjamin.widawsky@intel.com>2013-11-06 09:39:28 -0800
commitbc3bf098a98333aa00290663d7aec2e08270fc58 (patch)
tree1866a4c1315f9ec7755c0beb2c2b3819fc12567a /assembler/disasm-main.c
parent42d8d57c8c57232f6da4c47a03a5d9599976fa98 (diff)
assembler/bdw: Add the start of a gen8 disassembler
Directly taken from Mesa. v2 (Ben): Updated copyright Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Diffstat (limited to 'assembler/disasm-main.c')
-rw-r--r--assembler/disasm-main.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/assembler/disasm-main.c b/assembler/disasm-main.c
index 5bc75afc..5e4cb0ea 100644
--- a/assembler/disasm-main.c
+++ b/assembler/disasm-main.c
@@ -28,6 +28,7 @@
#include "gen4asm.h"
#include "brw_eu.h"
+#include "gen8_instruction.h"
static const struct option longopts[] = {
{ NULL, 0, NULL, 0 }
@@ -99,7 +100,7 @@ static void usage(void)
fprintf(stderr, "usage: intel-gen4disasm [options] inputfile\n");
fprintf(stderr, "\t-b, --binary C style binary output\n");
fprintf(stderr, "\t-o, --output {outputfile} Specify output file\n");
- fprintf(stderr, "\t-g, --gen <4|5|6|7> Specify GPU generation\n");
+ fprintf(stderr, "\t-g, --gen <4|5|6|7|8> Specify GPU generation\n");
}
int main(int argc, char **argv)
@@ -126,7 +127,7 @@ int main(int argc, char **argv)
case 'g':
gen = strtol(optarg, NULL, 10);
- if (gen < 4 || gen > 7) {
+ if (gen < 4 || gen > 8) {
usage();
exit(1);
}
@@ -167,6 +168,10 @@ int main(int argc, char **argv)
}
for (inst = program->first; inst; inst = inst->next)
- brw_disasm (output, &inst->insn.gen, gen);
+ if (gen >= 8)
+ gen8_disassemble(output, &inst->insn.gen8, gen);
+ else
+ brw_disasm (output, &inst->insn.gen, gen);
+
exit (0);
}