HomeSort by: relevance | last modified time | path
    Searched refs:vcc (Results 1 - 17 of 17) sorted by relevancy

  /xsrc/external/mit/MesaLib/dist/src/amd/compiler/tests/
test_optimizer_postRA.cpp 46 /* Recognize when the result of VOPC goes to VCC, and use that for the branching then. */
48 //! s2: %b:vcc = v_cmp_eq_u32 0, %a:v[0]
49 //! s2: %e:s[2-3] = p_cbranch_z %b:vcc
51 auto vcmp = bld.vopc(aco_opcode::v_cmp_eq_u32, bld.def(bld.lm, vcc), Operand::zero(),
53 auto sand = bld.sop2(Builder::s_and, bld.def(bld.lm, reg_s0), bld.def(s1, scc), bld.vcc(vcmp), Operand(exec, bld.lm));
61 /* When VCC is overwritten inbetween, don't optimize. */
63 //! s2: %b:vcc = v_cmp_eq_u32 0, %a:v[0]
64 //! s2: %c:s[0-1], s1: %d:scc = s_and_b64 %b:vcc, %x:exec
65 //! s2: %f:vcc = s_mov_b64 0
67 //! p_unit_test 1, %e:s[2-3], %f:vcc
    [all...]
test_sdwa.cpp 102 bld.vopc_sdwa(aco_opcode::v_cmp_gt_f32, bld.def(bld.lm, vcc), inputs[0], inputs[1]);
104 //~gfx8! SDWA+VOPC definition must be fixed to vcc on GFX8: s2: %_ = v_cmp_lt_f32 %vgpr0, %vgpr1 src0_sel:dword src1_sel:dword
107 //~gfx(9|10)! SDWA VOPC clamp only supported on GFX8: s2: %_:vcc = v_cmp_eq_f32 %vgpr0, %vgpr1 clamp src0_sel:dword src1_sel:dword
108 bld.vopc_sdwa(aco_opcode::v_cmp_eq_f32, bld.def(bld.lm, vcc), inputs[0], inputs[1]).instr->sdwa().clamp = true;
132 BEGIN_TEST(validate.sdwa.vcc)
139 //! 3rd operand must be fixed to vcc with SDWA: v1: %_ = v_cndmask_b32 %vgpr0, %vgpr1, %_ dst_sel:dword src0_sel:dword src1_sel:dword
141 bld.vop2_sdwa(aco_opcode::v_cndmask_b32, bld.def(v1), inputs[0], inputs[1], bld.vcc(inputs[2]));
143 //! 2nd definition must be fixed to vcc with SDWA: v1: %_, s2: %_ = v_add_co_u32 %vgpr0, %vgpr1 dst_sel:dword src0_sel:dword src1_sel:dword
145 bld.vop2_sdwa(aco_opcode::v_add_co_u32, bld.def(v1), bld.def(bld.lm, vcc), inputs[0], inputs[1]);
  /xsrc/external/mit/MesaLib/dist/src/amd/compiler/
aco_ir.cpp 107 108; /* includes VCC, which can be treated as s[106-107] on GFX10+ */
205 // TODO: return true if we know we will use vcc
237 // TODO: return true if we know we will use vcc
285 instr->definitions[0].setFixed(vcc);
287 instr->definitions[1].setFixed(vcc);
289 instr->operands[2].setFixed(vcc);
309 instr->definitions.back().physReg() != vcc)
312 if (!pre_ra && instr->operands.size() >= 3 && instr->operands[2].physReg() != vcc)
360 instr->definitions.back().setFixed(vcc);
363 instr->operands[2].setFixed(vcc);
    [all...]
aco_live_var_analysis.cpp 121 if ((definition.isFixed() || definition.hasHint()) && definition.physReg() == vcc)
150 if (operand.isFixed() && operand.physReg() == vcc)
192 if ((definition.isFixed() || definition.hasHint()) && definition.physReg() == vcc)
243 if (operand.isFixed() && operand.physReg() == vcc)
aco_lower_to_hw_instr.cpp 194 instr->definitions[1].setFixed(vcc);
217 bld.vop3(aco_opcode::v_add_co_u32_e64, dst[0], bld.def(bld.lm, vcc), vtmp_op[0], src1[0]);
219 bld.vop2_dpp(aco_opcode::v_add_co_u32, dst[0], bld.def(bld.lm, vcc), src0[0], src1[0],
222 bld.vop2_dpp(aco_opcode::v_addc_co_u32, dst[1], bld.def(bld.lm, vcc), src0[1], src1[1],
223 Operand(vcc, bld.lm), dpp_ctrl, row_mask, bank_mask, bound_ctrl);
258 bld.vopc(cmp, bld.def(bld.lm, vcc), vtmp_op64, src1_64);
259 bld.vop2(aco_opcode::v_cndmask_b32, dst[0], vtmp_op[0], src1[0], Operand(vcc, bld.lm));
260 bld.vop2(aco_opcode::v_cndmask_b32, dst[1], vtmp_op[1], src1[1], Operand(vcc, bld.lm));
327 bld.vop3(aco_opcode::v_add_co_u32_e64, dst[0], bld.def(bld.lm, vcc), src0[0], src1[0]);
329 bld.vop2(aco_opcode::v_add_co_u32, dst[0], bld.def(bld.lm, vcc), src0[0], src1[0])
    [all...]
aco_optimizer_postRA.cpp 185 * vcc = ... ; last_vcc_wr
186 * sX, scc = s_and_bXX vcc, exec ; op0_instr
187 * (...vcc and exec must not be clobbered inbetween...)
192 * vcc = ... ; last_vcc_wr
193 * s_cbranch_XX vcc ; instr modified to use vcc
205 Idx last_vcc_wr_idx = last_writer_idx(ctx, vcc, ctx.program->lane_mask);
208 * - the instructions that wrote the operand register and VCC are both found
209 * - the operand register used by the branch, and VCC were both written in the current block
210 * - EXEC hasn't been clobbered since the last VCC writ
    [all...]
aco_validate.cpp 163 check((instr->definitions[0].isFixed() && instr->definitions[0].physReg() == vcc) ||
165 "SDWA+VOPC definition must be fixed to vcc on GFX8", instr.get());
195 check(instr->operands[2].isFixed() && instr->operands[2].physReg() == vcc,
196 "3rd operand must be fixed to vcc with SDWA", instr.get());
199 check(instr->definitions[1].isFixed() && instr->definitions[1].physReg() == vcc,
200 "2nd definition must be fixed to vcc with SDWA", instr.get());
897 if (op.physReg() == vcc && !program->needs_vcc)
899 "Operand %d fixed to vcc but needs_vcc=false", i);
926 if (def.physReg() == vcc && !program->needs_vcc)
928 "Definition %d fixed to vcc but needs_vcc=false", i)
    [all...]
aco_register_allocation.cpp 1323 PhysRegInterval vcc_win = {vcc, 2};
1324 /* VCC is outside the bounds */
1863 (reg != vcc || (instr->definitions.empty() && idx == 2) ||
1864 chip >= GFX10); /* sdata can be vcc */
2773 /* some instructions need VOP3 encoding if operand/definition is not assigned to VCC */
2776 ((instr->format == Format::VOPC && !(instr->definitions[0].physReg() == vcc)) ||
2778 !(instr->operands[2].physReg() == vcc)) ||
2785 !(instr->definitions[1].physReg() == vcc)) ||
2789 !(instr->operands[2].physReg() == vcc)));
aco_optimizer.cpp 1837 instr->definitions[0].setHint(vcc);
1912 instr->definitions[0].setHint(vcc);
2038 instr->definitions[0].setHint(vcc);
2112 instr->definitions[0].setHint(vcc);
2500 new_instr->definitions[1].setHint(vcc);
2960 /* v_and(a, v_subbrev_co(0, 0, vcc)) -> v_cndmask(0, a, vcc) */
3280 instr->definitions[0].setHint(vcc);
aco_insert_NOPs.cpp 117 /* VALU writing VCC/EXEC and then a VALU reading VCCZ/EXECZ requires 5 wait states */
121 /* VALU writing VCC followed by v_div_fmas require 4 wait states */
350 /* TODO: we don't handle accessing VCC using the actual SGPR instead of using the alias */
505 if (def.physReg() == vcc || def.physReg() == vcc_hi) {
aco_assembler.cpp 703 if (instr->definitions[0].physReg() != vcc) {
aco_instruction_selection.cpp 203 return bld.pseudo(aco_opcode::p_bpermute, bld.def(v1), bld.def(bld.lm), bld.def(bld.lm, vcc),
3117 .setHint(vcc);
6765 .setHint(vcc);
7820 /* vcc clobber */
7830 defs[num_defs++] = bld.def(bld.lm, vcc);
8054 .setHint(vcc);
9651 .setHint(vcc);
10300 branch->definitions[0].setHint(vcc);
10341 branch->definitions[0].setHint(vcc);
10360 branch->definitions[0].setHint(vcc);
    [all...]
aco_ir.h 453 static constexpr PhysReg vcc{106};
1473 * the definition doesn't have to be VCC on GFX9+.
1679 * Definition(4): vcc clobber
  /xsrc/external/mit/freetype/dist/builds/windows/
detect.mk 119 CONFIG_FILE := w32-vcc.mk
  /xsrc/external/mit/fontconfig/dist/
configure 17942 { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
  /xsrc/external/mit/xorg-server/dist/
configure 24886 { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
    [all...]
  /xsrc/external/mit/xorg-server.old/dist/
configure 23020 { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
    [all...]

Completed in 71 milliseconds