summaryrefslogtreecommitdiffstats
path: root/src/panfrost/midgard/midgard_compile.c
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-07-30 12:20:24 -0700
committerAlyssa Rosenzweig <[email protected]>2019-07-31 10:59:18 -0700
commit29416a85993a7352c7c575e43ffd6a70a7d8e3ef (patch)
treef6841ab7648cd79dfc19aaca60468276a6ebd168 /src/panfrost/midgard/midgard_compile.c
parent3e47a1181b7c5bc962380553c8c99a49a49f45d9 (diff)
pan/midgard: De-special-case branching
It's not that special. Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/panfrost/midgard/midgard_compile.c')
-rw-r--r--src/panfrost/midgard/midgard_compile.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c
index a03740acf7d..8126c1e25a6 100644
--- a/src/panfrost/midgard/midgard_compile.c
+++ b/src/panfrost/midgard/midgard_compile.c
@@ -193,7 +193,12 @@ v_alu_br_compact_cond(midgard_jmp_writeout_op op, unsigned tag, signed offset, u
.unit = ALU_ENAB_BR_COMPACT,
.prepacked_branch = true,
.compact_branch = true,
- .br_compact = compact
+ .br_compact = compact,
+ .ssa_args = {
+ .dest = -1,
+ .src0 = -1,
+ .src1 = -1,
+ }
};
if (op == midgard_jmp_writeout_op_writeout)
@@ -212,6 +217,11 @@ v_branch(bool conditional, bool invert)
.branch = {
.conditional = conditional,
.invert_conditional = invert
+ },
+ .ssa_args = {
+ .dest = -1,
+ .src0 = -1,
+ .src1 = -1
}
};
@@ -1744,9 +1754,6 @@ inline_alu_constants(compiler_context *ctx)
/* If there is already a constant here, we can do nothing */
if (alu->has_constants) continue;
- /* It makes no sense to inline constants on a branch */
- if (alu->compact_branch || alu->prepacked_branch) continue;
-
CONDITIONAL_ATTACH(src0);
if (!alu->has_constants) {