/third_party/mesa3d/src/panfrost/bifrost/ |
D | compiler.h | 542 } bi_instr; typedef 545 bi_is_staging_src(const bi_instr *I, unsigned s) in bi_is_staging_src() 577 bi_instr *fma; 578 bi_instr *add; 636 bi_instr *message; 821 bi_remove_instruction(bi_instr *ins) in bi_remove_instruction() 964 list_for_each_entry(bi_instr, v, &(block)->instructions, link) 967 list_for_each_entry_rev(bi_instr, v, &(block)->instructions, link) 970 list_for_each_entry_safe(bi_instr, v, &(block)->instructions, link) 973 list_for_each_entry_safe_rev(bi_instr, v, &(block)->instructions, link) [all …]
|
D | bi_opt_mod_props.c | 34 bi_would_impact_abs(unsigned arch, bi_instr *I, bi_index repl, unsigned s) in bi_would_impact_abs() 41 bi_takes_fabs(unsigned arch, bi_instr *I, bi_index repl, unsigned s) in bi_takes_fabs() 68 bi_takes_fneg(unsigned arch, bi_instr *I, unsigned s) in bi_takes_fneg() 129 bi_fuse_discard_fcmp(bi_instr *I, bi_instr *mod, unsigned arch) in bi_fuse_discard_fcmp() 158 bi_instr **lut = calloc(sizeof(bi_instr *), ctx->ssa_alloc); in bi_opt_mod_prop_forward() 168 bi_instr *mod = lut[I->src[s].value]; in bi_opt_mod_prop_forward() 196 bi_takes_clamp(bi_instr *I) in bi_takes_clamp() 220 bi_optimizer_clamp(bi_instr *I, bi_instr *use) in bi_optimizer_clamp() 243 bi_is_fixed_mux(bi_instr *I, unsigned size, bi_index v1) in bi_is_fixed_mux() 280 bi_optimizer_result_type(bi_instr *I, bi_instr *mux) in bi_optimizer_result_type() [all …]
|
D | bi_schedule.c | 37 bi_instr **instructions; 76 bi_instr *add; 143 bi_message_type_for_instr(bi_instr *ins) in bi_message_type_for_instr() 161 bi_supports_dtsel(bi_instr *ins) in bi_supports_dtsel() 202 bi_is_sched_barrier(bi_instr *I) in bi_is_sched_barrier() 235 bi_instr *ins = st.instructions[i]; in bi_create_dependency_graph() 303 bi_instr *last = st.instructions[st.count - 1]; in bi_create_dependency_graph() 320 static bi_instr * 324 bi_instr *pinstr = tuple->add; in bi_lower_cubeface() 326 bi_instr *cubeface1 = bi_cubeface1_to(&b, pinstr->dest[0], in bi_lower_cubeface() [all …]
|
D | bi_opt_dual_tex.c | 52 bi_can_fuse_dual_tex(bi_instr *I, bool fuse_zero_lod) in bi_can_fuse_dual_tex() 70 bi_fuse_dual(bi_context *ctx, bi_instr *I1, bi_instr *I2) in bi_fuse_dual() 95 bi_instr *I = bi_texc_to(&b, in bi_fuse_dual() 113 const bi_instr *I = key; in coord_hash() 121 const bi_instr *I = key1; in coord_equal() 122 const bi_instr *J = key2; in coord_equal() 141 bi_fuse_dual(ctx, (bi_instr *) ent->key, I); in bi_opt_fuse_dual_texture_block()
|
D | bir.c | 30 bi_has_arg(const bi_instr *ins, bi_index arg) in bi_has_arg() 66 bi_count_staging_registers(const bi_instr *ins) in bi_count_staging_registers() 87 bi_count_read_registers(const bi_instr *ins, unsigned s) in bi_count_read_registers() 103 bi_count_write_registers(const bi_instr *ins, unsigned d) in bi_count_write_registers() 144 bi_writemask(const bi_instr *ins, unsigned d) in bi_writemask() 183 bi_side_effects(const bi_instr *I) in bi_side_effects() 262 bi_can_replace_with_csel(bi_instr *I) in bi_can_replace_with_csel() 290 bi_replace_mux_with_csel(bi_instr *I, bool must_sign) in bi_replace_mux_with_csel()
|
D | bi_opt_copy_prop.c | 31 bi_is_copy(bi_instr *ins) in bi_is_copy() 39 bi_reads_fau(bi_instr *ins) in bi_reads_fau() 56 bi_instr **collects = calloc(sizeof(bi_instr *), ctx->ssa_alloc); in bi_opt_copy_prop() 73 bi_instr *collect = collects[I->src[0].value]; in bi_opt_copy_prop()
|
D | bi_test.h | 67 bit_instr_equal(bi_instr *A, bi_instr *B) in bit_instr_equal() 71 sizeof(bi_instr) - sizeof(struct list_head)) == 0; in bit_instr_equal() 80 list_pair_for_each_entry(bi_instr, insA, insB, in bit_block_equal()
|
D | bi_scoreboard.c | 66 bi_should_serialize(bi_instr *I) in bi_should_serialize() 94 bi_choose_scoreboard_slot(bi_instr *message) in bi_choose_scoreboard_slot() 112 bi_read_mask(bi_instr *I, bool staging_only) in bi_read_mask() 135 bi_write_mask(bi_instr *I) in bi_write_mask() 173 bi_instr *I = clause->message; in bi_push_clause()
|
D | bi_opt_cse.c | 59 const bi_instr *I = data; in hash_instr() 88 const bi_instr *i1 = _i1, *i2 = _i2; in instrs_equal() 119 instr_can_cse(const bi_instr *I) in instr_can_cse() 188 const bi_instr *match = entry->key; in bi_opt_cse()
|
D | bi_opt_message_preload.c | 47 bi_can_interp_at_sample(bi_instr *I) in bi_can_interp_at_sample() 76 bi_can_preload_ld_var(bi_instr *I) in bi_can_preload_ld_var() 132 bi_instr *collect = bi_collect_i32_to(&b, I->dest[0]); in bi_opt_message_preload()
|
D | bifrost_compile.c | 121 bi_instr *branch = bi_jump(b, bi_zero()); in bi_emit_jump() 161 bi_instr *I = bi_split_i32_to(b, bi_null(), vec); in bi_extract() 213 bi_instr *I = bi_split_i32_to(b, dests[0], vec); in bi_emit_split_i32() 247 static bi_instr * 254 bi_instr *I = bi_collect_i32_to(b, dst); in bi_emit_collect_to() 264 static bi_instr * 270 static bi_instr * 432 bi_instr *I; in bi_emit_load_attr() 536 bi_instr *I = NULL; in bi_emit_load_vary() 645 static inline bi_instr * [all …]
|
D | bi_opt_push_ubo.c | 33 bi_is_ubo(bi_instr *ins) in bi_is_ubo() 40 bi_is_direct_aligned_ubo(bi_instr *ins) in bi_is_direct_aligned_ubo() 163 bi_instr *vec = bi_collect_i32_to(&b, ins->dest[0]); in bi_opt_push_ubo()
|
/third_party/mesa3d/src/panfrost/bifrost/test/ |
D | test-optimizer.cpp | 94 bi_instr *I = bi_fadd_f32_to(b, reg, bi_fabsneg_f32(b, bi_abs(x)), bi_abs(x)); in TEST_F() 97 bi_instr *I = bi_fadd_f32_to(b, reg, bi_abs(x), bi_abs(x)); in TEST_F() 102 bi_instr *I = bi_fadd_f32_to(b, reg, bi_abs(x), bi_fabsneg_f32(b, bi_abs(x))); in TEST_F() 105 bi_instr *I = bi_fadd_f32_to(b, reg, bi_abs(x), bi_abs(x)); in TEST_F() 110 bi_instr *I = bi_fclamp_f32_to(b, reg, bi_fadd_f32(b, bi_abs(x), bi_abs(x))); in TEST_F() 113 bi_instr *I = bi_fadd_f32_to(b, reg, bi_abs(x), bi_abs(x)); in TEST_F() 121 bi_instr *I = bi_fadd_v2f16_to(b, reg, bi_fabsneg_v2f16(b, bi_abs(x)), bi_abs(y)); in TEST_F() 124 bi_instr *I = bi_fadd_v2f16_to(b, reg, bi_abs(x), bi_abs(y)); in TEST_F() 129 bi_instr *I = bi_fadd_v2f16_to(b, reg, bi_abs(x), bi_fabsneg_v2f16(b, bi_abs(y))); in TEST_F() 132 bi_instr *I = bi_fadd_v2f16_to(b, reg, bi_abs(x), bi_abs(y)); in TEST_F() [all …]
|
D | test-scheduler-predicates.cpp | 48 bi_instr *mov = bi_mov_i32_to(b, TMP(), TMP()); in TEST_F() 59 bi_instr *fma = bi_fma_f32_to(b, TMP(), TMP(), TMP(), bi_zero()); in TEST_F() 72 bi_instr *load = bi_load_i128_to(b, TMP(), TMP(), TMP(), BI_SEG_UBO, 0); in TEST_F() 84 bi_instr *blend = bi_blend_to(b, TMP(), TMP(), TMP(), TMP(), TMP(), TMP(), in TEST_F() 99 bi_instr *fadd = bi_fadd_f32_to(b, TMP(), TMP(), TMP()); in TEST_F() 104 bi_instr *fadd = bi_fadd_f32_to(b, TMP(), TMP(), TMP()); in TEST_F() 118 bi_instr *fadd = bi_fadd_v2f16_to(b, TMP(), x, x); in TEST_F() 156 bi_instr *jump = bi_jump(b, TMP()); in TEST_F()
|
D | test-constant-fold.cpp | 31 to_string(const bi_instr *I) { in to_string() 45 bi_instr *I, in constant_fold_pred() 69 not_constant_fold_pred(const char *I_expr, bi_instr *I) in not_constant_fold_pred() 186 bi_instr *I = bi_lshift_or_i32_to(b, reg, bi_imm_u32(0xCAFE), bi_imm_u32(0xA0000), bi_imm_u8(4)); in TEST_F()
|
/third_party/mesa3d/src/panfrost/bifrost/valhall/ |
D | va_compiler.h | 37 bool va_validate_fau(bi_instr *I); 39 void va_repair_fau(bi_builder *b, bi_instr *I); 40 void va_fuse_add_imm(bi_instr *I); 41 void va_lower_constants(bi_context *ctx, bi_instr *I); 42 void va_lower_isel(bi_instr *I); 47 uint64_t va_pack_instr(const bi_instr *I); 78 va_select_fau_page(const bi_instr *I) in va_select_fau_page() 95 va_count_instr_stats(bi_instr *I, struct va_stats *stats);
|
D | va_pack.c | 39 invalid_instruction(const bi_instr *I, const char *cause, ...) in invalid_instruction() 67 va_validate_register_pair(const bi_instr *I, unsigned s) in va_validate_register_pair() 86 va_pack_reg(const bi_instr *I, bi_index idx) in va_pack_reg() 95 va_pack_fau_special(const bi_instr *I, enum bir_fau fau) in va_pack_fau_special() 118 va_pack_fau_64(const bi_instr *I, bi_index idx) in va_pack_fau_64() 133 va_pack_src(const bi_instr *I, unsigned s) in va_pack_src() 150 va_pack_wrmask(const bi_instr *I) in va_pack_wrmask() 161 va_pack_atom_opc(const bi_instr *I) in va_pack_atom_opc() 179 va_pack_atom_opc_1(const bi_instr *I) in va_pack_atom_opc_1() 192 va_pack_dest(const bi_instr *I) in va_pack_dest() [all …]
|
D | va_merge_flow.c | 80 bi_instr *last = list_last_entry(&block->instructions, bi_instr, link); in merge_end_reconverge() 81 bi_instr *penult = bi_prev_op(last); in merge_end_reconverge() 133 bi_instr *last_free = NULL; in merge_waits() 162 bi_is_first_instr(bi_block *block, bi_instr *I) in bi_is_first_instr() 170 bi_instr *last_free = NULL; in merge_discard() 179 bi_instr *prev = bi_prev_op(I); in merge_discard()
|
D | va_optimize.c | 45 va_is_add_imm(bi_instr *I, unsigned s) in va_is_add_imm() 52 va_choose_imm(bi_instr *I) in va_choose_imm() 64 va_lower_mov_imm(bi_instr *I) in va_lower_mov_imm() 74 va_fuse_add_imm(bi_instr *I) in va_fuse_add_imm()
|
D | va_lower_split_64bit.c | 35 lower_split_src(bi_context *ctx, bi_instr *I, unsigned s) in lower_split_src() 50 bi_instr *collect = bi_collect_i32_to(&b, vec); in lower_split_src() 53 bi_instr *split = bi_split_i32_to(&b, bi_null(), vec); in lower_split_src()
|
D | va_insert_flow.c | 71 bi_read_mask(bi_instr *I) in bi_read_mask() 88 bi_write_mask(bi_instr *I) in bi_write_mask() 107 bi_ld_vary_writes_hidden_register(const bi_instr *I) in bi_ld_vary_writes_hidden_register() 118 bi_is_memory_access(const bi_instr *I) in bi_is_memory_access() 141 bi_push_instr(struct bi_scoreboard_state *st, bi_instr *I) in bi_push_instr() 181 bi_set_dependencies(bi_block *block, bi_instr *I, struct bi_scoreboard_state *st) in bi_set_dependencies()
|
D | va_mark_last.c | 52 bi_staging_read_mask(const bi_instr *I) in bi_staging_read_mask() 70 bi_writes_reg(const bi_instr *I, unsigned reg) in bi_writes_reg() 95 scoreboard_update(struct bi_scoreboard_state *st, const bi_instr *I) in scoreboard_update()
|
D | va_validate.c | 114 va_validate_fau(bi_instr *I) in va_validate_fau() 128 va_repair_fau(bi_builder *b, bi_instr *I) in va_repair_fau()
|
/third_party/mesa3d/src/panfrost/bifrost/valhall/test/ |
D | test-packing.cpp | 114 bi_instr *I = bi_fadd_f32_to(b, bi_register(0), bi_register(1), in TEST_F() 150 bi_instr *I = in TEST_F() 171 bi_instr *I = bi_branchz_i16(b, bi_half(bi_register(2), false), bi_null(), BI_CMPF_EQ); in TEST_F() 177 bi_instr *I = bi_branchz_i16(b, zero, bi_null(), BI_CMPF_EQ); in TEST_F() 198 bi_instr *I = bi_atest_to(b, bi_register(60), bi_register(60), in TEST_F() 206 bi_instr *I = bi_atest_to(b, bi_register(60), bi_register(60), one); in TEST_F() 249 bi_instr *I = bi_ld_attr_imm_to(b, bi_register(0), in TEST_F() 310 bi_instr *I = bi_icmp_v4u8_to(b, bi_register(1), bi_byte(bi_register(0), 0), in TEST_F()
|
D | test-add-imm.cpp | 86 bi_instr *I = bi_fadd_f32_to(b, bi_register(1), bi_register(2), in TEST_F() 132 bi_instr *I = bi_fadd_f32_to(b, bi_register(1), bi_register(2), bi_imm_f32(42.0)); in TEST_F() 137 bi_instr *I = bi_fadd_v2f16_to(b, bi_register(1), bi_register(2), bi_imm_f16(42.0)); in TEST_F()
|