Lines Matching refs:match
36 * This allows for fast indexing into arrays. This file tries to pattern match the offset in NIR with this form to reduce pressure on the ALU pipe.
200 /* Tries to pattern match into mir_address */
256 struct mir_address match = mir_match_offset(offset->ssa, first_free, true);
258 if (match.A.def) {
259 ins->src[1] = nir_ssa_index(match.A.def);
260 ins->swizzle[1][0] = match.A.comp;
261 ins->src_types[1] = nir_type_uint | match.A.def->bit_size;
268 if (match.B.def) {
269 ins->src[2] = nir_ssa_index(match.B.def);
270 ins->swizzle[2][0] = match.B.comp;
271 ins->src_types[2] = nir_type_uint | match.B.def->bit_size;
276 match.type = midgard_index_address_s32;
278 ins->load_store.index_format = match.type;
280 assert(match.shift <= 7);
281 ins->load_store.index_shift = match.shift;
283 ins->constants.u32[0] = match.bias;
291 struct mir_address match = mir_match_offset(src->ssa, false, false);
293 if (match.B.def) {
294 ins->src[2] = nir_ssa_index(match.B.def);
297 ins->swizzle[2][i] = match.B.comp;
300 ins->load_store.index_shift = match.shift;
301 ins->constants.u32[0] = match.bias + bias;