Home
last modified time | relevance | path

Searched refs:opsel (Results 1 – 19 of 19) sorted by relevance

/third_party/mesa3d/src/amd/compiler/
Daco_print_ir.cpp571 if (vop3.opsel & (1 << 3)) in print_instr_format_specific()
668 bool* const opsel = (bool*)alloca(num_operands * sizeof(bool)); in aco_print_instr() local
673 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()
Daco_optimizer.cpp1084 !(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() local
2131 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 …]
Daco_opt_value_numbering.cpp176 return a3.clamp == b3.clamp && a3.omod == b3.omod && a3.opsel == b3.opsel; in operator ()()
Daco_ir.h812 constexpr uint16_t constantValue16(bool opsel) const noexcept in constantValue16() argument
815 if (opsel) { in constantValue16()
1417 uint8_t opsel : 4; member
1778 return vop3.opsel || vop3.clamp || vop3.omod; in usesModifiers()
Daco_lower_to_hw_instr.cpp658 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()
Daco_validate.cpp228 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()
Daco_ir.cpp337 if (vop3->clamp || vop3->omod || vop3->opsel) in can_use_DPP()
Daco_assembler.cpp623 encoding |= vop3.opsel << 11; in emit_instruction()
Daco_register_allocation.cpp546 instr->vop3().opsel |= 1 << idx; in add_subdword_operand()
691 instr->vop3().opsel |= (1 << 3); /* dst in high half */ in add_subdword_definition()
/third_party/mesa3d/docs/relnotes/
D22.2.3.rst79 - aco: Don't use opsel for p_insert.
D21.3.4.rst71 - aco: validate VOP3P opsel correctly
D20.2.0.rst3844 - aco: allow GFX9 partial writes with instructions which use opsel
3848 - aco: fix sub-dword opsel/sdwa checks
3849 - aco: fix validation of opsel when set for the definition
D19.3.0.rst2822 - aco: Assemble opsel in VOP3 instructions.
D20.1.0.rst3550 - aco: print and validate opsel
D22.0.0.rst852 - aco: validate VOP3P opsel correctly
D20.3.0.rst4112 - aco: don't allow destination opsel for v_cvt_pknorm
D22.2.0.rst5229 - aco: don't use opsel to fold constants into dot accumulation sources
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/AMDGPU/
DVOP3PInstructions.td19 // VOP3 neg/abs and VOP3P opsel/opsel_hi modifiers are allowed.
DVOP3Instructions.td808 // FIXME-GFX10-OPSEL: Need to add "selective" opsel support to some of these