summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2015-10-15 11:38:43 -0700
committerMatt Turner <[email protected]>2015-11-12 11:00:10 -0800
commit9ab45b4df91fadcbbec62828265644d7463b78bb (patch)
treed847527bfe5d0208d8f4bfa5b4bb1217af3f259a
parent0865e743c18cb7ba65962d794be8387d6edc0b8a (diff)
i965: Don't consider control flow instructions to have sources.
And why did IFF have a destination? I suspect that once upon a time the disassembler used this information to know which fields to find the jump targets in. The jump targets have moved, so the disassembler has to know how to handle these per-generation anyway. Reviewed-by: Iago Toral Quiroga <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_disasm.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_disasm.c b/src/mesa/drivers/dri/i965/brw_disasm.c
index 01f1871701b..76b9bed8548 100644
--- a/src/mesa/drivers/dri/i965/brw_disasm.c
+++ b/src/mesa/drivers/dri/i965/brw_disasm.c
@@ -90,20 +90,20 @@ const struct opcode_desc opcode_descs[128] = {
[BRW_OPCODE_NOP] = { .name = "nop", .nsrc = 0, .ndst = 0 },
[BRW_OPCODE_NENOP] = { .name = "nenop", .nsrc = 0, .ndst = 0 },
[BRW_OPCODE_JMPI] = { .name = "jmpi", .nsrc = 0, .ndst = 0 },
- [BRW_OPCODE_IF] = { .name = "if", .nsrc = 2, .ndst = 0 },
- [BRW_OPCODE_IFF] = { .name = "iff", .nsrc = 2, .ndst = 1 },
- [BRW_OPCODE_WHILE] = { .name = "while", .nsrc = 2, .ndst = 0 },
- [BRW_OPCODE_ELSE] = { .name = "else", .nsrc = 2, .ndst = 0 },
- [BRW_OPCODE_BREAK] = { .name = "break", .nsrc = 2, .ndst = 0 },
- [BRW_OPCODE_CONTINUE] = { .name = "cont", .nsrc = 1, .ndst = 0 },
- [BRW_OPCODE_HALT] = { .name = "halt", .nsrc = 1, .ndst = 0 },
+ [BRW_OPCODE_IF] = { .name = "if", .nsrc = 0, .ndst = 0 },
+ [BRW_OPCODE_IFF] = { .name = "iff", .nsrc = 0, .ndst = 0 },
+ [BRW_OPCODE_WHILE] = { .name = "while", .nsrc = 0, .ndst = 0 },
+ [BRW_OPCODE_ELSE] = { .name = "else", .nsrc = 0, .ndst = 0 },
+ [BRW_OPCODE_BREAK] = { .name = "break", .nsrc = 0, .ndst = 0 },
+ [BRW_OPCODE_CONTINUE] = { .name = "cont", .nsrc = 0, .ndst = 0 },
+ [BRW_OPCODE_HALT] = { .name = "halt", .nsrc = 0, .ndst = 0 },
// [BRW_OPCODE_MSAVE] = { .name = "msave", .nsrc = 1, .ndst = 1 },
// [BRW_OPCODE_PUSH] = { .name = "push", .nsrc = 1, .ndst = 1 },
// [BRW_OPCODE_MREST] = { .name = "mrest", .nsrc = 1, .ndst = 1 },
// [BRW_OPCODE_POP] = { .name = "pop", .nsrc = 2, .ndst = 0 },
[BRW_OPCODE_WAIT] = { .name = "wait", .nsrc = 1, .ndst = 0 },
[BRW_OPCODE_DO] = { .name = "do", .nsrc = 0, .ndst = 0 },
- [BRW_OPCODE_ENDIF] = { .name = "endif", .nsrc = 2, .ndst = 0 },
+ [BRW_OPCODE_ENDIF] = { .name = "endif", .nsrc = 0, .ndst = 0 },
};
static bool