From 57bac68fffe4d7dcb5cf573ca9ad4cd262d3a5e1 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Sat, 28 Sep 2019 09:48:43 -0400 Subject: [PATCH] pan/midgard: Extend choose_instruction for scalar units Signed-off-by: Alyssa Rosenzweig --- src/panfrost/midgard/midgard_schedule.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/panfrost/midgard/midgard_schedule.c b/src/panfrost/midgard/midgard_schedule.c index 6435972..dfc02f1 100644 --- a/src/panfrost/midgard/midgard_schedule.c +++ b/src/panfrost/midgard/midgard_schedule.c @@ -393,6 +393,7 @@ mir_choose_instruction( bool alu = tag == TAG_ALU_4; unsigned unit = predicate->unit; bool branch = alu && (unit == ALU_ENAB_BR_COMPACT); + bool scalar = (unit != ~0) && (unit & UNITS_SCALAR); /* Iterate to find the best instruction satisfying the predicate */ unsigned i; @@ -427,6 +428,9 @@ mir_choose_instruction( if (branch && !instructions[i]->compact_branch) continue; + if (alu && scalar && !mir_is_scalar(instructions[i])) + continue; + if (alu && !mir_adjust_constants(instructions[i], predicate, false)) continue; -- 2.7.4