Home
last modified time | relevance | path

Searched refs:opsel (Results 1 - 9 of 9) sorted by relevance

/third_party/mesa3d/src/amd/compiler/
H A 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[ in aco_print_instr()
[all...]
H A Daco_optimizer.cpp932 /* The accumulation operand of dot product instructions ignores opsel. */ in propagate_constants_vop3p()
973 /* opsel must point the same for both halves */ in propagate_constants_vop3p()
980 /* opsel must point the same for both halves */ in propagate_constants_vop3p()
987 /* redirect opsel selection */ in propagate_constants_vop3p()
994 /* redirect opsel selection */ in propagate_constants_vop3p()
1009 /* opsel must point to lo for both operands */ in propagate_constants_vop3p()
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 in combine_ordering_test() local
2473 match_op3_for_vop3(opt_ctx& ctx, aco_opcode op1, aco_opcode op2, Instruction* op1_instr, bool swap, const char* shuffle_str, Operand operands[3], bool neg[3], bool abs[3], uint8_t* opsel, bool* op1_clamp, uint8_t* op1_omod, bool* inbetween_neg, bool* inbetween_abs, bool* inbetween_opsel, bool* precise) match_op3_for_vop3() argument
2548 create_vop3_for_op3(opt_ctx& ctx, aco_opcode opcode, aco_ptr<Instruction>& instr, Operand operands[3], bool neg[3], bool abs[3], uint8_t opsel, bool clamp, unsigned omod) create_vop3_for_op3() argument
2577 uint8_t opsel = 0, omod = 0; combine_three_valu_op() local
2645 uint8_t opsel = 0, omod = 0; combine_add_or_then_and_lshl() local
2670 uint8_t opsel = 0, omod = 0; combine_minmax() local
2945 uint8_t opsel = 0, omod = 0; combine_clamp() local
[all...]
H A Daco_opt_value_numbering.cpp176 return a3.clamp == b3.clamp && a3.omod == b3.omod && a3.opsel == b3.opsel; in operator ()()
H A 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()
1447 /* opsel: 0 = select low half, 1 = select high half. [0] = src0, [1] = src1 */ in do_pack_2x16()
1448 instr->vop3().opsel = hi.physReg().byte() | (lo.physReg().byte() >> 1); in do_pack_2x16()
H A Daco_ir.h811 /* Value if this were used with vop3/opsel or vop3p. */
812 constexpr uint16_t constantValue16(bool opsel) const noexcept
815 if (opsel) {
1417 uint8_t opsel : 4; member
1778 return vop3.opsel || vop3.clamp || vop3.omod;
H A Daco_validate.cpp225 /* check opsel */ in validate_ir()
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()
252 "Unexpected opsel for subdword operand", instr.get()); in validate_ir()
H A Daco_assembler.cpp623 encoding |= vop3.opsel << 11; in emit_instruction()
H A Daco_ir.cpp337 if (vop3->clamp || vop3->omod || vop3->opsel) in can_use_DPP()
405 /* opsel is only GFX9+ */ in can_use_opsel()
500 /* on GFX10, all opsel instructions preserve the high bits */ in instr_is_16bit()
H A Daco_register_allocation.cpp543 /* check if we can use opsel */ in add_subdword_operand()
546 instr->vop3().opsel |= 1 << idx; in add_subdword_operand()
687 /* check if we can use opsel */ in add_subdword_definition()
691 instr->vop3().opsel |= (1 << 3); /* dst in high half */ in add_subdword_definition()

Completed in 23 milliseconds