Lines Matching full:definitions
561 if (instr->definitions.empty()) in pseudo_propagate_temp()
566 std::all_of(instr->definitions.begin(), instr->definitions.end(), in pseudo_propagate_temp()
575 std::none_of(instr->definitions.begin(), instr->definitions.end(), in pseudo_propagate_temp()
604 decrease -= instr->definitions.back().bytes(); in pseudo_propagate_temp()
605 instr->definitions.pop_back(); in pseudo_propagate_temp()
611 if (temp.regClass() == instr->definitions[0].regClass()) in pseudo_propagate_temp()
821 if (prevent_overflow && !add_instr->definitions[0].isNUW()) in parse_base_offset()
854 bool soe = smem->operands.size() >= (!smem->definitions.empty() ? 3 : 4); in skip_smem_offset_align()
899 bool soe = smem.operands.size() >= (!smem.definitions.empty() ? 3 : 4); in smem_combine()
908 smem.opcode, Format::SMEM, smem.operands.size() + 1, smem.definitions.size()); in smem_combine()
911 if (smem.definitions.empty()) in smem_combine()
914 if (!smem.definitions.empty()) in smem_combine()
915 new_instr->definitions[0] = smem.definitions[0]; in smem_combine()
1056 unsigned size = instr->definitions[0].bytes(); in parse_extract()
1061 assert(instr->operands[0].bytes() == 4 && instr->definitions[1].bytes() == 2); in parse_extract()
1170 mad->definitions[0] = instr->definitions[0]; in apply_extract()
1205 for (Definition& def : instr->definitions) { in apply_extract()
1658 if (instr->definitions.empty()) { in label_instruction()
1673 ctx.info[instr->definitions[0].tempId()].set_canonicalized(); in label_instruction()
1677 ctx.info[instr->definitions[0].tempId()].set_vopc(instr.get()); in label_instruction()
1682 ctx.info[instr->definitions[0].tempId()].set_vop3p(instr.get()); in label_instruction()
1690 instr->operands[0].regClass() == instr->definitions[0].regClass(); in label_instruction()
1692 ctx.info[instr->definitions[0].tempId()].set_temp(instr->operands[0].getTemp()); in label_instruction()
1715 Definition def = instr->definitions[0]; in label_instruction()
1724 instr->definitions[0] = def; in label_instruction()
1730 ctx.info[instr->definitions[0].tempId()].set_vec(instr.get()); in label_instruction()
1737 instr->operands[0].getTemp() == split->definitions[0].getTemp()) in label_instruction()
1738 ctx.info[instr->definitions[0].tempId()].set_temp(split->operands[0].getTemp()); in label_instruction()
1748 for (Definition def : instr->definitions) { in label_instruction()
1755 if (instr->definitions.size() == 2 && instr->operands[0].isTemp() && in label_instruction()
1756 instr->definitions[0].bytes() == instr->definitions[1].bytes()) { in label_instruction()
1757 ctx.info[instr->definitions[1].tempId()].set_split(instr.get()); in label_instruction()
1760 ctx.info[instr->definitions[0].tempId()].set_temp(instr->operands[0].getTemp()); in label_instruction()
1761 ctx.info[instr->definitions[1].tempId()].set_extract(instr.get()); in label_instruction()
1771 for (unsigned i = 0; i < instr->definitions.size(); in label_instruction()
1772 split_offset += instr->definitions[i++].bytes()) { in label_instruction()
1777 vec->operands[vec_index].bytes() != instr->definitions[i].bytes()) in label_instruction()
1782 ctx.info[instr->definitions[i].tempId()].set_constant(ctx.program->gfx_level, in label_instruction()
1785 ctx.info[instr->definitions[i].tempId()].set_undefined(); in label_instruction()
1788 ctx.info[instr->definitions[i].tempId()].set_temp(vec_op.getTemp()); in label_instruction()
1796 const unsigned dst_offset = index * instr->definitions[0].bytes(); in label_instruction()
1807 } else if (offset != dst_offset || op.bytes() != instr->definitions[0].bytes()) { in label_instruction()
1815 uint32_t mask = u_bit_consecutive(0, instr->definitions[0].bytes() * 8u); in label_instruction()
1818 Operand::get_const(ctx.program->gfx_level, val, instr->definitions[0].bytes()); in label_instruction()
1822 if (instr->operands[0].bytes() != instr->definitions[0].bytes()) { in label_instruction()
1827 ctx.info[instr->definitions[0].tempId()].set_temp(instr->operands[0].getTemp()); in label_instruction()
1829 ctx.info[instr->definitions[0].tempId()].set_extract(instr.get()); in label_instruction()
1840 instr->operands[0].regClass() != instr->definitions[0].regClass()) { in label_instruction()
1849 instr->definitions[0] = old_copy->definitions[0]; in label_instruction()
1854 ctx.info[op.tempId()].temp.type() == instr->definitions[0].regClass().type()) in label_instruction()
1857 ctx.info[instr->definitions[0].tempId()].set_vec(instr.get()); in label_instruction()
1862 if (instr->definitions[0].isFixed()) { in label_instruction()
1865 ctx.info[instr->definitions[0].tempId()].set_constant( in label_instruction()
1868 ctx.info[instr->definitions[0].tempId()].set_temp(instr->operands[0].getTemp()); in label_instruction()
1870 ctx.info[instr->definitions[0].tempId()].set_canonicalized(); in label_instruction()
1879 ctx.info[instr->definitions[0].tempId()].set_dpp16(instr.get()); in label_instruction()
1881 ctx.info[instr->definitions[0].tempId()].set_dpp8(instr.get()); in label_instruction()
1886 ctx.info[instr->definitions[0].tempId()].set_constant(ctx.program->gfx_level, 0u); in label_instruction()
1888 case aco_opcode::v_mul_f64: ctx.info[instr->definitions[0].tempId()].set_mul(instr.get()); break; in label_instruction()
1892 ctx.info[instr->definitions[0].tempId()].set_mul(instr.get()); in label_instruction()
1920 ctx.info[instr->definitions[0].tempId()].set_neg_abs(other); in label_instruction()
1922 ctx.info[instr->definitions[0].tempId()].set_abs(other); in label_instruction()
1924 ctx.info[instr->definitions[0].tempId()].set_neg(other); in label_instruction()
1926 ctx.info[instr->definitions[0].tempId()].set_fcanonicalize(other); in label_instruction()
1932 ctx.info[instr->definitions[0].tempId()].set_constant(ctx.program->gfx_level, 0u); in label_instruction()
1956 ctx.info[instr->definitions[0].tempId()].set_usedef(instr.get()); in label_instruction()
1967 ctx.info[instr->definitions[0].tempId()].set_vcc(instr->operands[2].getTemp()); in label_instruction()
1970 ctx.info[instr->definitions[0].tempId()].set_b2f(instr->operands[2].getTemp()); in label_instruction()
1972 ctx.info[instr->definitions[0].tempId()].set_b2i(instr->operands[2].getTemp()); in label_instruction()
1979 ctx.info[instr->definitions[0].tempId()].set_temp( in label_instruction()
1987 all_same_temp = instr->definitions[0].regClass() == instr->operands[0].regClass(); in label_instruction()
1994 ctx.info[instr->definitions[0].tempId()].set_temp(instr->operands[0].getTemp()); in label_instruction()
2002 ctx.info[instr->definitions[0].tempId()].set_undefined(); in label_instruction()
2021 ctx.info[instr->definitions[0].tempId()].set_add_sub(instr.get()); in label_instruction()
2027 ctx.info[instr->definitions[0].tempId()].set_uniform_bitwise(); in label_instruction()
2028 ctx.info[instr->definitions[1].tempId()].set_scc_invert( in label_instruction()
2031 ctx.info[instr->definitions[0].tempId()].set_uniform_bitwise(); in label_instruction()
2032 ctx.info[instr->definitions[1].tempId()].set_scc_invert( in label_instruction()
2033 ctx.info[instr->operands[0].tempId()].instr->definitions[1].getTemp()); in label_instruction()
2035 ctx.info[instr->definitions[0].tempId()].set_bitwise(instr.get()); in label_instruction()
2043 ctx.info[instr->definitions[1].tempId()].set_temp( in label_instruction()
2045 ctx.info[instr->definitions[0].tempId()].set_uniform_bool( in label_instruction()
2051 ctx.info[instr->definitions[1].tempId()].set_temp( in label_instruction()
2052 ctx.info[instr->operands[0].tempId()].instr->definitions[1].getTemp()); in label_instruction()
2053 ctx.info[instr->definitions[0].tempId()].set_uniform_bool( in label_instruction()
2054 ctx.info[instr->operands[0].tempId()].instr->definitions[1].getTemp()); in label_instruction()
2061 ctx.info[instr->definitions[0].tempId()].set_temp(instr->operands[0].getTemp()); in label_instruction()
2076 ctx.info[instr->definitions[0].tempId()].set_uniform_bitwise(); in label_instruction()
2078 ctx.info[instr->definitions[0].tempId()].set_bitwise(instr.get()); in label_instruction()
2087 ctx.info[instr->definitions[0].tempId()].set_usedef(instr.get()); in label_instruction()
2105 ctx.info[instr->definitions[0].tempId()].set_minmax(instr.get()); in label_instruction()
2111 ctx.info[instr->definitions[0].tempId()].set_uniform_bool(instr->operands[2].getTemp()); in label_instruction()
2123 ctx.info[instr->definitions[0].tempId()].set_canonicalized(); in label_instruction()
2126 if (instr->definitions[0].bytes() == 4) { in label_instruction()
2127 ctx.info[instr->definitions[0].tempId()].set_extract(instr.get()); in label_instruction()
2138 ctx.info[instr->definitions[0].tempId()].set_extract(instr.get()); in label_instruction()
2139 ctx.info[instr->definitions[0].tempId()].set_bitwise(instr.get()); in label_instruction()
2147 ctx.info[instr->definitions[0].tempId()].set_usedef(instr.get()); in label_instruction()
2153 ctx.info[instr->definitions[0].tempId()].set_subgroup_invocation(instr.get()); in label_instruction()
2155 ctx.info[instr->definitions[0].tempId()].set_usedef(instr.get()); in label_instruction()
2167 ctx.info[instr->definitions[0].tempId()].set_subgroup_invocation(instr.get()); in label_instruction()
2178 ctx.info[instr->definitions[0].tempId()].set_f2f32(instr.get()); in label_instruction()
2186 if (!(ctx.info[instr->definitions[0].tempId()].label & (label_neg | label_abs))) in label_instruction()
2213 ctx.uses[instr->definitions[0].tempId()]--; in decrease_uses()
2235 if (instr->definitions.size() == 2) { in follow_operand()
2236 assert(instr->definitions[0].isTemp() && instr->definitions[0].tempId() == op.tempId()); in follow_operand()
2237 if (instr->definitions[1].isTemp() && ctx.uses[instr->definitions[1].tempId()]) in follow_operand()
2254 if (instr->definitions[0].regClass() != ctx.program->lane_mask) in combine_ordering_test()
2256 if (instr->definitions[1].isTemp() && ctx.uses[instr->definitions[1].tempId()]) in combine_ordering_test()
2320 new_instr->definitions[0] = instr->definitions[0]; in combine_ordering_test()
2326 ctx.info[instr->definitions[0].tempId()].label = 0; in combine_ordering_test()
2327 ctx.info[instr->definitions[0].tempId()].set_vopc(new_instr); in combine_ordering_test()
2339 if (instr->definitions[0].regClass() != ctx.program->lane_mask) in combine_comparison_ordering()
2341 if (instr->definitions[1].isTemp() && ctx.uses[instr->definitions[1].tempId()]) in combine_comparison_ordering()
2392 new_instr->definitions[0] = instr->definitions[0]; in combine_comparison_ordering()
2398 ctx.info[instr->definitions[0].tempId()].label = 0; in combine_comparison_ordering()
2399 ctx.info[instr->definitions[0].tempId()].set_vopc(new_instr); in combine_comparison_ordering()
2480 cpy->definitions[0] = instr->definitions[0]; in optimize_cmp_subgroup_invocation()
2481 ctx.info[instr->definitions[0].tempId()].label = 0; in optimize_cmp_subgroup_invocation()
2520 if (instr->definitions[0].regClass() != ctx.program->lane_mask) in combine_constant_comparison_ordering()
2522 if (instr->definitions[1].isTemp() && ctx.uses[instr->definitions[1].tempId()]) in combine_constant_comparison_ordering()
2585 new_instr->definitions[0] = instr->definitions[0]; in combine_constant_comparison_ordering()
2591 ctx.info[instr->definitions[0].tempId()].label = 0; in combine_constant_comparison_ordering()
2592 ctx.info[instr->definitions[0].tempId()].set_vopc(new_instr); in combine_constant_comparison_ordering()
2603 if (ctx.uses[instr->definitions[1].tempId()]) in combine_inverse_comparison()
2618 ctx.info[instr->definitions[0].tempId()] = ctx.info[cmp->definitions[0].tempId()]; in combine_inverse_comparison()
2619 std::swap(instr->definitions[0], cmp->definitions[0]); in combine_inverse_comparison()
2672 *precise = op1_instr->definitions[0].isPrecise() || op2_instr->definitions[0].isPrecise(); in match_op3_for_vop3()
2712 new_instr->definitions[0] = instr->definitions[0]; in create_vop3_for_op3()
2714 ctx.info[instr->definitions[0].tempId()].label = 0; in create_vop3_for_op3()
2853 std::swap(instr->definitions[0], op_instr->definitions[0]); in combine_not_xor()
2934 if (instr->definitions[1].isTemp() && ctx.uses[instr->definitions[1].tempId()]) in combine_salu_not_bitwise()
2951 std::swap(instr->definitions[0], op2_instr->definitions[0]); in combine_salu_not_bitwise()
2952 std::swap(instr->definitions[1], op2_instr->definitions[1]); in combine_salu_not_bitwise()
2954 ctx.info[op2_instr->definitions[0].tempId()].label = 0; in combine_salu_not_bitwise()
2976 if (instr->definitions[0].isTemp() && ctx.info[instr->definitions[0].tempId()].is_uniform_bool()) in combine_salu_n2()
2984 if (ctx.uses[op2_instr->definitions[1].tempId()]) in combine_salu_n2()
2994 ctx.info[instr->definitions[0].tempId()].label = 0; in combine_salu_n2()
3013 if (instr->opcode == aco_opcode::s_add_i32 && ctx.uses[instr->definitions[1].tempId()]) in combine_salu_lshl_add()
3019 ctx.uses[op2_instr->definitions[1].tempId()]) in combine_salu_lshl_add()
3035 ctx.info[instr->definitions[0].tempId()].label = 0; in combine_salu_lshl_add()
3077 std::swap(instr->definitions[0], op_instr->definitions[0]); in combine_sabsdiff()
3078 std::swap(instr->definitions[1], op_instr->definitions[1]); in combine_sabsdiff()
3108 new_instr->definitions[0] = instr->definitions[0]; in combine_add_sub_b2i()
3109 if (instr->definitions.size() == 2) { in combine_add_sub_b2i()
3110 new_instr->definitions[1] = instr->definitions[1]; in combine_add_sub_b2i()
3112 new_instr->definitions[1] = in combine_add_sub_b2i()
3124 ctx.info[instr->definitions[0].tempId()].set_add_sub(instr.get()); in combine_add_sub_b2i()
3149 new_instr->definitions[0] = instr->definitions[0]; in combine_add_bcnt()
3152 ctx.info[instr->definitions[0].tempId()].label = 0; in combine_add_bcnt()
3462 if (instr->definitions.empty() || ctx.uses[instr->definitions[0].tempId()] != 1 || in apply_omod_clamp()
3478 ssa_info& def_info = ctx.info[instr->definitions[0].tempId()]; in apply_omod_clamp()
3485 if (!ctx.uses[def_info.instr->definitions[0].tempId()]) in apply_omod_clamp()
3488 if (def_info.instr->definitions[0].bytes() != instr->definitions[0].bytes()) in apply_omod_clamp()
3492 assert(!ctx.info[instr->definitions[0].tempId()].is_mad()); in apply_omod_clamp()
3512 instr->definitions[0].swapTemp(def_info.instr->definitions[0]); in apply_omod_clamp()
3513 ctx.info[instr->definitions[0].tempId()].label &= label_clamp | label_insert | label_f2f16; in apply_omod_clamp()
3514 ctx.uses[def_info.instr->definitions[0].tempId()]--; in apply_omod_clamp()
3525 if (instr->definitions.empty() || ctx.uses[instr->definitions[0].tempId()] != 1) in apply_insert()
3528 ssa_info& def_info = ctx.info[instr->definitions[0].tempId()]; in apply_insert()
3533 if (!ctx.uses[def_info.instr->definitions[0].tempId()]) in apply_insert()
3537 assert(!ctx.info[instr->definitions[0].tempId()].is_mad()); in apply_insert()
3550 instr->definitions[0].swapTemp(def_info.instr->definitions[0]); in apply_insert()
3551 ctx.info[instr->definitions[0].tempId()].label = 0; in apply_insert()
3552 ctx.uses[def_info.instr->definitions[0].tempId()]--; in apply_insert()
3576 unsigned dst_bitsize = extract->definitions[0].bytes() * 8u; in apply_ds_extract()
3602 std::swap(ds->definitions[0], extract->definitions[0]); in apply_ds_extract()
3603 ctx.uses[extract->definitions[0].tempId()] = 0; in apply_ds_extract()
3604 ctx.info[ds->definitions[0].tempId()].label = 0; in apply_ds_extract()
3637 new_instr->definitions[0] = instr->definitions[0]; in combine_and_subbrev()
3641 ctx.info[instr->definitions[0].tempId()].label = 0; in combine_and_subbrev()
3683 new_instr->definitions[0] = instr->definitions[0]; in combine_v_andor_not()
3687 ctx.info[instr->definitions[0].tempId()].label = 0; in combine_v_andor_not()
3751 new_instr->definitions[0] = instr->definitions[0]; in combine_add_lshl()
3754 ctx.info[instr->definitions[0].tempId()].label = 0; in combine_add_lshl()
3796 instr->definitions[0].swapTemp(candidate->definitions[0]); in combine_vop3p()
3797 ctx.info[candidate->definitions[0].tempId()].instr = candidate; in combine_vop3p()
3798 ctx.uses[instr->definitions[0].tempId()]--; in combine_vop3p()
3847 if (--ctx.uses[fneg->definitions[0].tempId()]) in combine_vop3p()
3854 if (fadd && instr->definitions[0].isPrecise()) in combine_vop3p()
3871 op_instr->definitions[0].isPrecise()) in combine_vop3p()
3895 op_instr->definitions[0].isPrecise())) || in combine_vop3p()
3948 fma->definitions[0] = instr->definitions[0]; in combine_vop3p()
3951 ctx.info[instr->definitions[0].tempId()].set_vop3p(instr.get()); in combine_vop3p()
3976 return ctx.program->dev.fused_mad_mix || !instr->definitions[0].isPrecise(); in can_use_mad_mix()
3986 ctx.info[instr->definitions[0].tempId()].label &= label_f2f16 | label_clamp | label_mul; in to_mad_mix()
4014 vop3p->definitions[0] = instr->definitions[0]; in to_mad_mix()
4019 if (ctx.info[instr->definitions[0].tempId()].label & label_mul) in to_mad_mix()
4020 ctx.info[instr->definitions[0].tempId()].instr = instr.get(); in to_mad_mix()
4026 ssa_info& def_info = ctx.info[instr->definitions[0].tempId()]; in combine_output_conversion()
4031 if (!ctx.uses[conv->definitions[0].tempId()] || ctx.uses[instr->definitions[0].tempId()] != 1) in combine_output_conversion()
4047 instr->definitions[0].swapTemp(conv->definitions[0]); in combine_output_conversion()
4048 if (conv->definitions[0].isPrecise()) in combine_output_conversion()
4049 instr->definitions[0].setPrecise(true); in combine_output_conversion()
4050 ctx.info[instr->definitions[0].tempId()].label &= label_clamp; in combine_output_conversion()
4051 ctx.uses[conv->definitions[0].tempId()]--; in combine_output_conversion()
4103 if (conv->definitions[0].isPrecise()) in combine_mad_mix()
4104 instr->definitions[0].setPrecise(true); in combine_mad_mix()
4152 if (instr->definitions.empty() || is_dead(ctx.uses, instr.get())) in combine_instruction()
4226 if ((ctx.info[instr->definitions[0].tempId()].label & (label_neg | label_abs)) && in combine_instruction()
4228 Temp val = ctx.info[instr->definitions[0].tempId()].temp; in combine_instruction()
4244 if (mul_instr->definitions[0].bytes() != instr->definitions[0].bytes()) in combine_instruction()
4248 ctx.uses[mul_instr->definitions[0].tempId()]--; in combine_instruction()
4249 Definition def = instr->definitions[0]; in combine_instruction()
4250 bool is_neg = ctx.info[instr->definitions[0].tempId()].is_neg(); in combine_instruction()
4251 bool is_abs = ctx.info[instr->definitions[0].tempId()].is_abs(); in combine_instruction()
4258 instr->definitions[0] = def; in combine_instruction()
4274 ctx.info[instr->definitions[0].tempId()].set_mul(instr.get()); in combine_instruction()
4311 if (is_add_mix && info.instr->definitions[0].bytes() == 2) in combine_instruction()
4314 if (get_operand_size(instr, i) != info.instr->definitions[0].bytes() * 8) in combine_instruction()
4334 (!(info.instr->definitions[0].isPrecise() || instr->definitions[0].isPrecise()) || in combine_instruction()
4351 unsigned cur_idx = mul_instr->definitions[0].tempId(); in combine_instruction()
4352 unsigned new_idx = info.instr->definitions[0].tempId(); in combine_instruction()
4367 ctx.uses[mul_instr->definitions[0].tempId()]--; in combine_instruction()
4368 if (ctx.uses[mul_instr->definitions[0].tempId()]) { in combine_instruction()
4424 aco_opcode mad_op = add_instr->definitions[0].bytes() == 2 ? aco_opcode::v_fma_mixlo_f16 in combine_instruction()
4457 mad->definitions[0] = add_instr->definitions[0]; in combine_instruction()
4458 mad->definitions[0].setPrecise(add_instr->definitions[0].isPrecise() || in combine_instruction()
4459 mul_instr->definitions[0].isPrecise()); in combine_instruction()
4465 ctx.mad_infos.emplace_back(std::move(add_instr), mul_instr->definitions[0].tempId()); in combine_instruction()
4466 ctx.info[instr->definitions[0].tempId()].set_mad(ctx.mad_infos.size() - 1); in combine_instruction()
4487 new_instr->definitions[0] = instr->definitions[0]; in combine_instruction()
4490 ctx.info[instr->definitions[0].tempId()].label = 0; in combine_instruction()
4540 bool carry_out = ctx.uses[instr->definitions[1].tempId()] > 0; in combine_instruction()
4550 instr->opcode != aco_opcode::v_sub_u32 && ctx.uses[instr->definitions[1].tempId()] > 0; in combine_instruction()
4586 ctx.info[instr->definitions[0].tempId()].set_mad(ctx.mad_infos.size() - 1); in combine_instruction()
4654 assert(pred_instr->definitions.size() >= 2); in to_uniform_bool_instr()
4655 assert(pred_instr->definitions[1].isFixed() && in to_uniform_bool_instr()
4656 pred_instr->definitions[1].physReg() == scc); in to_uniform_bool_instr()
4657 op.setTemp(pred_instr->definitions[1].getTemp()); in to_uniform_bool_instr()
4665 instr->definitions[0].setTemp(Temp(instr->definitions[0].tempId(), s1)); in to_uniform_bool_instr()
4686 for (unsigned i = 0, offset = 0; i < instr->definitions.size(); in select_instruction()
4687 offset += instr->definitions[i++].bytes()) { in select_instruction()
4688 if (ctx.uses[instr->definitions[i].tempId()]) { in select_instruction()
4708 if (off != instr->operands[0].bytes() && op.bytes() == instr->definitions[idx].bytes()) { in select_instruction()
4720 extract->definitions[0] = instr->definitions[idx]; in select_instruction()
4728 instr->operands[0].bytes() % instr->definitions[idx].bytes() == 0 && in select_instruction()
4729 split_offset % instr->definitions[idx].bytes() == 0) { in select_instruction()
4734 Operand::c32((uint32_t)split_offset / instr->definitions[idx].bytes()); in select_instruction()
4735 extract->definitions[0] = instr->definitions[idx]; in select_instruction()
4741 if (!instr->definitions.empty() && ctx.info[instr->definitions[0].tempId()].is_mad()) { in select_instruction()
4742 mad_info = &ctx.mad_infos[ctx.info[instr->definitions[0].tempId()].val]; in select_instruction()
4824 (instr->opcode == aco_opcode::v_mad_f32 && !instr->definitions[0].isPrecise())) && in select_instruction()
4850 /* Mark SCC needed, so the uniform boolean transformation won't swap the definitions in select_instruction()
4867 if (instr->definitions.size() && ctx.uses[instr->definitions[0].tempId()] == 0 && in select_instruction()
4868 ctx.info[instr->definitions[0].tempId()].is_uniform_bitwise()) { in select_instruction()
4871 if (transform_done && !ctx.info[instr->definitions[1].tempId()].is_scc_needed()) { in select_instruction()
4874 uint32_t def0_id = instr->definitions[0].getTemp().id(); in select_instruction()
4875 uint32_t def1_id = instr->definitions[1].getTemp().id(); in select_instruction()
4876 instr->definitions[0].setTemp(Temp(def1_id, s1)); in select_instruction()
4877 instr->definitions[1].setTemp(Temp(def0_id, s1)); in select_instruction()
4889 ctx.uses[instr->definitions[1].tempId()] == 0 && in select_instruction()
4892 ctx.info[instr->operands[0].tempId()].instr->definitions[0].setTemp( in select_instruction()
4893 instr->definitions[0].getTemp()); in select_instruction()
4950 if (--ctx.uses[info.instr->definitions[0].tempId()]) in select_instruction()
4966 fma->definitions[0] = instr->definitions[0]; in select_instruction()
4979 ctx.info[instr->definitions[0].tempId()].label = 0; in select_instruction()
5209 if (!instr->definitions.empty() && ctx.info[instr->definitions[0].tempId()].is_mad()) { in apply_literals()
5210 mad_info* info = &ctx.mad_infos[ctx.info[instr->definitions[0].tempId()].val]; in apply_literals()
5288 if (instr->opcode == aco_opcode::s_add_u32 && ctx.uses[instr->definitions[1].tempId()] == 0 && in apply_literals()