| /xsrc/external/mit/MesaLib/dist/src/amd/compiler/tests/ |
| H A D | test_sdwa.cpp | 29 BEGIN_TEST(validate.sdwa.allow) 37 SDWA_instruction *sdwa = &bld.vop2_sdwa(aco_opcode::v_mul_f32, bld.def(v1), inputs[0], inputs[1]).instr->sdwa(); variable in typeref:typename:SDWA_instruction * 38 sdwa->neg[0] = sdwa->neg[1] = sdwa->abs[0] = sdwa->abs[1] = true; 40 sdwa = &bld.vop2_sdwa(aco_opcode::v_mul_f32, bld.def(v1b), inputs[0], inputs[1]).instr->sdwa(); 42 sdwa [all...] |
| /xsrc/external/mit/MesaLib/dist/src/amd/compiler/ |
| H A D | aco_validate.cpp | 157 SDWA_instruction& sdwa = instr->sdwa(); local in function:aco::validate_ir 158 check(sdwa.omod == 0 || program->chip_class >= GFX9, 161 check(sdwa.clamp == false || program->chip_class == GFX8, 170 check(def.bytes() >= sdwa.dst_sel.size() + sdwa.dst_sel.offset(), 173 sdwa.dst_sel.size() == 1 || sdwa.dst_sel.size() == 2 || sdwa.dst_sel.size() == 4, 175 check(sdwa [all...] |
| H A D | aco_print_ir.cpp | 606 const SDWA_instruction& sdwa = instr->sdwa(); local in function:aco::print_instr_format_specific 607 switch (sdwa.omod) { 612 if (sdwa.clamp) 615 char sext = sdwa.dst_sel.sign_extend() ? 's' : 'u'; 616 unsigned offset = sdwa.dst_sel.offset(); 619 switch (sdwa.dst_sel.size()) { 629 char sext = sdwa.sel[i].sign_extend() ? 's' : 'u'; 630 unsigned offset = sdwa.sel[i].offset(); 633 switch (sdwa 679 const SDWA_instruction& sdwa = instr->sdwa(); local in function:aco::aco_print_instr [all...] |
| H A D | aco_assembler.cpp | 692 SDWA_instruction& sdwa = instr->sdwa(); local in function:aco::emit_instruction 707 encoding |= (sdwa.clamp ? 1 : 0) << 13; 709 encoding |= sdwa.dst_sel.to_sdwa_sel(instr->definitions[0].physReg().byte()) << 8; 710 uint32_t dst_u = sdwa.dst_sel.sign_extend() ? 1 : 0; 714 encoding |= (sdwa.clamp ? 1 : 0) << 13; 715 encoding |= sdwa.omod << 14; 718 encoding |= sdwa.sel[0].to_sdwa_sel(sdwa_op.physReg().byte()) << 16; 719 encoding |= sdwa.sel[0].sign_extend() ? 1 << 19 : 0; 720 encoding |= sdwa [all...] |
| H A D | aco_ir.cpp | 264 SDWA_instruction& sdwa = instr->sdwa(); local in function:aco::convert_to_SDWA 268 memcpy(sdwa.neg, vop3.neg, sizeof(sdwa.neg)); 269 memcpy(sdwa.abs, vop3.abs, sizeof(sdwa.abs)); 270 sdwa.omod = vop3.omod; 271 sdwa.clamp = vop3.clamp; 279 sdwa.sel[i] = SubdwordSel(instr->operands[i].bytes(), 0, false); 282 sdwa [all...] |
| H A D | aco_lower_to_hw_instr.cpp | 515 aco_ptr<SDWA_instruction> sdwa{create_instruction<SDWA_instruction>( local in function:aco::emit_reduction 517 sdwa->operands[0] = Operand(PhysReg{tmp}, v1); 518 sdwa->definitions[0] = Definition(PhysReg{tmp}, v1); 520 sdwa->sel[0] = SubdwordSel(1, 0, sext); 521 sdwa->dst_sel = SubdwordSel::dword; 522 bld.insert(std::move(sdwa)); 538 aco_ptr<SDWA_instruction> sdwa{create_instruction<SDWA_instruction>( local in function:aco::emit_reduction 540 sdwa->operands[0] = Operand(PhysReg{tmp}, v1); 541 sdwa->definitions[0] = Definition(PhysReg{tmp}, v1); 543 sdwa 2145 SDWA_instruction& sdwa = local in function:aco::lower_to_hw_instr [all...] |
| H A D | aco_opt_value_numbering.cpp | 185 SDWA_instruction& aSDWA = a->sdwa(); 186 SDWA_instruction& bSDWA = b->sdwa();
|
| H A D | aco_optimizer.cpp | 835 if (instr->isSDWA() && instr->sdwa().sel[idx] != SubdwordSel::dword) 1033 can_use_mod = can_use_mod && instr->sdwa().sel[i].size() == 4; 1050 else if (instr->isSDWA() && !instr->sdwa().abs[i]) 1051 instr->sdwa().neg[i] = true; 1062 instr->sdwa().abs[i] = true; 2091 SDWA_instruction& cmp_sdwa = cmp->sdwa(); 2848 if (!apply_omod_clamp_helper(ctx, &instr->sdwa(), def_info)) 2897 if (instr->sdwa().dst_sel.size() != 4)
|
| H A D | aco_ir.h | 1296 SDWA_instruction& sdwa() noexcept function in struct:aco::Instruction 1301 const SDWA_instruction& sdwa() const noexcept function in struct:aco::Instruction
|
| H A D | aco_instruction_selection.cpp | 11896 instr->sdwa().sel[0] = SubdwordSel::ubyte1; 11903 instr->sdwa().sel[0] = SubdwordSel::ubyte2;
|
| /xsrc/external/mit/MesaLib/dist/docs/relnotes/ |
| H A D | 20.1.0.rst | 3551 - aco: add emission support for register-allocated sdwa sels
|
| H A D | 20.2.0.rst | 3848 - aco: fix sub-dword opsel/sdwa checks
|
| H A D | 20.3.0.rst | 4110 - aco: fix printing of some sdwa sels
|