Home
last modified time | relevance | path

Searched refs:AluInstr (Results 1 - 25 of 31) sorted by relevance

12

/third_party/mesa3d/src/gallium/drivers/r600/sfn/
H A Dsfn_instr_mem.cpp199 shader.emit_instruction(new AluInstr(op1_mov, temp_src_val, src_val, AluInstr::last_write)); in emit_atomic_op2()
216 shader.emit_instruction(new AluInstr(op3_muladd_uint24, tmp[0], uav_id, vf.literal(4), vf.literal(4 * offset), in emit_atomic_op2()
217 AluInstr::write)); in emit_atomic_op2()
219 shader.emit_instruction(new AluInstr(op1_mov, tmp[0], vf.literal(4 * offset), AluInstr::write)); in emit_atomic_op2()
220 shader.emit_instruction(new AluInstr(op1_mov, tmp[1], src_val, AluInstr::last_write)); in emit_atomic_op2()
244 shader.emit_instruction(new AluInstr(op3_muladd_uint24, tmp[0], uav_id, vf.literal(4), vf.literal(4 * offset), in emit_atomic_read()
245 AluInstr in emit_atomic_read()
[all...]
H A Dsfn_instr_alu.cpp43 AluInstr::AluInstr(EAluOp opcode, PRegister dest, in AluInstr() function in r600::AluInstr
70 AluInstr::AluInstr(EAluOp opcode): in AluInstr() function in r600::AluInstr
71 AluInstr(opcode, nullptr, SrcValues(alu_ops.at(opcode).nsrc), {}, 1) in AluInstr()
75 AluInstr::AluInstr(EAluOp opcode, int chan): in AluInstr() function in r600::AluInstr
76 AluInstr(opcode, nullptr, SrcValues(), {}, 1) in AluInstr()
81 AluInstr::AluInstr(EAluO function in r600::AluInstr
88 AluInstr::AluInstr(EAluOp opcode, PRegister dest, AluInstr() function in r600::AluInstr
96 AluInstr::AluInstr(EAluOp opcode, PRegister dest, PVirtualValue src0, PVirtualValue src1, AluInstr() function in r600::AluInstr
104 AluInstr::AluInstr(ESDOp op, PVirtualValue src0, PVirtualValue src1, PVirtualValue address): AluInstr() function in r600::AluInstr
118 AluInstr::AluInstr(ESDOp op, const SrcValues& src, const std::set<AluModifiers>& flags): AluInstr() function in r600::AluInstr
[all...]
H A Dsfn_instr_lds.cpp36 AluInstr::SrcValues& address): in LDSReadInstr()
71 auto new_addr = AluInstr::SrcValues(); in remove_unused_components()
93 void visit(AluInstr *instr) override {
98 AluInstr *LDSReadInstr::split(std::vector<AluInstr*>& out_block, AluInstr *last_lds_instr) in split()
100 AluInstr* first_instr = nullptr; in split()
113 auto instr = new AluInstr(DS_OP_READ_RET, nullptr, nullptr, addr); in split()
136 auto instr = new AluInstr(op1_mov, dest, in split()
138 AluInstr in split()
[all...]
H A Dsfn_shader_fs.cpp86 AluInstr *ir = nullptr; in load_input()
88 ir = new AluInstr(op1_mov, in load_input()
91 AluInstr::write); in load_input()
99 auto ir = new AluInstr(op2_setgt_dx10, in load_input()
103 AluInstr::last_write); in load_input()
169 emit_instruction(new AluInstr(op2_killne_int, nullptr, in process_stage_intrinsic()
172 {AluInstr::last})); in process_stage_intrinsic()
177 emit_instruction(new AluInstr(op2_kille_int, nullptr, in process_stage_intrinsic()
180 {AluInstr::last})); in process_stage_intrinsic()
316 emit_instruction(new AluInstr(op2_lshl_in in emit_load_sample_mask_in()
[all...]
H A Dsfn_instr_lds.h38 AluInstr::SrcValues& address);
50 AluInstr *split(std::vector<AluInstr *>& out_block, AluInstr *last_lds_instr);
63 AluInstr::SrcValues m_address;
69 using SrcValues = AluInstr::SrcValues;
88 AluInstr *split(std::vector<AluInstr *>& out_block, AluInstr *last_lds_instr);
H A Dsfn_instr_tex.cpp461 shader.emit_instruction(new AluInstr(op2_add_int, src_coord[k], src.coord[i], in emit_tex_txf()
463 AluInstr::write)); in emit_tex_txf()
465 shader.emit_instruction(new AluInstr(op1_mov, src_coord[k], src.coord[i],AluInstr::write)); in emit_tex_txf()
469 shader.emit_instruction(new AluInstr(op1_mov, src_coord[3], src.lod, AluInstr::last_write)); in emit_tex_txf()
515 AluInstr *ir = nullptr; in emit_buf_txf()
518 ir = new AluInstr(op2_and_int, d, tmp[i], in emit_buf_txf()
520 AluInstr::write); in emit_buf_txf()
525 shader.emit_instruction(new AluInstr(op2_or_in in emit_buf_txf()
[all...]
H A Dsfn_instr_alugroup.h38 using Slots = std::array<AluInstr *, 5>;
45 bool add_instruction(AluInstr *instr);
46 bool add_trans_instructions(AluInstr *instr);
47 bool add_vec_instructions(AluInstr *instr);
75 AluInstr::SrcValues get_kconsts() const;
97 bool update_indirect_access(AluInstr *instr);
98 bool try_readport(AluInstr *instr, AluBankSwizzle cycle);
H A Dsfn_shader.cpp381 auto alu = new AluInstr(op1_mov, m_atomic_update, in allocate_reserved_registers()
383 AluInstr::last_write); in allocate_reserved_registers()
395 group->add_instruction(new AluInstr(op1_mbcnt_32lo_accum_prev_int, temp0, value_factory().literal(-1), {alu_write})); in allocate_reserved_registers()
396 group->add_instruction(new AluInstr(op1_mbcnt_32hi_int, temp1, value_factory().literal(-1), {alu_write})); in allocate_reserved_registers()
398 emit_instruction(new AluInstr(op3_muladd_uint24, temp2, value_factory().inline_const(ALU_SRC_SE_ID, 0), in allocate_reserved_registers()
400 emit_instruction(new AluInstr(op3_muladd_uint24, m_rat_return_address, in allocate_reserved_registers()
688 AluInstr *pred = new AluInstr(op2_pred_setne_int, value_factory().temp_register(), in emit_if_start()
689 value, value_factory().zero(), AluInstr::last); in emit_if_start()
853 emit_instruction(new AluInstr(op1_mo in emit_load_to_register()
[all...]
H A Dsfn_shader_gs.cpp177 emit_instruction(new AluInstr(op1_mov, m_export_base[i], zero, AluInstr::last_write)); in do_allocate_reserved_registers()
237 auto ir = new AluInstr(op2_add_int, m_export_base[stream], m_export_base[stream], in emit_vertex()
239 AluInstr::last_write); in emit_vertex()
266 AluInstr *ir = nullptr;
274 ir = new AluInstr(op1_mov, tmp[i + shift], out_value[i + shift], AluInstr::write);
276 ir = new AluInstr(op1_mov, tmp[i + shift], value[i], AluInstr::write);
302 ir = new AluInstr(op1_mo
[all...]
H A Dsfn_peephole.cpp34 void visit(AluInstr *instr) override;
55 void convert_to_mov(AluInstr *alu, int src_idx);
70 void PeepholeVisitor::visit(AluInstr *instr) in visit()
124 void PeepholeVisitor::convert_to_mov(AluInstr *alu, int src_idx) in convert_to_mov()
126 AluInstr::SrcValues new_src{alu->psrc(src_idx)}; in convert_to_mov()
146 ReplaceIfPredicate(AluInstr *pred): in ReplaceIfPredicate()
151 void visit(AluInstr *alu) override;
153 AluInstr *m_pred;
208 void ReplaceIfPredicate::visit(AluInstr *alu) in visit()
H A Dsfn_shader_tess.cpp120 emit_instruction(new AluInstr(op1_mov, value0[0], value_factory().src(instr->src[0], 0), in store_tess_factor()
121 AluInstr::write)); in store_tess_factor()
122 emit_instruction(new AluInstr(op1_mov, value0[1], value_factory().src(instr->src[0], 1), in store_tess_factor()
123 two_parts ? AluInstr::write : AluInstr::last_write)); in store_tess_factor()
128 emit_instruction(new AluInstr(op1_mov, value1[0], value_factory().src(instr->src[0], 2), in store_tess_factor()
129 AluInstr::write)); in store_tess_factor()
130 emit_instruction(new AluInstr(op1_mov, value1[1], value_factory().src(instr->src[0], 3), in store_tess_factor()
131 AluInstr::last_write)); in store_tess_factor()
H A Dsfn_instrfactory.cpp77 result = AluInstr::from_string(is, m_value_factory, group); in from_string()
122 return AluInstr::from_nir(nir_instr_as_alu(instr), shader); in from_nir()
141 AluInstr *ir = nullptr; in load_const()
147 shader.emit_instruction(new AluInstr(op1_mov, dest0, src0, {alu_write})); in load_const()
151 shader.emit_instruction(new AluInstr(op1_mov, dest1, src1, AluInstr::last_write)); in load_const()
168 ir = new AluInstr(op1_mov, dest, src, {alu_write}); in load_const()
206 shader.emit_instruction(new AluInstr(op1_mov, dest, in process_undef()
208 AluInstr::last_write)); in process_undef()
H A Dsfn_instr_alu.h41 class AluInstr : public Instr { class
66 AluInstr(EAluOp opcode);
67 AluInstr(EAluOp opcode, int chan);
68 AluInstr(EAluOp opcode, PRegister dest,
72 AluInstr(EAluOp opcode, PRegister dest, PVirtualValue src0,
75 AluInstr(EAluOp opcode, PRegister dest,
79 AluInstr(EAluOp opcode, PRegister dest, PVirtualValue src0, PVirtualValue src1,
83 AluInstr(ESDOp op, PVirtualValue src0, PVirtualValue src1, PVirtualValue address);
84 AluInstr(ESDOp op, const SrcValues& src, const std::set<AluModifiers>& flags);
96 bool replace_dest(PRegister new_dest, AluInstr *move_inst
[all...]
H A Dsfn_shader_cs.cpp94 emit_instruction(new AluInstr(op1_mov, zero, value_factory().inline_const(ALU_SRC_0, 0), in emit_load_num_workgroups()
95 AluInstr::last_write)); in emit_load_num_workgroups()
116 emit_instruction(new AluInstr(op1_mov, dest, src[i], i == 2 ? AluInstr::last_write : AluInstr::write)); in emit_load_3vec()
H A Dsfn_instr_alugroup.cpp57 bool AluGroup::add_instruction(AluInstr *instr) in add_instruction()
96 bool AluGroup::add_trans_instructions(AluInstr *instr) in add_trans_instructions()
144 new AluInstr(op0_nop, instr->dest_chan()); in add_trans_instructions()
165 void visit(AluInstr *alu) { in visit()
173 bool AluGroup::add_vec_instructions(AluInstr *instr) in add_vec_instructions()
240 bool AluGroup::try_readport(AluInstr *instr, AluBankSwizzle cycle) in try_readport()
258 bool AluGroup::update_indirect_access(AluInstr *instr) in update_indirect_access()
390 AluInstr::SrcValues AluGroup::get_kconsts() const in get_kconsts()
392 AluInstr::SrcValues result; in get_kconsts()
H A Dsfn_shader_vs.cpp154 m_parent->emit_instruction(new AluInstr(op1_mov, primid[0], m_parent->primitive_id(), AluInstr::last_write)); in finalize()
217 m_parent->emit_instruction(new AluInstr(op1_mov, clamped, src, {alu_write, alu_dst_clamp, alu_last_instr})); in emit_varying_pos()
218 auto alu = new AluInstr(op1_flt_to_int, out_value[1], clamped, AluInstr::last_write); in emit_varying_pos()
277 AluInstr *alu = nullptr; in emit_varying_param()
280 alu = new AluInstr(op1_mov, value[i], m_parent->value_factory().src(intr.src[0], swizzle[i]), in emit_varying_param()
281 AluInstr::write); in emit_varying_param()
354 AluInstr *alu = nullptr; in emit_stream()
356 alu = new AluInstr(op1_mo in emit_stream()
[all...]
H A Dsfn_instr_controlflow.cpp117 IfInstr::IfInstr(AluInstr *pred): in IfInstr()
125 m_predicate = new AluInstr(*orig.m_predicate); in IfInstr()
168 void IfInstr::set_predicate(AluInstr *new_predicate) in set_predicate()
198 auto pred = AluInstr::from_string(bufstr, value_factory, nullptr); in from_string()
199 return new IfInstr(static_cast<AluInstr*>(pred)); in from_string()
H A Dsfn_instr_controlflow.h77 IfInstr(AluInstr *pred);
82 void set_predicate(AluInstr *new_predicate);
84 AluInstr *predicate() const { return m_predicate; } in predicate()
102 AluInstr *m_predicate;
H A Dsfn_scheduler.cpp48 void visit(AluInstr *instr) override {
111 std::vector<AluInstr*> buffer;
119 std::vector<AluInstr*> buffer;
131 std::list<AluInstr *> alu_trans;
132 std::list<AluInstr *> alu_vec;
146 AluInstr *m_last_lds_instr{nullptr};
165 bool collect_ready_alu_vec(std::list<AluInstr *>& ready, std::list<AluInstr *>& available);
180 bool schedule_alu_to_group_trans(AluGroup *group, std::list<AluInstr *>& readylist);
190 std::list<AluInstr *> alu_vec_read
[all...]
H A Dsfn_instr.h41 class AluInstr;
106 virtual bool replace_dest(PRegister new_dest, AluInstr *move_instr);
200 bool try_reserve_kcache(const AluInstr& group);
205 void lds_group_start(AluInstr *alu);
237 AluInstr *m_lds_group_start{nullptr};
284 virtual void visit(const AluInstr& instr) = 0;
305 virtual void visit(AluInstr *instr) = 0;
H A Dsfn_optimizer.cpp71 void visit(AluInstr *instr) override;
124 void DCEVisitor::visit(AluInstr *instr) in visit()
244 void visit(AluInstr *instr) override;
272 void visit(AluInstr *instr) override;
339 void CopyPropFwdVisitor::visit(AluInstr *instr) in visit()
409 void CopyPropBackVisitor::visit(AluInstr *instr) in visit()
488 void visit(AluInstr *instr) override{(void)instr;}
540 void visit(AluInstr *alu) override;
589 void ReplaceConstSource::visit(AluInstr *alu) in visit()
H A Dsfn_alu_readport_validation.h42 bool schedule_vec_instruction(const AluInstr& alu, AluBankSwizzle swz);
43 bool schedule_trans_instruction(const AluInstr& alu, AluBankSwizzle swz);
/third_party/mesa3d/src/gallium/drivers/r600/sfn/tests/
H A Dsfn_instr_test.cpp32 AluInstr alu(op0_group_barrier); in TEST_F()
45 AluInstr alu(op1_mov, in TEST_F()
89 AluInstr alu(op2_add, in TEST_F()
140 AluInstr alu(op3_cnde, in TEST_F()
199 AluInstr alu1(op1_mov, r128z, r129x, {alu_write}); in TEST_F()
200 EXPECT_NE(alu1, AluInstr(op1_mov, r128y, r129x, {alu_write})); in TEST_F()
201 EXPECT_NE(alu1, AluInstr(op1_mov, r128z, r129xc, {alu_write})); in TEST_F()
202 EXPECT_NE(alu1, AluInstr(op1_mov, r128z, r129y, {alu_write})); in TEST_F()
203 EXPECT_NE(alu1, AluInstr(op1_mov, r128z, r130x, {alu_write})); in TEST_F()
204 EXPECT_NE(alu1, AluInstr(op1_mo in TEST_F()
[all...]
H A Dsfn_instrfromstring_test.cpp42 AluInstr expect(op1_mov, in TEST_F()
54 AluInstr expect(DS_OP_READ_RET, in TEST_F()
63 AluInstr expect(op1_mov, in TEST_F()
75 AluInstr expect(op1_mov, in TEST_F()
86 AluInstr expect(op1_mov, in TEST_F()
97 AluInstr expect(op1_mov, in TEST_F()
109 AluInstr expect(op2_add, in TEST_F()
122 AluInstr expect(op2_add, in TEST_F()
135 AluInstr expect(op2_add, in TEST_F()
147 AluInstr expec in TEST_F()
[all...]
H A Dsfn_shaderfromstring_test.cpp60 expect.push_back(new AluInstr(op1_mov, in TEST_F()
65 expect.push_back(new AluInstr(op1_mov, in TEST_F()
70 expect.push_back(new AluInstr(op1_mov, in TEST_F()
75 expect.push_back(new AluInstr(op1_mov, in TEST_F()

Completed in 16 milliseconds

12