Lines Matching refs:src

318 	unsigned src;
324 for (src = 0; src < num_src; ++src) {
325 if (alu->src[src].rel) {
340 unsigned src;
342 for (src = 0; src < num_src; ++src) {
343 if (is_lds_read(alu->src[src].sel)) {
515 int r, src, num_src, sel, elem, cycle;
518 for (src = 0; src < num_src; src++) {
519 sel = alu->src[src].sel;
520 elem = alu->src[src].chan;
522 cycle = cycle_for_bank_swizzle_vec[bank_swizzle][src];
523 if (src == 1 && sel == alu->src[0].sel && elem == alu->src[0].chan)
533 r = reserve_cfile(bc, bs, (alu->src[src].kc_bank<<16) + sel, elem);
545 int r, src, num_src, const_count, sel, elem, cycle;
548 for (const_count = 0, src = 0; src < num_src; ++src) {
549 sel = alu->src[src].sel;
550 elem = alu->src[src].chan;
560 r = reserve_cfile(bc, bs, (alu->src[src].kc_bank<<16) + sel, elem);
565 for (src = 0; src < num_src; ++src) {
566 sel = alu->src[src].sel;
567 elem = alu->src[src].chan;
569 cycle = cycle_for_bank_swizzle_scl[bank_swizzle][src];
580 cycle = cycle_for_bank_swizzle_scl[bank_swizzle][src];
673 int i, j, r, src, num_src;
706 for (src = 0; src < num_src; ++src) {
707 if (!is_gpr(alu->src[src].sel) || alu->src[src].rel)
711 if (alu->src[src].sel == gpr[4] &&
712 alu->src[src].chan == chan[4] &&
714 alu->src[src].sel = V_SQ_ALU_SRC_PS;
715 alu->src[src].chan = 0;
721 if (alu->src[src].sel == gpr[j] &&
722 alu->src[src].chan == j &&
724 alu->src[src].sel = V_SQ_ALU_SRC_PV;
725 alu->src[src].chan = chan[j];
767 if (alu->src[i].sel == V_SQ_ALU_SRC_LITERAL) {
768 uint32_t value = alu->src[i].value;
793 if (alu->src[i].sel == V_SQ_ALU_SRC_LITERAL) {
794 uint32_t value = alu->src[i].value;
797 alu->src[i].chan = j;
816 int i, j, r, src, num_src;
949 for (src = 0; src < num_src; ++src) {
952 if (!is_gpr(alu->src[src].sel))
960 if (prev[j]->dst.chan == alu->src[src].chan &&
961 (prev[j]->dst.sel == alu->src[src].sel ||
962 prev[j]->dst.rel || alu->src[src].rel))
1079 unsigned bank, line, sel = alu->src[i].sel, index_mode;
1084 bank = alu->src[i].kc_bank;
1087 index_mode = alu->src[i].kc_rel ? 1 : 0; // V_SQ_CF_INDEX_0 / V_SQ_CF_INDEX_NONE
1101 /* Alter the src operands to refer to the kcache. */
1104 unsigned int line, sel = alu->src[i].sel, found = 0;
1119 if (kcache[j].bank == alu->src[i].kc_bank &&
1122 alu->src[i].sel = sel - (kcache[j].addr<<4);
1123 alu->src[i].sel += base[j];
1188 alu.src[0].chan = i & 3;
1217 alu.src[0].sel = bc->ar_reg;
1218 alu.src[0].chan = bc->ar_chan;
1248 alu.src[0].sel = bc->ar_reg;
1249 alu.src[0].chan = bc->ar_chan;
1273 assert(!alu->src[0].abs && !alu->src[1].abs && !alu->src[2].abs);
1306 if (nalu->src[i].kc_bank && nalu->src[i].kc_rel)
1312 if (nalu->src[i].rel && !bc->ar_loaded)
1330 if (nalu->src[i].sel >= bc->ngpr && nalu->src[i].sel < 128) {
1331 bc->ngpr = nalu->src[i].sel + 1;
1333 if (nalu->src[i].sel == V_SQ_ALU_SRC_LITERAL)
1334 r600_bytecode_special_constants(nalu->src[i].value,
1335 &nalu->src[i].sel);
1710 bc->bytecode[id++] = S_SQ_ALU_WORD0_SRC0_SEL(alu->src[0].sel) |
1711 S_SQ_ALU_WORD0_SRC0_REL(alu->src[0].rel) |
1712 S_SQ_ALU_WORD0_SRC0_CHAN(alu->src[0].chan) |
1713 S_SQ_ALU_WORD0_SRC0_NEG(alu->src[0].neg) |
1714 S_SQ_ALU_WORD0_SRC1_SEL(alu->src[1].sel) |
1715 S_SQ_ALU_WORD0_SRC1_REL(alu->src[1].rel) |
1716 S_SQ_ALU_WORD0_SRC1_CHAN(alu->src[1].chan) |
1717 S_SQ_ALU_WORD0_SRC1_NEG(alu->src[1].neg) |
1723 assert(!alu->src[0].abs && !alu->src[1].abs && !alu->src[2].abs);
1728 S_SQ_ALU_WORD1_OP3_SRC2_SEL(alu->src[2].sel) |
1729 S_SQ_ALU_WORD1_OP3_SRC2_REL(alu->src[2].rel) |
1730 S_SQ_ALU_WORD1_OP3_SRC2_CHAN(alu->src[2].chan) |
1731 S_SQ_ALU_WORD1_OP3_SRC2_NEG(alu->src[2].neg) |
1739 S_SQ_ALU_WORD1_OP2_SRC0_ABS(alu->src[0].abs) |
1740 S_SQ_ALU_WORD1_OP2_SRC1_ABS(alu->src[1].abs) |
2038 struct r600_bytecode_alu_src *src = &alu->src[idx];
2039 unsigned sel = src->sel, need_sel = 1, need_chan = 1, need_brackets = 0;
2041 if (src->neg)
2043 if (src->abs)
2060 o += fprintf(stderr, "C%d", src->kc_bank);
2080 o += fprintf(stderr, "LDS_A[0x%08X]", src->value);
2083 o += fprintf(stderr, "LDS_B[0x%08X]", src->value);
2124 o += fprintf(stderr, "[0x%08X %f]", src->value, u_bitcast_u2f(src->value));
2148 o += print_sel(sel, src->rel, alu->index_mode, need_brackets);
2152 o += print_swizzle(src->chan);
2155 if (src->abs)
2749 alu.src[0].sel = 0;
2750 alu.src[0].chan = 3;
2751 alu.src[1].sel = V_SQ_ALU_SRC_LITERAL;
2752 alu.src[1].value = (1ll << 32) / elements[i].instance_divisor + 1;
2766 alu.src[0].sel = 0;
2767 alu.src[0].chan = 3;
2768 alu.src[1].sel = V_SQ_ALU_SRC_LITERAL;
2769 alu.src[1].value = (1ll << 32) / elements[i].instance_divisor + 1;
2882 alu->src[0].sel = G_SQ_ALU_WORD0_SRC0_SEL(word0);
2883 alu->src[0].rel = G_SQ_ALU_WORD0_SRC0_REL(word0);
2884 alu->src[0].chan = G_SQ_ALU_WORD0_SRC0_CHAN(word0);
2885 alu->src[0].neg = G_SQ_ALU_WORD0_SRC0_NEG(word0);
2886 alu->src[1].sel = G_SQ_ALU_WORD0_SRC1_SEL(word0);
2887 alu->src[1].rel = G_SQ_ALU_WORD0_SRC1_REL(word0);
2888 alu->src[1].chan = G_SQ_ALU_WORD0_SRC1_CHAN(word0);
2889 alu->src[1].neg = G_SQ_ALU_WORD0_SRC1_NEG(word0);
2905 alu->src[2].sel = G_SQ_ALU_WORD1_OP3_SRC2_SEL(word1);
2906 alu->src[2].rel = G_SQ_ALU_WORD1_OP3_SRC2_REL(word1);
2907 alu->src[2].chan = G_SQ_ALU_WORD1_OP3_SRC2_CHAN(word1);
2908 alu->src[2].neg = G_SQ_ALU_WORD1_OP3_SRC2_NEG(word1);
2915 alu->src[0].abs = G_SQ_ALU_WORD1_OP2_SRC0_ABS(word1);
2916 alu->src[1].abs = G_SQ_ALU_WORD1_OP2_SRC1_ABS(word1);