• Home
  • Raw
  • Download

Lines Matching refs:inst

33 set_src_raddr(uint64_t inst, struct qpu_reg src)  in set_src_raddr()  argument
36 assert(QPU_GET_FIELD(inst, QPU_RADDR_A) == QPU_R_NOP || in set_src_raddr()
37 QPU_GET_FIELD(inst, QPU_RADDR_A) == src.addr); in set_src_raddr()
38 return QPU_UPDATE_FIELD(inst, src.addr, QPU_RADDR_A); in set_src_raddr()
42 assert((QPU_GET_FIELD(inst, QPU_RADDR_B) == QPU_R_NOP || in set_src_raddr()
43 QPU_GET_FIELD(inst, QPU_RADDR_B) == src.addr) && in set_src_raddr()
44 QPU_GET_FIELD(inst, QPU_SIG) != QPU_SIG_SMALL_IMM); in set_src_raddr()
45 return QPU_UPDATE_FIELD(inst, src.addr, QPU_RADDR_B); in set_src_raddr()
49 if (QPU_GET_FIELD(inst, QPU_SIG) == QPU_SIG_SMALL_IMM) { in set_src_raddr()
50 assert(QPU_GET_FIELD(inst, QPU_RADDR_B) == src.addr); in set_src_raddr()
52 inst = qpu_set_sig(inst, QPU_SIG_SMALL_IMM); in set_src_raddr()
53 assert(QPU_GET_FIELD(inst, QPU_RADDR_B) == QPU_R_NOP); in set_src_raddr()
55 return ((inst & ~QPU_RADDR_B_MASK) | in set_src_raddr()
59 return inst; in set_src_raddr()
65 uint64_t inst = 0; in qpu_NOP() local
67 inst |= QPU_SET_FIELD(QPU_A_NOP, QPU_OP_ADD); in qpu_NOP()
68 inst |= QPU_SET_FIELD(QPU_M_NOP, QPU_OP_MUL); in qpu_NOP()
71 inst |= QPU_SET_FIELD(QPU_W_NOP, QPU_WADDR_ADD); in qpu_NOP()
72 inst |= QPU_SET_FIELD(QPU_W_NOP, QPU_WADDR_MUL); in qpu_NOP()
73 inst |= QPU_SET_FIELD(QPU_R_NOP, QPU_RADDR_A); in qpu_NOP()
74 inst |= QPU_SET_FIELD(QPU_R_NOP, QPU_RADDR_B); in qpu_NOP()
75 inst |= QPU_SET_FIELD(QPU_SIG_NONE, QPU_SIG); in qpu_NOP()
77 return inst; in qpu_NOP()
83 uint64_t inst = 0; in qpu_a_dst() local
87 inst |= QPU_SET_FIELD(32 + dst.mux, QPU_WADDR_ADD); in qpu_a_dst()
89 inst |= QPU_SET_FIELD(dst.addr, QPU_WADDR_ADD); in qpu_a_dst()
91 inst |= QPU_WS; in qpu_a_dst()
94 return inst; in qpu_a_dst()
100 uint64_t inst = 0; in qpu_m_dst() local
104 inst |= QPU_SET_FIELD(32 + dst.mux, QPU_WADDR_MUL); in qpu_m_dst()
106 inst |= QPU_SET_FIELD(dst.addr, QPU_WADDR_MUL); in qpu_m_dst()
108 inst |= QPU_WS; in qpu_m_dst()
111 return inst; in qpu_m_dst()
117 uint64_t inst = 0; in qpu_a_MOV() local
119 inst |= QPU_SET_FIELD(QPU_SIG_NONE, QPU_SIG); in qpu_a_MOV()
120 inst |= QPU_SET_FIELD(QPU_A_OR, QPU_OP_ADD); in qpu_a_MOV()
121 inst |= QPU_SET_FIELD(QPU_R_NOP, QPU_RADDR_A); in qpu_a_MOV()
122 inst |= QPU_SET_FIELD(QPU_R_NOP, QPU_RADDR_B); in qpu_a_MOV()
123 inst |= qpu_a_dst(dst); in qpu_a_MOV()
124 inst |= QPU_SET_FIELD(QPU_COND_ALWAYS, QPU_COND_ADD); in qpu_a_MOV()
125 inst |= QPU_MUX(src.mux, QPU_ADD_A); in qpu_a_MOV()
126 inst |= QPU_MUX(src.mux, QPU_ADD_B); in qpu_a_MOV()
127 inst = set_src_raddr(inst, src); in qpu_a_MOV()
128 inst |= QPU_SET_FIELD(QPU_W_NOP, QPU_WADDR_MUL); in qpu_a_MOV()
130 return inst; in qpu_a_MOV()
136 uint64_t inst = 0; in qpu_m_MOV() local
138 inst |= QPU_SET_FIELD(QPU_SIG_NONE, QPU_SIG); in qpu_m_MOV()
139 inst |= QPU_SET_FIELD(QPU_M_V8MIN, QPU_OP_MUL); in qpu_m_MOV()
140 inst |= QPU_SET_FIELD(QPU_R_NOP, QPU_RADDR_A); in qpu_m_MOV()
141 inst |= QPU_SET_FIELD(QPU_R_NOP, QPU_RADDR_B); in qpu_m_MOV()
142 inst |= qpu_m_dst(dst); in qpu_m_MOV()
143 inst |= QPU_SET_FIELD(QPU_COND_ALWAYS, QPU_COND_MUL); in qpu_m_MOV()
144 inst |= QPU_MUX(src.mux, QPU_MUL_A); in qpu_m_MOV()
145 inst |= QPU_MUX(src.mux, QPU_MUL_B); in qpu_m_MOV()
146 inst = set_src_raddr(inst, src); in qpu_m_MOV()
147 inst |= QPU_SET_FIELD(QPU_W_NOP, QPU_WADDR_ADD); in qpu_m_MOV()
149 return inst; in qpu_m_MOV()
155 uint64_t inst = 0; in qpu_load_imm_ui() local
157 inst |= qpu_a_dst(dst); in qpu_load_imm_ui()
158 inst |= QPU_SET_FIELD(QPU_W_NOP, QPU_WADDR_MUL); in qpu_load_imm_ui()
159 inst |= QPU_SET_FIELD(QPU_COND_ALWAYS, QPU_COND_ADD); in qpu_load_imm_ui()
160 inst |= QPU_SET_FIELD(QPU_COND_ALWAYS, QPU_COND_MUL); in qpu_load_imm_ui()
161 inst |= QPU_SET_FIELD(QPU_SIG_LOAD_IMM, QPU_SIG); in qpu_load_imm_ui()
162 inst |= val; in qpu_load_imm_ui()
164 return inst; in qpu_load_imm_ui()
184 uint64_t inst = 0; in qpu_branch() local
186 inst |= qpu_a_dst(qpu_ra(QPU_W_NOP)); in qpu_branch()
187 inst |= qpu_m_dst(qpu_rb(QPU_W_NOP)); in qpu_branch()
188 inst |= QPU_SET_FIELD(cond, QPU_BRANCH_COND); in qpu_branch()
189 inst |= QPU_SET_FIELD(QPU_SIG_BRANCH, QPU_SIG); in qpu_branch()
190 inst |= QPU_SET_FIELD(target, QPU_BRANCH_TARGET); in qpu_branch()
192 return inst; in qpu_branch()
199 uint64_t inst = 0; in qpu_a_alu2() local
201 inst |= QPU_SET_FIELD(QPU_SIG_NONE, QPU_SIG); in qpu_a_alu2()
202 inst |= QPU_SET_FIELD(op, QPU_OP_ADD); in qpu_a_alu2()
203 inst |= QPU_SET_FIELD(QPU_R_NOP, QPU_RADDR_A); in qpu_a_alu2()
204 inst |= QPU_SET_FIELD(QPU_R_NOP, QPU_RADDR_B); in qpu_a_alu2()
205 inst |= qpu_a_dst(dst); in qpu_a_alu2()
206 inst |= QPU_SET_FIELD(QPU_COND_ALWAYS, QPU_COND_ADD); in qpu_a_alu2()
207 inst |= QPU_MUX(src0.mux, QPU_ADD_A); in qpu_a_alu2()
208 inst = set_src_raddr(inst, src0); in qpu_a_alu2()
209 inst |= QPU_MUX(src1.mux, QPU_ADD_B); in qpu_a_alu2()
210 inst = set_src_raddr(inst, src1); in qpu_a_alu2()
211 inst |= QPU_SET_FIELD(QPU_W_NOP, QPU_WADDR_MUL); in qpu_a_alu2()
213 return inst; in qpu_a_alu2()
220 uint64_t inst = 0; in qpu_m_alu2() local
222 inst |= QPU_SET_FIELD(QPU_SIG_NONE, QPU_SIG); in qpu_m_alu2()
223 inst |= QPU_SET_FIELD(op, QPU_OP_MUL); in qpu_m_alu2()
224 inst |= QPU_SET_FIELD(QPU_R_NOP, QPU_RADDR_A); in qpu_m_alu2()
225 inst |= QPU_SET_FIELD(QPU_R_NOP, QPU_RADDR_B); in qpu_m_alu2()
226 inst |= qpu_m_dst(dst); in qpu_m_alu2()
227 inst |= QPU_SET_FIELD(QPU_COND_ALWAYS, QPU_COND_MUL); in qpu_m_alu2()
228 inst |= QPU_MUX(src0.mux, QPU_MUL_A); in qpu_m_alu2()
229 inst = set_src_raddr(inst, src0); in qpu_m_alu2()
230 inst |= QPU_MUX(src1.mux, QPU_MUL_B); in qpu_m_alu2()
231 inst = set_src_raddr(inst, src1); in qpu_m_alu2()
232 inst |= QPU_SET_FIELD(QPU_W_NOP, QPU_WADDR_ADD); in qpu_m_alu2()
234 return inst; in qpu_m_alu2()
240 uint64_t inst = 0; in qpu_m_rot() local
241 inst = qpu_m_alu2(QPU_M_V8MIN, dst, src0, src0); in qpu_m_rot()
243 inst = QPU_UPDATE_FIELD(inst, QPU_SIG_SMALL_IMM, QPU_SIG); in qpu_m_rot()
244 inst = QPU_UPDATE_FIELD(inst, QPU_SMALL_IMM_MUL_ROT + rot, in qpu_m_rot()
247 return inst; in qpu_m_rot()
268 qpu_num_sf_accesses(uint64_t inst) in qpu_num_sf_accesses() argument
288 uint32_t waddr_add = QPU_GET_FIELD(inst, QPU_WADDR_ADD); in qpu_num_sf_accesses()
289 uint32_t waddr_mul = QPU_GET_FIELD(inst, QPU_WADDR_MUL); in qpu_num_sf_accesses()
290 uint32_t raddr_a = QPU_GET_FIELD(inst, QPU_RADDR_A); in qpu_num_sf_accesses()
291 uint32_t raddr_b = QPU_GET_FIELD(inst, QPU_RADDR_B); in qpu_num_sf_accesses()
303 QPU_GET_FIELD(inst, QPU_SIG) != QPU_SIG_SMALL_IMM) in qpu_num_sf_accesses()
307 switch (QPU_GET_FIELD(inst, QPU_SIG)) { in qpu_num_sf_accesses()
405 convert_mov(uint64_t *inst) in convert_mov() argument
407 uint32_t add_a = QPU_GET_FIELD(*inst, QPU_ADD_A); in convert_mov()
408 uint32_t waddr_add = QPU_GET_FIELD(*inst, QPU_WADDR_ADD); in convert_mov()
409 uint32_t cond_add = QPU_GET_FIELD(*inst, QPU_COND_ADD); in convert_mov()
412 if (QPU_GET_FIELD(*inst, QPU_OP_ADD) != QPU_A_OR || in convert_mov()
413 (add_a != QPU_GET_FIELD(*inst, QPU_ADD_B))) { in convert_mov()
417 if (QPU_GET_FIELD(*inst, QPU_SIG) != QPU_SIG_NONE) in convert_mov()
421 if (*inst & QPU_PM) in convert_mov()
424 *inst = QPU_UPDATE_FIELD(*inst, QPU_A_NOP, QPU_OP_ADD); in convert_mov()
425 *inst = QPU_UPDATE_FIELD(*inst, QPU_M_V8MIN, QPU_OP_MUL); in convert_mov()
427 *inst = QPU_UPDATE_FIELD(*inst, add_a, QPU_MUL_A); in convert_mov()
428 *inst = QPU_UPDATE_FIELD(*inst, add_a, QPU_MUL_B); in convert_mov()
429 *inst = QPU_UPDATE_FIELD(*inst, QPU_MUX_R0, QPU_ADD_A); in convert_mov()
430 *inst = QPU_UPDATE_FIELD(*inst, QPU_MUX_R0, QPU_ADD_B); in convert_mov()
432 *inst = QPU_UPDATE_FIELD(*inst, waddr_add, QPU_WADDR_MUL); in convert_mov()
433 *inst = QPU_UPDATE_FIELD(*inst, QPU_W_NOP, QPU_WADDR_ADD); in convert_mov()
435 *inst = QPU_UPDATE_FIELD(*inst, cond_add, QPU_COND_MUL); in convert_mov()
436 *inst = QPU_UPDATE_FIELD(*inst, QPU_COND_NEVER, QPU_COND_ADD); in convert_mov()
439 *inst ^= QPU_WS; in convert_mov()
445 writes_a_file(uint64_t inst) in writes_a_file() argument
447 if (!(inst & QPU_WS)) in writes_a_file()
448 return QPU_GET_FIELD(inst, QPU_WADDR_ADD) < 32; in writes_a_file()
450 return QPU_GET_FIELD(inst, QPU_WADDR_MUL) < 32; in writes_a_file()
454 reads_r4(uint64_t inst) in reads_r4() argument
456 return (QPU_GET_FIELD(inst, QPU_ADD_A) == QPU_MUX_R4 || in reads_r4()
457 QPU_GET_FIELD(inst, QPU_ADD_B) == QPU_MUX_R4 || in reads_r4()
458 QPU_GET_FIELD(inst, QPU_MUL_A) == QPU_MUX_R4 || in reads_r4()
459 QPU_GET_FIELD(inst, QPU_MUL_B) == QPU_MUX_R4); in reads_r4()
636 qpu_set_sig(uint64_t inst, uint32_t sig) in qpu_set_sig() argument
638 assert(QPU_GET_FIELD(inst, QPU_SIG) == QPU_SIG_NONE); in qpu_set_sig()
639 return QPU_UPDATE_FIELD(inst, sig, QPU_SIG); in qpu_set_sig()
643 qpu_set_cond_add(uint64_t inst, uint32_t cond) in qpu_set_cond_add() argument
645 assert(QPU_GET_FIELD(inst, QPU_COND_ADD) == QPU_COND_ALWAYS); in qpu_set_cond_add()
646 return QPU_UPDATE_FIELD(inst, cond, QPU_COND_ADD); in qpu_set_cond_add()
650 qpu_set_cond_mul(uint64_t inst, uint32_t cond) in qpu_set_cond_mul() argument
652 assert(QPU_GET_FIELD(inst, QPU_COND_MUL) == QPU_COND_ALWAYS); in qpu_set_cond_mul()
653 return QPU_UPDATE_FIELD(inst, cond, QPU_COND_MUL); in qpu_set_cond_mul()
670 qpu_inst_is_tlb(uint64_t inst) in qpu_inst_is_tlb() argument
672 uint32_t sig = QPU_GET_FIELD(inst, QPU_SIG); in qpu_inst_is_tlb()
674 return (qpu_waddr_is_tlb(QPU_GET_FIELD(inst, QPU_WADDR_ADD)) || in qpu_inst_is_tlb()
675 qpu_waddr_is_tlb(QPU_GET_FIELD(inst, QPU_WADDR_MUL)) || in qpu_inst_is_tlb()
731 qpu_serialize_one_inst(struct vc4_compile *c, uint64_t inst) in qpu_serialize_one_inst() argument
738 c->qpu_insts[c->qpu_inst_count++] = inst; in qpu_serialize_one_inst()