Home
last modified time | relevance | path

Searched refs:ir3_instruction (Results 1 - 25 of 34) sorted by relevance

12

/third_party/mesa3d/src/freedreno/ir3/
H A Dir3_context.h65 struct ir3_instruction **inputs;
66 struct ir3_instruction **outputs;
81 struct ir3_instruction *ij[IJ_COUNT];
84 struct ir3_instruction *frag_face, *frag_coord;
87 struct ir3_instruction *vertex_id, *basevertex, *instance_id, *base_instance,
91 struct ir3_instruction *samp_id, *samp_mask_in;
94 struct ir3_instruction *primitive_id;
95 struct ir3_instruction *gs_header;
98 struct ir3_instruction *tcs_header;
99 struct ir3_instruction *tess_coor
[all...]
H A Dir3.h43 struct ir3_instruction;
202 struct ir3_instruction *instr;
258 struct ir3_instruction { struct
454 DECLARE_ARRAY(struct ir3_instruction *, deps);
504 DECLARE_ARRAY(struct ir3_instruction *, inputs);
512 DECLARE_ARRAY(struct ir3_instruction *, baryfs);
524 DECLARE_ARRAY(struct ir3_instruction *, a0_users);
527 DECLARE_ARRAY(struct ir3_instruction *, a1_users);
530 DECLARE_ARRAY(struct ir3_instruction *, predicates);
535 DECLARE_ARRAY(struct ir3_instruction *, astc_srg
[all...]
H A Dir3_sched.c97 struct ir3_instruction *scheduled; /* last scheduled instr */
98 struct ir3_instruction *addr0; /* current a0.x user, if any */
99 struct ir3_instruction *addr1; /* current a1.x user, if any */
100 struct ir3_instruction *pred; /* current p0.x user, if any */
102 struct ir3_instruction *split; /* most-recently-split a0/a1/p0 producer */
125 struct ir3_instruction *instr;
151 struct ir3_instruction *collect;
176 struct ir3_instruction *instr);
177 static void sched_node_add_dep(struct ir3_instruction *instr,
178 struct ir3_instruction *sr
[all...]
H A Dir3_context.c181 struct ir3_instruction **
184 struct ir3_instruction **value = in ir3_get_dst_ssa()
185 ralloc_array(ctx->def_ht, struct ir3_instruction *, n); in ir3_get_dst_ssa()
190 struct ir3_instruction **
193 struct ir3_instruction **value; in ir3_get_dst()
198 value = ralloc_array(ctx, struct ir3_instruction *, n); in ir3_get_dst()
211 struct ir3_instruction *const *
223 struct ir3_instruction *addr = NULL; in ir3_get_src()
224 struct ir3_instruction **value = in ir3_get_src()
225 ralloc_array(ctx, struct ir3_instruction *, num_component in ir3_get_src()
[all...]
H A Dir3_a4xx.c48 static struct ir3_instruction *
51 struct ir3_instruction *byte_offset) in byte_offset_to_address()
71 struct ir3_instruction **dst) in emit_intrinsic_load_ssbo()
74 struct ir3_instruction *ldgb, *src0, *src1, *byte_offset, *offset; in emit_intrinsic_load_ssbo()
76 struct ir3_instruction *ssbo = ir3_ssbo_to_ibo(ctx, intr->src[0]); in emit_intrinsic_load_ssbo()
101 struct ir3_instruction *stgb, *src0, *src1, *src2, *byte_offset, *offset; in emit_intrinsic_store_ssbo()
107 struct ir3_instruction *ssbo = ir3_ssbo_to_ibo(ctx, intr->src[1]); in emit_intrinsic_store_ssbo()
151 static struct ir3_instruction *
155 struct ir3_instruction *atomic; in emit_intrinsic_atomic_ssbo()
158 struct ir3_instruction *ssb in emit_intrinsic_atomic_ssbo()
[all...]
H A Dir3_a6xx.c43 struct ir3_instruction **dst) in emit_intrinsic_load_ssbo()
46 struct ir3_instruction *offset; in emit_intrinsic_load_ssbo()
47 struct ir3_instruction *ldib; in emit_intrinsic_load_ssbo()
69 struct ir3_instruction *stib, *val, *offset; in emit_intrinsic_store_ssbo()
109 static struct ir3_instruction *
113 struct ir3_instruction *atomic, *ibo, *src0, *src1, *data, *dummy; in emit_intrinsic_atomic_ssbo()
138 struct ir3_instruction *compare = ir3_get_src(ctx, &intr->src[3])[0]; in emit_intrinsic_atomic_ssbo()
194 struct ir3_instruction *split; in emit_intrinsic_atomic_ssbo()
202 struct ir3_instruction **dst) in emit_intrinsic_load_image()
205 struct ir3_instruction *ldi in emit_intrinsic_load_image()
[all...]
H A Dir3_cp.c61 is_eligible_mov(struct ir3_instruction *instr, in is_eligible_mov()
62 struct ir3_instruction *dst_instr, bool allow_flags) in is_eligible_mov()
67 struct ir3_instruction *src_instr = ssa(src); in is_eligible_mov()
100 is_foldable_double_cmp(struct ir3_instruction *cmp) in is_foldable_double_cmp()
102 struct ir3_instruction *cond = ssa(cmp->srcs[0]); in is_foldable_double_cmp()
114 combine_flags(unsigned *dstflags, struct ir3_instruction *src) in combine_flags()
150 struct ir3_instruction *srcsrc = ssa(src->srcs[0]); in combine_flags()
160 lower_immed(struct ir3_cp_ctx *ctx, struct ir3_instruction *instr, unsigned n, in lower_immed()
249 unuse(struct ir3_instruction *instr) in unuse()
274 try_swap_mad_two_srcs(struct ir3_instruction *inst
[all...]
H A Dir3_compiler_nir.c43 ir3_handle_nonuniform(struct ir3_instruction *instr, in ir3_handle_nonuniform()
53 ir3_handle_bindless_cat6(struct ir3_instruction *instr, nir_src rsrc) in ir3_handle_bindless_cat6()
63 static struct ir3_instruction *
66 struct ir3_instruction *in; in create_input()
77 static struct ir3_instruction *
78 create_frag_input(struct ir3_context *ctx, struct ir3_instruction *coord, in create_frag_input()
82 struct ir3_instruction *instr; in create_frag_input()
84 struct ir3_instruction *inloc = create_immed(block, n); in create_frag_input()
104 static struct ir3_instruction *
127 static struct ir3_instruction *
[all...]
H A Dir3_lower_spill.c55 set_base_reg(struct ir3_instruction *mem, unsigned val) in set_base_reg()
57 struct ir3_instruction *mov = ir3_instr_create(mem->block, OPC_MOV, 1, 1); in set_base_reg()
66 reset_base_reg(struct ir3_instruction *mem) in reset_base_reg()
76 struct ir3_instruction *mov = ir3_instr_create(mem->block, OPC_MOV, 1, 1); in reset_base_reg()
91 handle_oob_offset_spill(struct ir3_instruction *spill) in handle_oob_offset_spill()
104 handle_oob_offset_reload(struct ir3_instruction *reload) in handle_oob_offset_reload()
117 split_spill(struct ir3_instruction *spill) in split_spill()
135 struct ir3_instruction *clone = ir3_instr_clone(spill); in split_spill()
152 split_reload(struct ir3_instruction *reload) in split_reload()
169 struct ir3_instruction *clon in split_reload()
[all...]
H A Dir3_delay.c46 ir3_delayslots(struct ir3_instruction *assigner, in ir3_delayslots()
47 struct ir3_instruction *consumer, unsigned n, bool soft) in ir3_delayslots()
99 count_instruction(struct ir3_instruction *n) in count_instruction()
130 ir3_delayslots_with_repeat(struct ir3_instruction *assigner, in ir3_delayslots_with_repeat()
131 struct ir3_instruction *consumer, in ir3_delayslots_with_repeat()
214 delay_calc_srcn(struct ir3_instruction *assigner, in delay_calc_srcn()
215 struct ir3_instruction *consumer, unsigned assigner_n, in delay_calc_srcn()
242 delay_calc(struct ir3_block *block, struct ir3_instruction *start, in delay_calc()
243 struct ir3_instruction *consumer, unsigned distance, in delay_calc()
255 list_for_each_entry_from_rev (struct ir3_instruction, assigne in delay_calc() argument
[all...]
H A Dir3_dce.c37 mark_array_use(struct ir3_instruction *instr, struct ir3_register *reg) in mark_array_use()
47 instr_dce(struct ir3_instruction *instr, bool falsedep) in instr_dce()
79 struct ir3_instruction *src = ssa(instr->srcs[0]); in remove_unused_by_block()
162 struct ir3_instruction *src = ssa(instr->srcs[0]); in find_and_remove_unused()
171 struct ir3_instruction *instr = ir->a0_users[i]; in find_and_remove_unused()
177 struct ir3_instruction *instr = ir->a1_users[i]; in find_and_remove_unused()
183 struct ir3_instruction *instr = ir->predicates[i]; in find_and_remove_unused()
H A Dir3.c87 collect_reg_info(struct ir3_instruction *instr, struct ir3_register *reg, in collect_reg_info()
418 insert_instr(struct ir3_block *block, struct ir3_instruction *instr) in insert_instr()
500 static struct ir3_instruction *
506 struct ir3_instruction *instr; in instr_create()
511 instr = (struct ir3_instruction *)ptr; in instr_create()
524 struct ir3_instruction *
527 struct ir3_instruction *instr = instr_create(block, opc, ndst, nsrc); in ir3_instr_create()
534 struct ir3_instruction *
535 ir3_instr_clone(struct ir3_instruction *instr) in ir3_instr_clone()
537 struct ir3_instruction *new_inst in ir3_instr_clone()
[all...]
H A Dir3_legalize.c91 struct ir3_instruction *last_n = NULL; in legalize_block()
226 struct ir3_instruction *nop; in legalize_block()
239 struct ir3_instruction *samgp; in legalize_block()
312 struct ir3_instruction *last_input = n; in legalize_block()
314 struct ir3_instruction *baryf; in legalize_block()
344 struct ir3_instruction *baryf; in legalize_block()
400 struct ir3_instruction *op_p = ir3_instr_clone(n); in apply_fine_deriv_macro()
463 struct ir3_instruction *instr = in resolve_dest_block()
464 list_first_entry(&block->instr_list, struct ir3_instruction, node); in resolve_dest_block()
541 retarget_jump(struct ir3_instruction *inst
[all...]
H A Dir3_cse.c40 const struct ir3_instruction *instr = data; in hash_instr()
45 foreach_src (src, (struct ir3_instruction *)instr) { in hash_instr()
70 instrs_equal(const struct ir3_instruction *i1, const struct ir3_instruction *i2) in instrs_equal()
122 instr_can_cse(const struct ir3_instruction *instr) in instr_can_cse()
167 struct ir3_instruction *instr = src->def->instr->data; in ir3_cse()
H A Dir3_cf.c29 is_safe_conv(struct ir3_instruction *instr, type_t src_type, opc_t *src_opc) in is_safe_conv()
87 all_uses_safe_conv(struct ir3_instruction *conv_src, type_t src_type) in all_uses_safe_conv()
112 rewrite_src_uses(struct ir3_instruction *src) in rewrite_src_uses()
128 try_conversion_folding(struct ir3_instruction *conv) in try_conversion_folding()
130 struct ir3_instruction *src; in try_conversion_folding()
H A Dir3_postsched.c79 struct ir3_instruction *instr;
94 has_sy_src(struct ir3_instruction *instr) in has_sy_src()
101 has_ss_src(struct ir3_instruction *instr) in has_ss_src()
108 schedule(struct ir3_postsched_ctx *ctx, struct ir3_instruction *instr) in schedule()
201 static struct ir3_instruction *
526 sched_node_init(struct ir3_postsched_ctx *ctx, struct ir3_instruction *instr) in sched_node_init()
607 util_dynarray_append(&inputs, struct ir3_instruction *, instr); in sched_dag_init()
609 util_dynarray_foreach (&inputs, struct ir3_instruction *, instrp) { in sched_dag_init()
610 struct ir3_instruction *input = *instrp; in sched_dag_init()
614 util_dynarray_append(&kills, struct ir3_instruction *, inst in sched_dag_init()
[all...]
H A Dir3_legalize_relative.c18 is_reg_relative(const struct ir3_instruction *instr) in is_reg_relative()
34 is_dst_a0(const struct ir3_instruction *instr) in is_dst_a0()
48 struct ir3_instruction *last_user = NULL; in ir3_legalize_relative()
H A Dir3_ra_validate.c93 struct ir3_instruction *current_instr;
138 validate_simple(struct ra_val_ctx *ctx, struct ir3_instruction *instr) in validate_simple()
219 propagate_normal_instr(struct ra_val_ctx *ctx, struct ir3_instruction *instr) in propagate_normal_instr()
234 propagate_split(struct ra_val_ctx *ctx, struct ir3_instruction *split) in propagate_split()
249 propagate_collect(struct ra_val_ctx *ctx, struct ir3_instruction *collect) in propagate_collect()
279 propagate_parallelcopy(struct ra_val_ctx *ctx, struct ir3_instruction *pcopy) in propagate_parallelcopy()
325 propagate_instr(struct ra_val_ctx *ctx, struct ir3_instruction *instr) in propagate_instr()
368 struct ir3_instruction *instr = state->def->instr; in chase_definition()
439 check_reaching_src(struct ra_val_ctx *ctx, struct ir3_instruction *instr, in check_reaching_src()
472 check_reaching_instr(struct ra_val_ctx *ctx, struct ir3_instruction *inst
[all...]
H A Dir3_lower_subgroups.c63 struct ir3_instruction *mov = ir3_instr_create(block, OPC_MOV, 1, 1); in mov_immed()
78 struct ir3_instruction *mov = ir3_instr_create(block, OPC_MOV, 1, 1); in mov_reg()
96 struct ir3_instruction *instr = ir3_instr_create(block, opc, 1, 2); in binop()
114 struct ir3_instruction *instr = ir3_instr_create(block, opc, 1, 3); in triop()
170 struct ir3_instruction *instr) in split_block()
238 lower_instr(struct ir3 *ir, struct ir3_block **block, struct ir3_instruction *instr) in lower_instr()
362 struct ir3_instruction *movmsk = in lower_instr()
371 struct ir3_instruction *mov = in lower_instr()
384 struct ir3_instruction *swz = in lower_instr()
H A Dir3_lower_parallelcopy.c72 do_xor(struct ir3_instruction *instr, unsigned dst_num, unsigned src1_num, in do_xor()
75 struct ir3_instruction * xor in do_xor()
85 do_swap(struct ir3_compiler *compiler, struct ir3_instruction *instr, in do_swap()
173 struct ir3_instruction *swz = ir3_instr_create(instr->block, opc, 2, 2); in do_swap()
186 do_copy(struct ir3_compiler *compiler, struct ir3_instruction *instr, in do_copy()
232 struct ir3_instruction *cov = in do_copy()
241 struct ir3_instruction *shr = in do_copy()
258 struct ir3_instruction *mov = ir3_instr_create(instr->block, opc, 1, 1); in do_copy()
313 _handle_copies(struct ir3_compiler *compiler, struct ir3_instruction *instr, in _handle_copies()
474 handle_copies(struct ir3_shader_variant *v, struct ir3_instruction *inst
[all...]
H A Dir3_spill.c150 struct ir3_instruction *after = NULL; in add_base_reg()
159 struct ir3_instruction *mov = create_immed(start, 0); in add_base_reg()
178 instr_cycles(struct ir3_instruction *instr) in instr_cycles()
349 rematerialize(struct ir3_register *reg, struct ir3_instruction *after, in rematerialize()
354 struct ir3_instruction *remat = in rematerialize()
602 remove_src_early(struct ra_spill_ctx *ctx, struct ir3_instruction *instr, in remove_src_early()
615 remove_src(struct ra_spill_ctx *ctx, struct ir3_instruction *instr, in remove_src()
708 struct ir3_instruction *instr, in materialize_pcopy_src()
711 struct ir3_instruction *mov = ir3_instr_create(block, OPC_MOV, 1, 1); in materialize_pcopy_src()
726 unsigned spill_slot, struct ir3_instruction *inst in spill()
[all...]
H A Dir3_image.h34 struct ir3_instruction *ir3_ssbo_to_ibo(struct ir3_context *ctx, nir_src src);
36 struct ir3_instruction *ir3_image_to_ibo(struct ir3_context *ctx, nir_src src);
H A Dir3_image.c41 struct ir3_instruction *
60 struct ir3_instruction *
72 struct ir3_instruction *image_idx = ir3_get_src(ctx, &src)[0]; in ir3_image_to_ibo()
H A Dir3_merge_regs.c118 struct ir3_instruction *instr = value.reg->instr; in chase_copies()
357 coalesce_phi(struct ir3_liveness *live, struct ir3_instruction *phi) in coalesce_phi()
367 struct ir3_instruction *pcopy) in aggressive_coalesce_parallel_copy()
378 struct ir3_instruction *split) in aggressive_coalesce_split()
386 struct ir3_instruction *collect) in aggressive_coalesce_collect()
440 struct ir3_instruction *pcopy = in create_parallel_copy()
/third_party/mesa3d/src/freedreno/isa/
H A Dencode.c43 struct ir3_instruction *instr;
47 * Helpers defining how to map from ir3_instruction/ir3_register/etc to fields
52 extract_SRC1_R(struct ir3_instruction *instr) in extract_SRC1_R()
62 extract_SRC2_R(struct ir3_instruction *instr) in extract_SRC2_R()
75 __instruction_case(struct encode_state *s, struct ir3_instruction *instr) in __instruction_case()
169 extract_cat5_SRC(struct ir3_instruction *instr, unsigned n) in extract_cat5_SRC()
180 extract_cat5_FULL(struct ir3_instruction *instr) in extract_cat5_FULL()
190 extract_cat5_DESC_MODE(struct ir3_instruction *instr) in extract_cat5_DESC_MODE()
224 extract_cat6_DESC_MODE(struct ir3_instruction *instr) in extract_cat6_DESC_MODE()
244 extract_cat6_SRC(struct ir3_instruction *inst
[all...]

Completed in 20 milliseconds

12