diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-07-30 12:20:24 -0700 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-07-31 10:59:18 -0700 |
commit | 29416a85993a7352c7c575e43ffd6a70a7d8e3ef (patch) | |
tree | f6841ab7648cd79dfc19aaca60468276a6ebd168 /src/panfrost/midgard/midgard_compile.c | |
parent | 3e47a1181b7c5bc962380553c8c99a49a49f45d9 (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.c | 15 |
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) { |