Lines Matching refs:slots

358 	unsigned slots = r600_isa_alu_slots(bc->isa->hw_class, alu->op);
359 return !(slots & AF_S);
364 unsigned slots = r600_isa_alu_slots(bc->isa->hw_class, alu->op);
365 return !(slots & AF_V);
371 unsigned slots = r600_isa_alu_slots(bc->isa->hw_class, alu->op);
372 return slots == AF_VS;
589 struct r600_bytecode_alu *slots[5])
599 if (slots[i]) {
600 if (slots[i]->bank_swizzle_force) {
601 slots[i]->bank_swizzle = slots[i]->bank_swizzle_force;
607 if (i < 4 && slots[i])
616 if (!slots[i] || !slots[i]->bank_swizzle_force || slots[i]->is_lds_idx_op)
619 bank_swizzle[i] = slots[i]->bank_swizzle;
627 if (slots[i]) {
628 r = check_vector(bc, slots[i], &bs, bank_swizzle[i]);
636 if (!r && max_slots == 5 && slots[4]) {
637 r = check_scalar(bc, slots[4], &bs, bank_swizzle[4]);
641 if (slots[i])
642 slots[i]->bank_swizzle = bank_swizzle[i];
651 if (!slots[i] || (!slots[i]->bank_swizzle_force && !slots[i]->is_lds_idx_op)) {
669 struct r600_bytecode_alu *slots[5], struct r600_bytecode_alu *alu_prev)
699 struct r600_bytecode_alu *alu = slots[i];
805 static int merge_inst_groups(struct r600_bytecode *bc, struct r600_bytecode_alu *slots[5],
839 if (slots[i]) {
840 if (slots[i]->pred_sel)
842 if (is_alu_once_inst(slots[i]))
844 if (slots[i]->op == ALU_OP1_INTERP_LOAD_P0)
846 if (slots[i]->op == ALU_OP2_INTERP_X)
848 if (slots[i]->op == ALU_OP2_INTERP_Z)
884 if (slots[i] && r600_bytecode_alu_nliterals(slots[i], literal, &nliteral))
887 /* Let's check used slots. */
888 if (prev[i] && !slots[i]) {
891 } else if (prev[i] && slots[i]) {
892 if (max_slots == 5 && result[4] == NULL && prev[4] == NULL && slots[4] == NULL) {
894 if (is_alu_any_unit_inst(bc, slots[i]) && !alu_uses_lds(slots[i])) {
896 result[4] = slots[i];
898 if (slots[i]->dst.sel == prev[i]->dst.sel &&
899 alu_writes(slots[i]) &&
903 result[i] = slots[i];
909 } else if(!slots[i]) {
912 if (max_slots == 5 && slots[i] && prev[4] &&
913 slots[i]->dst.sel == prev[4]->dst.sel &&
914 slots[i]->dst.chan == prev[4]->dst.chan &&
915 alu_writes(slots[i]) &&
919 result[i] = slots[i];
922 alu = slots[i];
984 slots[i] = result[i];
1349 struct r600_bytecode_alu *slots[5];
1351 r = assign_alu_units(bc, bc->cf_last->curr_bs_head, slots);
1357 r = merge_inst_groups(bc, slots, cur_prev_head);
1365 r = replace_gpr_with_pv_ps(bc, slots, bc->cf_last->prev_bs_head);
1370 r = check_and_set_bank_swizzle(bc, slots);
1375 if (slots[i]) {
1376 r = r600_bytecode_alu_nliterals(slots[i], literal, &nliteral);
1383 /* at most 128 slots, one add alu can add 5 slots + 4 constants(2 slots)
1397 if (slots[i] && slots[i]->dst.rel) {