Lines Matching defs:bld
47 replace_with_strict_ffma(struct nir_builder *bld, struct u_vector *dead_flrp,
50 nir_ssa_def *const a = nir_ssa_for_alu_src(bld, alu, 0);
51 nir_ssa_def *const b = nir_ssa_for_alu_src(bld, alu, 1);
52 nir_ssa_def *const c = nir_ssa_for_alu_src(bld, alu, 2);
54 nir_ssa_def *const neg_a = nir_fneg(bld, a);
57 nir_ssa_def *const inner_ffma = nir_ffma(bld, neg_a, c, a);
60 nir_ssa_def *const outer_ffma = nir_ffma(bld, b, c, inner_ffma);
76 replace_with_single_ffma(struct nir_builder *bld, struct u_vector *dead_flrp,
79 nir_ssa_def *const a = nir_ssa_for_alu_src(bld, alu, 0);
80 nir_ssa_def *const b = nir_ssa_for_alu_src(bld, alu, 1);
81 nir_ssa_def *const c = nir_ssa_for_alu_src(bld, alu, 2);
83 nir_ssa_def *const neg_c = nir_fneg(bld, c);
87 nir_fadd(bld, nir_imm_floatN_t(bld, 1.0f, c->bit_size), neg_c);
90 nir_ssa_def *const b_times_c = nir_fmul(bld, b, c);
93 nir_ssa_def *const final_ffma = nir_ffma(bld, a, one_minus_c, b_times_c);
109 replace_with_strict(struct nir_builder *bld, struct u_vector *dead_flrp,
112 nir_ssa_def *const a = nir_ssa_for_alu_src(bld, alu, 0);
113 nir_ssa_def *const b = nir_ssa_for_alu_src(bld, alu, 1);
114 nir_ssa_def *const c = nir_ssa_for_alu_src(bld, alu, 2);
116 nir_ssa_def *const neg_c = nir_fneg(bld, c);
120 nir_fadd(bld, nir_imm_floatN_t(bld, 1.0f, c->bit_size), neg_c);
123 nir_ssa_def *const first_product = nir_fmul(bld, a, one_minus_c);
126 nir_ssa_def *const second_product = nir_fmul(bld, b, c);
129 nir_ssa_def *const sum = nir_fadd(bld, first_product, second_product);
145 replace_with_fast(struct nir_builder *bld, struct u_vector *dead_flrp,
148 nir_ssa_def *const a = nir_ssa_for_alu_src(bld, alu, 0);
149 nir_ssa_def *const b = nir_ssa_for_alu_src(bld, alu, 1);
150 nir_ssa_def *const c = nir_ssa_for_alu_src(bld, alu, 2);
152 nir_ssa_def *const neg_a = nir_fneg(bld, a);
155 nir_ssa_def *const b_minus_a = nir_fadd(bld, b, neg_a);
158 nir_ssa_def *const product = nir_fmul(bld, c, b_minus_a);
161 nir_ssa_def *const sum = nir_fadd(bld, a, product);
179 replace_with_expanded_ffma_and_add(struct nir_builder *bld,
183 nir_ssa_def *const a = nir_ssa_for_alu_src(bld, alu, 0);
184 nir_ssa_def *const b = nir_ssa_for_alu_src(bld, alu, 1);
185 nir_ssa_def *const c = nir_ssa_for_alu_src(bld, alu, 2);
187 nir_ssa_def *const b_times_c = nir_fmul(bld, b, c);
193 nir_ssa_def *const neg_c = nir_fneg(bld, c);
196 inner_sum = nir_fadd(bld, a, neg_c);
198 inner_sum = nir_fadd(bld, a, c);
203 nir_ssa_def *const outer_sum = nir_fadd(bld, inner_sum, b_times_c);
364 convert_flrp_instruction(nir_builder *bld,
373 have_ffma = !bld->shader->options->lower_ffma16;
375 have_ffma = !bld->shader->options->lower_ffma32;
377 have_ffma = !bld->shader->options->lower_ffma64;
381 bld->cursor = nir_before_instr(&alu->instr);
428 replace_with_strict_ffma(bld, dead_flrp, alu);
430 replace_with_strict(bld, dead_flrp, alu);
446 replace_with_fast(bld, dead_flrp, alu);
465 replace_with_expanded_ffma_and_add(bld, dead_flrp, alu,
469 replace_with_expanded_ffma_and_add(bld, dead_flrp, alu,
497 replace_with_strict(bld, dead_flrp, alu);
503 replace_with_strict_ffma(bld, dead_flrp, alu);
522 replace_with_strict_ffma(bld, dead_flrp, alu);
536 replace_with_single_ffma(bld, dead_flrp, alu);
541 replace_with_strict(bld, dead_flrp, alu);
566 replace_with_strict(bld, dead_flrp, alu);
584 replace_with_strict(bld, dead_flrp, alu);
593 replace_with_fast(bld, dead_flrp, alu);