Lines Matching refs:ir3_instruction
43 struct ir3_instruction;
153 struct ir3_instruction *instr;
171 struct ir3_instruction { struct
353 struct ir3_instruction *left, *right; argument
362 struct ir3_instruction *address; argument
367 DECLARE_ARRAY(struct ir3_instruction *, deps);
409 static inline struct ir3_instruction * argument
410 ir3_neighbor_first(struct ir3_instruction *instr) in ir3_neighbor_first()
423 static inline int ir3_neighbor_count(struct ir3_instruction *instr) in ir3_neighbor_count()
445 DECLARE_ARRAY(struct ir3_instruction *, inputs);
446 DECLARE_ARRAY(struct ir3_instruction *, outputs);
454 DECLARE_ARRAY(struct ir3_instruction *, baryfs);
466 DECLARE_ARRAY(struct ir3_instruction *, a0_users);
469 DECLARE_ARRAY(struct ir3_instruction *, a1_users);
472 DECLARE_ARRAY(struct ir3_instruction *, predicates);
477 DECLARE_ARRAY(struct ir3_instruction *, astc_srgb);
503 struct ir3_instruction *last_write;
530 struct ir3_instruction *condition;
540 DECLARE_ARRAY(struct ir3_instruction *, keeps);
572 struct ir3_instruction * ir3_instr_create(struct ir3_block *block, opc_t opc);
573 struct ir3_instruction * ir3_instr_create2(struct ir3_block *block,
575 struct ir3_instruction * ir3_instr_clone(struct ir3_instruction *instr);
576 void ir3_instr_add_dep(struct ir3_instruction *instr, struct ir3_instruction *dep);
577 const char *ir3_instr_name(struct ir3_instruction *instr);
579 struct ir3_register * ir3_reg_create(struct ir3_instruction *instr,
584 void ir3_instr_set_address(struct ir3_instruction *instr,
585 struct ir3_instruction *addr);
587 static inline bool ir3_instr_check_mark(struct ir3_instruction *instr) in ir3_instr_check_mark()
605 ir3_instr_move_before(struct ir3_instruction *instr, in ir3_instr_move_before()
606 struct ir3_instruction *after) in ir3_instr_move_before()
616 ir3_instr_move_after(struct ir3_instruction *instr, in ir3_instr_move_after()
617 struct ir3_instruction *before) in ir3_instr_move_after()
625 void ir3_set_dst_type(struct ir3_instruction *instr, bool half);
626 void ir3_fixup_src_type(struct ir3_instruction *instr);
628 bool ir3_valid_flags(struct ir3_instruction *instr, unsigned n, unsigned flags);
632 for (struct ir3_instruction *__use = (void *)~0; \
647 static inline bool is_flow(struct ir3_instruction *instr) in is_flow()
652 static inline bool is_kill(struct ir3_instruction *instr) in is_kill()
657 static inline bool is_nop(struct ir3_instruction *instr) in is_nop()
678 static inline bool is_same_type_mov(struct ir3_instruction *instr) in is_same_type_mov()
723 static inline bool is_const_mov(struct ir3_instruction *instr) in is_const_mov()
739 static inline bool is_alu(struct ir3_instruction *instr) in is_alu()
744 static inline bool is_sfu(struct ir3_instruction *instr) in is_sfu()
749 static inline bool is_tex(struct ir3_instruction *instr) in is_tex()
754 static inline bool is_tex_or_prefetch(struct ir3_instruction *instr) in is_tex_or_prefetch()
759 static inline bool is_mem(struct ir3_instruction *instr) in is_mem()
764 static inline bool is_barrier(struct ir3_instruction *instr) in is_barrier()
770 is_half(struct ir3_instruction *instr) in is_half()
776 is_high(struct ir3_instruction *instr) in is_high()
782 is_store(struct ir3_instruction *instr) in is_store()
802 static inline bool is_load(struct ir3_instruction *instr) in is_load()
821 static inline bool is_input(struct ir3_instruction *instr) in is_input()
836 static inline bool is_bool(struct ir3_instruction *instr) in is_bool()
896 static inline bool is_meta(struct ir3_instruction *instr) in is_meta()
901 static inline unsigned dest_regs(struct ir3_instruction *instr) in dest_regs()
910 writes_gpr(struct ir3_instruction *instr) in writes_gpr()
923 static inline bool writes_addr0(struct ir3_instruction *instr) in writes_addr0()
932 static inline bool writes_addr1(struct ir3_instruction *instr) in writes_addr1()
941 static inline bool writes_pred(struct ir3_instruction *instr) in writes_pred()
952 static inline struct ir3_instruction *ssa(struct ir3_register *reg) in ssa()
960 static inline bool conflicts(struct ir3_instruction *a, in conflicts()
961 struct ir3_instruction *b) in conflicts()
1153 static inline unsigned __ssa_src_cnt(struct ir3_instruction *instr) in __ssa_src_cnt()
1161 static inline struct ir3_instruction **
1162 __ssa_srcp_n(struct ir3_instruction *instr, unsigned n) in __ssa_srcp_n()
1173 static inline bool __is_false_dep(struct ir3_instruction *instr, unsigned n) in __is_false_dep()
1183 for (struct ir3_instruction **__srcp = (void *)~0; __srcp; __srcp = NULL) \
1192 for (struct ir3_instruction *__srcinst = (void *)~0; __srcinst; __srcinst = NULL) \
1202 for (struct ir3_instruction *__ininstr = (void *)~0; __ininstr; __ininstr = NULL) \
1210 for (struct ir3_instruction *__outinstr = (void *)~0; __outinstr; __outinstr = NULL) \
1218 list_for_each_entry(struct ir3_instruction, __instr, __list, node)
1220 list_for_each_entry_rev(struct ir3_instruction, __instr, __list, node)
1222 list_for_each_entry_safe(struct ir3_instruction, __instr, __list, node)
1241 check_src_cond(struct ir3_instruction *instr, bool (*cond)(struct ir3_instruction *)) in check_src_cond() argument
1245 struct ir3_instruction *src = reg->instr; in check_src_cond()
1279 void ir3_print_instr(struct ir3_instruction *instr);
1282 int ir3_delayslots(struct ir3_instruction *assigner,
1283 struct ir3_instruction *consumer, unsigned n, bool soft);
1284 unsigned ir3_delay_calc(struct ir3_block *block, struct ir3_instruction *instr,
1313 int ir3_ra(struct ir3_shader_variant *v, struct ir3_instruction **precolor, unsigned nprecolor);
1353 static inline struct ir3_register * __ssa_src(struct ir3_instruction *instr, in __ssa_src()
1354 struct ir3_instruction *src, unsigned flags) in __ssa_src()
1365 static inline struct ir3_register * __ssa_dst(struct ir3_instruction *instr) in __ssa_dst()
1372 static inline struct ir3_instruction *
1375 struct ir3_instruction *mov; in create_immed_typed()
1387 static inline struct ir3_instruction *
1393 static inline struct ir3_instruction *
1396 struct ir3_instruction *mov; in create_uniform_typed()
1408 static inline struct ir3_instruction *
1414 static inline struct ir3_instruction *
1416 struct ir3_instruction *address) in create_uniform_indirect()
1418 struct ir3_instruction *mov; in create_uniform_indirect()
1431 static inline struct ir3_instruction *
1432 ir3_MOV(struct ir3_block *block, struct ir3_instruction *src, type_t type) in ir3_MOV()
1434 struct ir3_instruction *instr = ir3_instr_create(block, OPC_MOV); in ir3_MOV()
1450 static inline struct ir3_instruction *
1451 ir3_COV(struct ir3_block *block, struct ir3_instruction *src, in ir3_COV()
1454 struct ir3_instruction *instr = ir3_instr_create(block, OPC_MOV); in ir3_COV()
1468 static inline struct ir3_instruction *
1477 static inline struct ir3_instruction * \
1480 struct ir3_instruction *instr = \
1489 static inline struct ir3_instruction * \
1491 struct ir3_instruction *a, unsigned aflags) \
1493 struct ir3_instruction *instr = \
1504 static inline struct ir3_instruction * \
1506 struct ir3_instruction *a, unsigned aflags, \
1507 struct ir3_instruction *b, unsigned bflags) \
1509 struct ir3_instruction *instr = \
1521 static inline struct ir3_instruction * \
1523 struct ir3_instruction *a, unsigned aflags, \
1524 struct ir3_instruction *b, unsigned bflags, \
1525 struct ir3_instruction *c, unsigned cflags) \
1527 struct ir3_instruction *instr = \
1540 static inline struct ir3_instruction * \
1542 struct ir3_instruction *a, unsigned aflags, \
1543 struct ir3_instruction *b, unsigned bflags, \
1544 struct ir3_instruction *c, unsigned cflags, \
1545 struct ir3_instruction *d, unsigned dflags) \
1547 struct ir3_instruction *instr = \
1659 static inline struct ir3_instruction * in INSTR0()
1661 unsigned wrmask, unsigned flags, struct ir3_instruction *samp_tex, in INSTR0()
1662 struct ir3_instruction *src0, struct ir3_instruction *src1) in INSTR0()
1664 struct ir3_instruction *sam; in INSTR0()