• Home
  • Raw
  • Download

Lines Matching refs:clause

39 bi_pack_header(bi_clause *clause, bi_clause *next_1, bi_clause *next_2, bool tdd)  in bi_pack_header()  argument
50 clause->flow_control, in bi_pack_header()
52 .next_clause_prefetch = clause->next_clause_prefetch, in bi_pack_header()
53 .staging_barrier = clause->staging_barrier, in bi_pack_header()
54 .staging_register = clause->staging_register, in bi_pack_header()
56 .dependency_slot = clause->scoreboard_id, in bi_pack_header()
57 .message_type = clause->message_type, in bi_pack_header()
75 bi_lookup_constant(bi_clause *clause, uint32_t cons, bool *hi) in bi_lookup_constant() argument
77 for (unsigned i = 0; i < clause->constant_count; ++i) { in bi_lookup_constant()
79 uint64_t top = clause->constants[i]; in bi_lookup_constant()
107 bi_clause *clause, in bi_assign_fau_idx_single() argument
115 if (ins->type == BI_BRANCH && clause->branch_constant) { in bi_assign_fau_idx_single()
117 unsigned idx = clause->constant_count - 1; in bi_assign_fau_idx_single()
144 unsigned idx = bi_lookup_constant(clause, cons, &hi); in bi_assign_fau_idx_single()
145 unsigned lo = clause->constants[idx] & 0xF; in bi_assign_fau_idx_single()
191 bi_assign_fau_idx(bi_clause *clause, in bi_assign_fau_idx() argument
195 bi_assign_fau_idx_single(&bundle->regs, clause, bundle->fma, false, true); in bi_assign_fau_idx()
197 bi_assign_fau_idx_single(&bundle->regs, clause, bundle->add, assigned, false); in bi_assign_fau_idx()
397 bi_pack_fma_special(bi_clause *clause, bi_instruction *ins, bi_registers *regs) in bi_pack_fma_special() argument
401 return pan_pack_fma_cubeface1(clause, ins, regs); in bi_pack_fma_special()
409 bi_pack_fma_ ## name(bi_clause *clause, bi_instruction *ins, bi_registers *regs) \
413 return pan_pack_fma_ ## name ## _i32(clause, ins, regs); \
415 return pan_pack_fma_ ## name ## _v2i16(clause, ins, regs); \
417 return pan_pack_fma_ ## name ## _v4i8(clause, ins, regs); \
432 bi_pack_fma_bitwise(bi_clause *clause, bi_instruction *ins, bi_registers *regs) in BI_PACK_SHIFT()
437 bi_pack_fma_rshift_and(clause, ins, regs) : in BI_PACK_SHIFT()
438 bi_pack_fma_lshift_and(clause, ins, regs); in BI_PACK_SHIFT()
441 bi_pack_fma_rshift_or(clause, ins, regs) : in BI_PACK_SHIFT()
442 bi_pack_fma_lshift_or(clause, ins, regs); in BI_PACK_SHIFT()
445 bi_pack_fma_rshift_xor(clause, ins, regs) : in BI_PACK_SHIFT()
446 bi_pack_fma_lshift_xor(clause, ins, regs); in BI_PACK_SHIFT()
449 return bi_pack_fma_arshift(clause, ins, regs); in BI_PACK_SHIFT()
456 bi_pack_fma(bi_clause *clause, bi_bundle bundle, bi_registers *regs) in bi_pack_fma() argument
459 return pan_pack_fma_nop_i32(clause, NULL, regs); in bi_pack_fma()
482 return pan_pack_fma_fadd_f32(clause, bundle.fma, regs); in bi_pack_fma()
484 return pan_pack_fma_fadd_v2f16(clause, bundle.fma, regs); in bi_pack_fma()
491 return pan_pack_fma_fcmp_f32(clause, bundle.fma, regs); in bi_pack_fma()
493 return pan_pack_fma_fcmp_v2f16(clause, bundle.fma, regs); in bi_pack_fma()
495 return bi_pack_fma_bitwise(clause, bundle.fma, regs); in bi_pack_fma()
499 return pan_pack_fma_s8_to_s32(clause, bundle.fma, regs); in bi_pack_fma()
502 return pan_pack_fma_u8_to_u32(clause, bundle.fma, regs); in bi_pack_fma()
505 return pan_pack_fma_s16_to_s32(clause, bundle.fma, regs); in bi_pack_fma()
508 return pan_pack_fma_u16_to_u32(clause, bundle.fma, regs); in bi_pack_fma()
511 return pan_pack_fma_f16_to_f32(clause, bundle.fma, regs); in bi_pack_fma()
514 return pan_pack_fma_v2f32_to_v2f16(clause, bundle.fma, regs); in bi_pack_fma()
520 return pan_pack_fma_csel_f32(clause, bundle.fma, regs); in bi_pack_fma()
522 return pan_pack_fma_csel_v2f16(clause, bundle.fma, regs); in bi_pack_fma()
524 return pan_pack_fma_csel_i32(clause, bundle.fma, regs); in bi_pack_fma()
526 return pan_pack_fma_csel_v2i16(clause, bundle.fma, regs); in bi_pack_fma()
528 return pan_pack_fma_csel_u32(clause, bundle.fma, regs); in bi_pack_fma()
530 return pan_pack_fma_csel_v2u16(clause, bundle.fma, regs); in bi_pack_fma()
532 return pan_pack_fma_csel_s32(clause, bundle.fma, regs); in bi_pack_fma()
534 return pan_pack_fma_csel_v2s16(clause, bundle.fma, regs); in bi_pack_fma()
540 return pan_pack_fma_fma_rscale_f32(clause, bundle.fma, regs); in bi_pack_fma()
542 return pan_pack_fma_fma_f32(clause, bundle.fma, regs); in bi_pack_fma()
547 return pan_pack_fma_fma_rscale_v2f16(clause, bundle.fma, regs); in bi_pack_fma()
549 return pan_pack_fma_fma_v2f16(clause, bundle.fma, regs); in bi_pack_fma()
555 return pan_pack_fma_frexpe_f32(clause, bundle.fma, regs); in bi_pack_fma()
557 return pan_pack_fma_frexpe_v2f16(clause, bundle.fma, regs); in bi_pack_fma()
563 return pan_pack_fma_iaddc_i32(clause, bundle.fma, regs); in bi_pack_fma()
565 return pan_pack_fma_isubb_i32(clause, bundle.fma, regs); in bi_pack_fma()
567 return pan_pack_fma_mov_i32(clause, bundle.fma, regs); in bi_pack_fma()
570 return pan_pack_fma_mkvec_v2i16(clause, bundle.fma, regs); in bi_pack_fma()
573 return pan_pack_fma_mkvec_v4i8(clause, bundle.fma, regs); in bi_pack_fma()
579 return pan_pack_fma_fround_v2f16(clause, bundle.fma, regs); in bi_pack_fma()
581 return pan_pack_fma_fround_f32(clause, bundle.fma, regs); in bi_pack_fma()
584 return pan_pack_fma_fadd_lscale_f32(clause, bundle.fma, regs); in bi_pack_fma()
586 return pan_pack_fma_imul_i32(clause, bundle.fma, regs); in bi_pack_fma()
588 return bi_pack_fma_special(clause, bundle.fma, regs); in bi_pack_fma()
672 bi_pack_add_special(bi_clause *clause, bi_instruction *ins, bi_registers *regs) in bi_pack_add_special() argument
678 return f16 ? pan_pack_add_frcp_f16(clause, ins, regs) : in bi_pack_add_special()
679 pan_pack_add_frcp_f32(clause, ins, regs); in bi_pack_add_special()
681 return f16 ? pan_pack_add_frsq_f16(clause, ins, regs) : in bi_pack_add_special()
682 pan_pack_add_frsq_f32(clause, ins, regs); in bi_pack_add_special()
685 return pan_pack_add_fexp_f32(clause, ins, regs); in bi_pack_add_special()
688 return pan_pack_add_iabs_s32(clause, ins, regs); in bi_pack_add_special()
690 return pan_pack_add_cubeface2(clause, ins, regs); in bi_pack_add_special()
692 return pan_pack_add_cube_ssel(clause, ins, regs); in bi_pack_add_special()
694 return pan_pack_add_cube_tsel(clause, ins, regs); in bi_pack_add_special()
701 bi_pack_add(bi_clause *clause, bi_bundle bundle, bi_registers *regs, gl_shader_stage stage) in bi_pack_add() argument
704 return pan_pack_add_nop_i32(clause, NULL, regs); in bi_pack_add()
730 return pan_pack_add_fadd_f32(clause, bundle.add, regs); in bi_pack_add()
732 return pan_pack_add_fadd_v2f16(clause, bundle.add, regs); in bi_pack_add()
736 return pan_pack_add_atest(clause, bundle.add, regs); in bi_pack_add()
741 return pan_pack_add_fcmp_f32(clause, bundle.add, regs); in bi_pack_add()
743 return pan_pack_add_fcmp_v2f16(clause, bundle.add, regs); in bi_pack_add()
745 return pan_pack_add_icmp_i32(clause, bundle.add, regs); in bi_pack_add()
747 return pan_pack_add_icmp_v2i16(clause, bundle.add, regs); in bi_pack_add()
749 return pan_pack_add_icmp_v4i8(clause, bundle.add, regs); in bi_pack_add()
751 return pan_pack_add_icmp_u32(clause, bundle.add, regs); in bi_pack_add()
753 return pan_pack_add_icmp_v2u16(clause, bundle.add, regs); in bi_pack_add()
755 return pan_pack_add_icmp_v4u8(clause, bundle.add, regs); in bi_pack_add()
757 return pan_pack_add_icmp_s32(clause, bundle.add, regs); in bi_pack_add()
759 return pan_pack_add_icmp_v2s16(clause, bundle.add, regs); in bi_pack_add()
761 return pan_pack_add_icmp_v4s8(clause, bundle.add, regs); in bi_pack_add()
765 return pan_pack_add_blend(clause, bundle.add, regs); in bi_pack_add()
770 return pan_pack_add_v2f16_to_v2s16(clause, bundle.add, regs); in bi_pack_add()
772 return pan_pack_add_v2f16_to_v2u16(clause, bundle.add, regs); in bi_pack_add()
774 return pan_pack_add_f16_to_s32(clause, bundle.add, regs); in bi_pack_add()
776 return pan_pack_add_f16_to_u32(clause, bundle.add, regs); in bi_pack_add()
778 return pan_pack_add_v2s16_to_v2f16(clause, bundle.add, regs); in bi_pack_add()
780 return pan_pack_add_v2u16_to_v2f16(clause, bundle.add, regs); in bi_pack_add()
782 return pan_pack_add_v2s8_to_v2s16(clause, bundle.add, regs); in bi_pack_add()
784 return pan_pack_add_v2u8_to_v2u16(clause, bundle.add, regs); in bi_pack_add()
786 return pan_pack_add_v2s8_to_v2f16(clause, bundle.add, regs); in bi_pack_add()
788 return pan_pack_add_v2u8_to_v2f16(clause, bundle.add, regs); in bi_pack_add()
790 return pan_pack_add_f32_to_s32(clause, bundle.add, regs); in bi_pack_add()
792 return pan_pack_add_f32_to_u32(clause, bundle.add, regs); in bi_pack_add()
794 return pan_pack_add_s8_to_s32(clause, bundle.add, regs); in bi_pack_add()
796 return pan_pack_add_u8_to_u32(clause, bundle.add, regs); in bi_pack_add()
798 return pan_pack_add_s8_to_f32(clause, bundle.add, regs); in bi_pack_add()
800 return pan_pack_add_u8_to_f32(clause, bundle.add, regs); in bi_pack_add()
802 return pan_pack_add_s32_to_f32(clause, bundle.add, regs); in bi_pack_add()
804 return pan_pack_add_u32_to_f32(clause, bundle.add, regs); in bi_pack_add()
806 return pan_pack_add_s16_to_s32(clause, bundle.add, regs); in bi_pack_add()
808 return pan_pack_add_u16_to_u32(clause, bundle.add, regs); in bi_pack_add()
810 return pan_pack_add_s16_to_f32(clause, bundle.add, regs); in bi_pack_add()
812 return pan_pack_add_u16_to_f32(clause, bundle.add, regs); in bi_pack_add()
814 return pan_pack_add_f16_to_f32(clause, bundle.add, regs); in bi_pack_add()
816 return pan_pack_add_v2f32_to_v2f16(clause, bundle.add, regs); in bi_pack_add()
820 return pan_pack_add_discard_f32(clause, bundle.add, regs); in bi_pack_add()
827 return (sz == 8) ? pan_pack_add_iadd_v4s8(clause, bundle.add, regs) : in bi_pack_add()
828 (sz == 16) ? pan_pack_add_iadd_v2s16(clause, bundle.add, regs) : in bi_pack_add()
829 pan_pack_add_iadd_s32(clause, bundle.add, regs); in bi_pack_add()
831 return (sz == 8) ? pan_pack_add_isub_v4s8(clause, bundle.add, regs) : in bi_pack_add()
832 (sz == 16) ? pan_pack_add_isub_v2s16(clause, bundle.add, regs) : in bi_pack_add()
833 pan_pack_add_isub_s32(clause, bundle.add, regs); in bi_pack_add()
836 return pan_pack_add_ld_attr_imm(clause, bundle.add, regs); in bi_pack_add()
841 case 1: return pan_pack_add_load_i32(clause, bundle.add, regs); in bi_pack_add()
842 case 2: return pan_pack_add_load_i64(clause, bundle.add, regs); in bi_pack_add()
843 case 3: return pan_pack_add_load_i96(clause, bundle.add, regs); in bi_pack_add()
844 case 4: return pan_pack_add_load_i128(clause, bundle.add, regs); in bi_pack_add()
850 return pan_pack_add_ld_var_special(clause, bundle.add, regs); in bi_pack_add()
852 return pan_pack_add_ld_var_flat_imm(clause, bundle.add, regs); in bi_pack_add()
854 return pan_pack_add_ld_var_imm(clause, bundle.add, regs); in bi_pack_add()
857 return pan_pack_add_ld_var_flat(clause, bundle.add, regs); in bi_pack_add()
859 return pan_pack_add_ld_var(clause, bundle.add, regs); in bi_pack_add()
862 return pan_pack_add_lea_attr_imm(clause, bundle.add, regs); in bi_pack_add()
864 return pan_pack_add_ld_tile(clause, bundle.add, regs); in bi_pack_add()
868 return pan_pack_add_fmin_f32(clause, bundle.add, regs); in bi_pack_add()
870 return pan_pack_add_fmin_v2f16(clause, bundle.add, regs); in bi_pack_add()
874 return pan_pack_add_fmax_f32(clause, bundle.add, regs); in bi_pack_add()
876 return pan_pack_add_fmax_v2f16(clause, bundle.add, regs); in bi_pack_add()
884 case 1: return pan_pack_add_store_i32(clause, bundle.add, regs); in bi_pack_add()
885 case 2: return pan_pack_add_store_i64(clause, bundle.add, regs); in bi_pack_add()
886 case 3: return pan_pack_add_store_i96(clause, bundle.add, regs); in bi_pack_add()
887 case 4: return pan_pack_add_store_i128(clause, bundle.add, regs); in bi_pack_add()
891 return pan_pack_add_st_cvt(clause, bundle.add, regs); in bi_pack_add()
893 return bi_pack_add_special(clause, bundle.add, regs); in bi_pack_add()
896 return pan_pack_add_flogd_f32(clause, bundle.add, regs); in bi_pack_add()
899 return pan_pack_add_mkvec_v2i16(clause, bundle.add, regs); in bi_pack_add()
901 return pan_pack_add_texc(clause, bundle.add, regs); in bi_pack_add()
908 return pan_pack_add_texs_2d_f16(clause, bundle.add, regs); in bi_pack_add()
910 return pan_pack_add_texs_2d_f32(clause, bundle.add, regs); in bi_pack_add()
914 return pan_pack_add_zs_emit(clause, bundle.add, regs); in bi_pack_add()
981 bi_pack_bundle(bi_clause *clause, bi_bundle bundle, bi_bundle prev, bool first_bundle, gl_shader_st… in bi_pack_bundle() argument
984 bi_assign_fau_idx(clause, &bundle); in bi_pack_bundle()
990 uint64_t fma = bi_pack_fma(clause, bundle, &bundle.regs); in bi_pack_bundle()
991 uint64_t add = bi_pack_add(clause, bundle, &bundle.regs, stage); in bi_pack_bundle()
1016 bi_pack_constants(bi_context *ctx, bi_clause *clause, in bi_pack_constants() argument
1021 bool done = clause->constant_count <= (index + 2); in bi_pack_constants()
1022 ASSERTED bool only = clause->constant_count <= (index + 1); in bi_pack_constants()
1025 bool branches = clause->branch_constant && done; in bi_pack_constants()
1028 assert(index == 0 && clause->bundle_count == 1); in bi_pack_constants()
1033 bi_instruction *br = clause->bundles[clause->bundle_count - 1].add; in bi_pack_constants()
1037 int32_t qwords = bi_block_offset(ctx, clause, br->branch_target); in bi_pack_constants()
1048 clause->constants[index + 0] = ((uint64_t) raw) << 32ull; in bi_pack_constants()
1051 uint64_t hi = clause->constants[index + 0] >> 60ull; in bi_pack_constants()
1056 .imm_1 = clause->constants[index + 0] >> 4, in bi_pack_constants()
1080 bi_pack_clause(bi_context *ctx, bi_clause *clause, in bi_pack_clause() argument
1086 bi_lower_cubeface2(ctx, &clause->bundles[0]); in bi_pack_clause()
1088 …struct bi_packed_bundle ins_1 = bi_pack_bundle(clause, clause->bundles[0], clause->bundles[0], tru… in bi_pack_clause()
1089 assert(clause->bundle_count == 1); in bi_pack_clause()
1095 .tag = clause->constant_count ? BIFROST_FMT1_CONSTANTS : BIFROST_FMT1_FINAL, in bi_pack_clause()
1096 .header = bi_pack_header(clause, next_1, next_2, tdd), in bi_pack_clause()
1106 while (constant_index < clause->constant_count) { in bi_pack_clause()
1107 constant_index += bi_pack_constants(ctx, clause, in bi_pack_clause()
1113 bi_next_clause(bi_context *ctx, pan_block *block, bi_clause *clause) in bi_next_clause() argument
1116 if (!clause && !list_is_empty(&((bi_block *) block)->clauses)) in bi_next_clause()
1120 if (clause && clause->link.next != &((bi_block *) block)->clauses) in bi_next_clause()
1121 return list_first_entry(&(clause->link), bi_clause, link); in bi_next_clause()
1152 const bi_clause *clause) in bi_collect_blend_ret_addr() argument
1158 const bi_bundle *bundle = &clause->bundles[clause->bundle_count - 1]; in bi_collect_blend_ret_addr()
1192 bi_foreach_clause_in_block(block, clause) { in bi_pack()
1193 bool is_last = clause->link.next == &block->clauses; in bi_pack()
1195 bi_clause *next = bi_next_clause(ctx, _block, clause); in bi_pack()
1198 bi_pack_clause(ctx, clause, next, next_2, emission, ctx->stage, tdd); in bi_pack()
1201 bi_collect_blend_ret_addr(ctx, emission, clause); in bi_pack()