Lines Matching refs:exact
257 SpvOp opcode, bool *swap, bool *exact, in vtn_nir_alu_op_for_spirv_opcode() argument
265 *exact = false; in vtn_nir_alu_op_for_spirv_opcode()
324 case SpvOpFOrdEqual: *exact = true; return nir_op_feq; in vtn_nir_alu_op_for_spirv_opcode()
325 case SpvOpFUnordEqual: *exact = true; return nir_op_feq; in vtn_nir_alu_op_for_spirv_opcode()
328 case SpvOpFOrdNotEqual: *exact = true; return nir_op_fneu; in vtn_nir_alu_op_for_spirv_opcode()
329 case SpvOpFUnordNotEqual: *exact = true; return nir_op_fneu; in vtn_nir_alu_op_for_spirv_opcode()
332 case SpvOpFOrdLessThan: *exact = true; return nir_op_flt; in vtn_nir_alu_op_for_spirv_opcode()
333 case SpvOpFUnordLessThan: *exact = true; return nir_op_flt; in vtn_nir_alu_op_for_spirv_opcode()
336 case SpvOpFOrdGreaterThan: *swap = true; *exact = true; return nir_op_flt; in vtn_nir_alu_op_for_spirv_opcode()
337 case SpvOpFUnordGreaterThan: *swap = true; *exact = true; return nir_op_flt; in vtn_nir_alu_op_for_spirv_opcode()
340 case SpvOpFOrdLessThanEqual: *swap = true; *exact = true; return nir_op_fge; in vtn_nir_alu_op_for_spirv_opcode()
341 case SpvOpFUnordLessThanEqual: *swap = true; *exact = true; return nir_op_fge; in vtn_nir_alu_op_for_spirv_opcode()
344 case SpvOpFOrdGreaterThanEqual: *exact = true; return nir_op_fge; in vtn_nir_alu_op_for_spirv_opcode()
345 case SpvOpFUnordGreaterThanEqual: *exact = true; return nir_op_fge; in vtn_nir_alu_op_for_spirv_opcode()
388 b->nb.exact = true; in handle_no_contraction()
478 b->nb.exact = b->exact; in vtn_handle_alu()
560 const bool save_exact = b->nb.exact; in vtn_handle_alu()
562 b->nb.exact = true; in vtn_handle_alu()
564 b->nb.exact = save_exact; in vtn_handle_alu()
569 const bool save_exact = b->nb.exact; in vtn_handle_alu()
571 b->nb.exact = true; in vtn_handle_alu()
574 b->nb.exact = save_exact; in vtn_handle_alu()
579 const bool save_exact = b->nb.exact; in vtn_handle_alu()
581 b->nb.exact = true; in vtn_handle_alu()
584 b->nb.exact = save_exact; in vtn_handle_alu()
614 const bool save_exact = b->nb.exact; in vtn_handle_alu()
616 b->nb.exact = true; in vtn_handle_alu()
625 b->nb.exact = save_exact; in vtn_handle_alu()
636 bool exact; in vtn_handle_alu() local
639 nir_op op = vtn_nir_alu_op_for_spirv_opcode(b, opcode, &swap, &exact, in vtn_handle_alu()
643 assert(exact); in vtn_handle_alu()
645 const bool save_exact = b->nb.exact; in vtn_handle_alu()
647 b->nb.exact = true; in vtn_handle_alu()
656 b->nb.exact = save_exact; in vtn_handle_alu()
712 bool exact; in vtn_handle_alu() local
715 nir_op op = vtn_nir_alu_op_for_spirv_opcode(b, opcode, &swap, &exact, in vtn_handle_alu()
718 assert(!exact); in vtn_handle_alu()
764 bool exact; in vtn_handle_alu() local
768 &exact, in vtn_handle_alu()
788 const bool save_exact = b->nb.exact; in vtn_handle_alu()
790 if (exact) in vtn_handle_alu()
791 b->nb.exact = true; in vtn_handle_alu()
795 b->nb.exact = save_exact; in vtn_handle_alu()
817 b->nb.exact = b->exact; in vtn_handle_alu()