Searched refs:opsel (Results 1 – 19 of 19) sorted by relevance
571 if (vop3.opsel & (1 << 3)) in print_instr_format_specific()668 bool* const opsel = (bool*)alloca(num_operands * sizeof(bool)); in aco_print_instr() local673 opsel[i] = false; in aco_print_instr()684 opsel[i] = vop3.opsel & (1 << i); in aco_print_instr()691 opsel[i] = false; in aco_print_instr()698 opsel[i] = false; in aco_print_instr()706 opsel[i] = f2f32[i] && (vop3p.opsel_lo & (1 << i)); in aco_print_instr()719 if (opsel[i]) in aco_print_instr()724 if (f2f32[i] || opsel[i]) in aco_print_instr()
1084 !(instr->vop3().opsel & (1 << idx))) { in can_apply_extract()1139 instr->vop3().opsel |= 1 << idx; in apply_extract()1828 vop3.omod != 0 || vop3.opsel != 0) in label_instruction()2109 uint8_t opsel = 0; in combine_ordering_test() local2131 if (vop3.neg[0] != vop3.neg[1] || vop3.abs[0] != vop3.abs[1] || vop3.opsel == 1 || in combine_ordering_test()2132 vop3.opsel == 2) in combine_ordering_test()2136 opsel |= (vop3.opsel & 1) << i; in combine_ordering_test()2168 if (neg[0] || neg[1] || abs[0] || abs[1] || opsel || num_sgprs > 1) { in combine_ordering_test()2175 vop3->opsel = opsel; in combine_ordering_test()2249 new_vop3->opsel = cmp_vop3.opsel; in combine_comparison_ordering()[all …]
176 return a3.clamp == b3.clamp && a3.omod == b3.omod && a3.opsel == b3.opsel; in operator ()()
812 constexpr uint16_t constantValue16(bool opsel) const noexcept in constantValue16() argument815 if (opsel) { in constantValue16()1417 uint8_t opsel : 4; member1778 return vop3.opsel || vop3.clamp || vop3.omod; in usesModifiers()
658 perm->vop3().opsel = 1; /* FI (Fetch Inactive) */ in emit_reduction()792 perm->vop3().opsel = 1; /* FI (Fetch Inactive) */ in emit_reduction()1119 instr->vop3().opsel = 0; in copy_constant()1124 instr->vop3().opsel = 2; in copy_constant()1200 instr->vop3().opsel |= 0x1; in addsub_subdword_gfx11()1202 instr->vop3().opsel |= 0x2; in addsub_subdword_gfx11()1204 instr->vop3().opsel |= 0x8; in addsub_subdword_gfx11()1448 instr->vop3().opsel = hi.physReg().byte() | (lo.physReg().byte() >> 1); in do_pack_2x16()
228 check(vop3.opsel == 0 || program->gfx_level >= GFX9, "Opsel is only supported on GFX9+", in validate_ir()235 check((vop3.opsel & (1 << i)) == 0, "Unexpected opsel for operand", instr.get()); in validate_ir()238 check((vop3.opsel & (1 << 3)) == 0, "Unexpected opsel for sub-dword definition", in validate_ir()
337 if (vop3->clamp || vop3->omod || vop3->opsel) in can_use_DPP()
623 encoding |= vop3.opsel << 11; in emit_instruction()
546 instr->vop3().opsel |= 1 << idx; in add_subdword_operand()691 instr->vop3().opsel |= (1 << 3); /* dst in high half */ in add_subdword_definition()
79 - aco: Don't use opsel for p_insert.
71 - aco: validate VOP3P opsel correctly
3844 - aco: allow GFX9 partial writes with instructions which use opsel3848 - aco: fix sub-dword opsel/sdwa checks3849 - aco: fix validation of opsel when set for the definition
2822 - aco: Assemble opsel in VOP3 instructions.
3550 - aco: print and validate opsel
852 - aco: validate VOP3P opsel correctly
4112 - aco: don't allow destination opsel for v_cvt_pknorm
5229 - aco: don't use opsel to fold constants into dot accumulation sources
19 // VOP3 neg/abs and VOP3P opsel/opsel_hi modifiers are allowed.
808 // FIXME-GFX10-OPSEL: Need to add "selective" opsel support to some of these