* See https://en.wikipedia.org/wiki/Division_algorithm for more details.
*/
- ra = nir_ffma(b, nir_fneg(b, ra), nir_ffma(b, ra, src, nir_imm_double(b, -1)), ra);
- ra = nir_ffma(b, nir_fneg(b, ra), nir_ffma(b, ra, src, nir_imm_double(b, -1)), ra);
+ ra = nir_ffma(b, nir_fneg(b, ra), nir_ffma_imm2(b, ra, src, -1), ra);
+ ra = nir_ffma(b, nir_fneg(b, ra), nir_ffma_imm2(b, ra, src, -1), ra);
return fix_inv_result(b, ra, src, new_exp);
}
assert(alu->op == nir_op_fsin || alu->op == nir_op_fcos);
auto fract = nir_ffract(b,
- nir_ffma(b,
- nir_ssa_for_alu_src(b, alu, 0),
- nir_imm_float(b, 0.15915494),
- nir_imm_float(b, 0.5)));
+ nir_ffma_imm12(b,
+ nir_ssa_for_alu_src(b, alu, 0),
+ 0.15915494,
+ 0.5));
auto normalized =
m_gxf_level != R600
? nir_fadd_imm(b, fract, -0.5)
- : nir_ffma(b, fract, nir_imm_float(b, 2.0f * M_PI), nir_imm_float(b, -M_PI));
+ : nir_ffma_imm12(b, fract, 2.0f * M_PI, -M_PI);
if (alu->op == nir_op_fsin)
return nir_fsin_amd(b, normalized);