agx: Remove p_extract

It's now unused. We didn't have coalescing for it anyway, splits are the
preferred alternative.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198>
This commit is contained in:
Alyssa Rosenzweig
2022-08-07 14:18:00 -04:00
parent c1900cb951
commit 17168162fb
3 changed files with 1 additions and 15 deletions

View File

@@ -257,7 +257,6 @@ op("p_logical_end", _, dests = 0, srcs = 0, can_eliminate = False)
op("p_combine", _, srcs = 4)
op("p_split", _, srcs = 1, dests = 4)
op("p_extract", _, srcs = 1, imms = [COMPONENT])
# Phis are special-cased in the IR as they (uniquely) can take an unbounded
# number of source.

View File

@@ -197,7 +197,7 @@ agx_optimizer_forward(agx_context *ctx)
agx_optimizer_fmov(defs, I);
/* Inline immediates if we can. TODO: systematic */
if (I->op != AGX_OPCODE_ST_VARY && I->op != AGX_OPCODE_ST_TILE && I->op != AGX_OPCODE_P_EXTRACT && I->op != AGX_OPCODE_P_COMBINE)
if (I->op != AGX_OPCODE_ST_VARY && I->op != AGX_OPCODE_ST_TILE && I->op != AGX_OPCODE_P_COMBINE)
agx_optimizer_inline_imm(defs, I, info.nr_srcs, info.is_float);
}

View File

@@ -340,19 +340,6 @@ agx_ra(agx_context *ctx)
}
agx_emit_parallel_copies(&b, copies, n);
agx_remove_instruction(ins);
continue;
} else if (ins->op == AGX_OPCODE_P_EXTRACT) {
/* Uses the destination size */
unsigned size = agx_size_align_16(ins->dest[0].size);
unsigned left = agx_index_to_reg(ssa_to_reg, ins->dest[0]);
unsigned right = agx_index_to_reg(ssa_to_reg, ins->src[0]) + (size * ins->imm);
if (left != right) {
agx_mov_to(&b, agx_register(left, ins->dest[0].size),
agx_register(right, ins->src[0].size));
}
agx_remove_instruction(ins);
continue;
} else if (ins->op == AGX_OPCODE_P_SPLIT) {