Lines Matching refs:src

238                         if (ins->src[s].type != BI_INDEX_REGISTER) continue;
242 add_dependency(last_write, ins->src[s].value + c, i, st.dependents, st.dep_counts);
291 if (ins->src[s].type != BI_INDEX_REGISTER) continue;
296 mark_access(last_read, ins->src[s].value + c, i);
327 pinstr->src[0], pinstr->src[1], pinstr->src[2]);
332 pinstr->src[0] = cubeface1->dest[0];
333 pinstr->src[1] = bi_null();
334 pinstr->src[2] = bi_null();
350 pinstr->src[1], pinstr->src[2], pinstr->src[0],
357 pinstr->src[3] = atom_c->src[2];
369 pinstr->src[0], pinstr->src[1], pinstr->atom_opc);
375 pinstr->src[2] = pinstr->src[1];
376 pinstr->src[1] = pinstr->src[0];
377 pinstr->src[3] = bi_dontcare(&b);
378 pinstr->src[0] = bi_null();
390 bi_instr *fma = bi_seg_add_to(&b, pinstr->dest[0], pinstr->src[0],
394 pinstr->src[0] = pinstr->src[1];
395 pinstr->src[1] = bi_null();
411 add->src[0], add->table);
412 add->src[0] = dtsel->dest[0];
503 ins->src[0].swizzle == BI_SWIZZLE_H01 &&
504 ins->src[1].swizzle == BI_SWIZZLE_H01);
515 return I->src[0].abs && I->src[1].abs &&
516 bi_is_word_equiv(I->src[0], I->src[1]);
541 enum bi_swizzle swz0 = I->src[0].swizzle;
542 enum bi_swizzle swz1 = I->src[1].swizzle;
557 if (ins->op == BI_OPCODE_FCMP_V2F16 && (ins->src[0].abs || ins->src[1].abs))
626 bi_reads_temps(bi_instr *ins, unsigned src)
632 return src != 0;
640 return src != 0;
650 bi_impacted_t_modifiers(bi_instr *I, unsigned src)
652 enum bi_swizzle swizzle = I->src[src].swizzle;
683 return (src == 1) && (swizzle != BI_SWIZZLE_H01);
701 return (src == 1) && (swizzle >= BI_SWIZZLE_H11);
707 return (src == 1) && (swizzle != BI_SWIZZLE_D0);
716 bi_reads_t(bi_instr *ins, unsigned src)
720 return src != 2;
728 if (bi_is_staging_src(ins, src))
733 if (bi_impacted_t_modifiers(ins, src))
743 return src != 2;
745 return src != 2 && src != 3;
753 return bi_reads_temps(ins, src);
806 bi_index src = instr->src[s];
808 if (src.type == BI_INDEX_FAU) {
810 bool no_other_fau = (fau == src.value) || !fau;
815 tuple->fau = src.value;
820 fau = src.value;
821 } else if (src.type == BI_INDEX_CONSTANT) {
823 if (src.value == 0 && fma && bi_reads_zero(instr))
828 bool pcrel = instr->branch_target && src.value == 0;
832 found |= (constants[i] == src.value) &&
851 constants[(*constant_count)++] = src.value;
877 bi_index src = instr->src[src_idx];
880 if (!(src.type == BI_INDEX_NORMAL || src.type == BI_INDEX_REGISTER))
889 if (bi_is_word_equiv(src, reg->reads[t]))
894 if (bi_is_word_equiv(src, instr->src[t]))
942 bi_index src = add->src[s];
944 if (src.type != BI_INDEX_REGISTER)
951 read |= bi_is_equiv(fma, bi_register(src.value + d));
967 if (bi_is_word_equiv(ins->dest[0], pins->src[s]) &&
1083 if (bi_opcode_props[instr->op].sr_read && !bi_is_null(instr->src[0])) {
1085 assert(instr->src[0].type == BI_INDEX_REGISTER);
1086 unsigned reg = instr->src[0].value;
1214 memcpy(clause->accesses + clause->access_count, instr->src, sizeof(instr->src));
1222 tuple->reg.reads[tuple->reg.nr_reads++] = instr->src[s];
1260 bi_index src = tuple->prev_reads[0];
1264 bi_instr *mov = bi_mov_i32_to(&b, src, src);
1291 instr->src[2] = bi_zero();
1317 if (bi_is_word_equiv(ins->src[i], old)) {
1318 ins->src[i].type = BI_INDEX_PASS;
1319 ins->src[i].value = new;
1320 ins->src[i].reg = false;
1321 ins->src[i].offset = 0;
1354 if (ins->src[s].type != BI_INDEX_FAU) continue;
1356 bi_index pass = bi_passthrough(ins->src[s].offset ?
1359 ins->src[s] = bi_replace_index(ins->src[s], pass);
1369 bi_index src = ins->src[s];
1371 if (src.type == BI_INDEX_CONSTANT && src.value == 0)
1372 ins->src[s] = bi_replace_index(src, zero);
1382 if (ins->src[s].type != BI_INDEX_CONSTANT) continue;
1384 uint32_t cons = ins->src[s].value;
1403 ins->src[s] = bi_replace_index(ins->src[s],
1705 if (clause->message && bi_opcode_props[clause->message->op].sr_read && !bi_is_null(clause->message->src[0])) {
1707 live_after_temp |= (BITFIELD64_MASK(nr) << clause->message->src[0].value);
1961 bi_index src = ins->src[s];
1965 return (src.type != BI_INDEX_CONSTANT) && (src.type != BI_INDEX_FAU);
1967 if (src.type == BI_INDEX_CONSTANT) {
1969 if (src.value == 0 && bi_opcode_props[ins->op].fma && bi_reads_zero(ins))
1977 if (src.value == constants[i])
1984 constants[(*cwords)++] = src.value;
1985 } else if (src.type == BI_INDEX_FAU) {
1990 if (!bi_is_null(*fau) && (src.value != fau->value))
1997 *fau = src;
2016 fau = ins->src[2];
2022 assert(ins->src[3].type == BI_INDEX_CONSTANT);
2023 constants[cwords++] = ins->src[3].value;
2029 bi_index copy = bi_mov_i32(&b, ins->src[s]);
2030 ins->src[s] = bi_replace_index(ins->src[s], copy);