OSDN Git Service

broadcom/vc5: Fix a segfault on mix of booleans.
authorEric Anholt <eric@anholt.net>
Fri, 19 Jan 2018 17:06:26 +0000 (09:06 -0800)
committerEric Anholt <eric@anholt.net>
Thu, 1 Feb 2018 19:02:29 +0000 (11:02 -0800)
We don't have a src1 to look up if the compare instruction is "i2b".

src/broadcom/compiler/nir_to_vir.c

index 0e2e8e2..6bb2774 100644 (file)
@@ -528,7 +528,9 @@ ntq_emit_comparison(struct v3d_compile *c, struct qreg *dest,
                     nir_alu_instr *sel_instr)
 {
         struct qreg src0 = ntq_get_alu_src(c, compare_instr, 0);
-        struct qreg src1 = ntq_get_alu_src(c, compare_instr, 1);
+        struct qreg src1;
+        if (nir_op_infos[compare_instr->op].num_inputs > 1)
+                src1 = ntq_get_alu_src(c, compare_instr, 1);
         bool cond_invert = false;
 
         switch (compare_instr->op) {