OSDN Git Service

ilo: simplify src operand gathering in disassembler
authorChia-I Wu <olvaffe@gmail.com>
Sat, 13 Sep 2014 14:15:46 +0000 (22:15 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Sat, 13 Sep 2014 16:30:33 +0000 (00:30 +0800)
Always initialize the operand array to point to src0, src1, and src2.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
src/gallium/drivers/ilo/shader/toy_compiler_disasm.c

index 7c1c32e..e9cd187 100644 (file)
@@ -1375,23 +1375,13 @@ disasm_printer_print_inst(struct disasm_printer *printer,
       }
    } else {
       const int src_count = disasm_opcode_table[inst->opcode].src_count;
-      const struct disasm_src_operand *src[3];
-      int i;
-
-      /* get src operands */
-      switch (src_count) {
-      case 3:
-         src[2] = &inst->u.src2;
-      case 2:
-         src[1] = &inst->src1;
-      case 1:
-         src[0] = &inst->src0;
-      case 0:
-      default:
-         break;
-      }
 
       if (src_count) {
+         const struct disasm_src_operand *src[3] = {
+            &inst->src0, &inst->src1, &inst->u.src2
+         };
+         int i;
+
          disasm_printer_column(printer, col++);
          disasm_printer_add_dst(printer, inst, &inst->dst);