mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
ac/llvm: implement ford, funord, fneo, fequ, fltu, fgeu
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29467>
This commit is contained in:
parent
c5ba17cd25
commit
3dfc8b3bcf
1 changed files with 18 additions and 0 deletions
|
|
@ -689,12 +689,30 @@ static bool visit_alu(struct ac_nir_context *ctx, const nir_alu_instr *instr)
|
|||
case nir_op_fneu:
|
||||
result = emit_float_cmp(&ctx->ac, LLVMRealUNE, src[0], src[1]);
|
||||
break;
|
||||
case nir_op_fequ:
|
||||
result = emit_float_cmp(&ctx->ac, LLVMRealUEQ, src[0], src[1]);
|
||||
break;
|
||||
case nir_op_fneo:
|
||||
result = emit_float_cmp(&ctx->ac, LLVMRealONE, src[0], src[1]);
|
||||
break;
|
||||
case nir_op_flt:
|
||||
result = emit_float_cmp(&ctx->ac, LLVMRealOLT, src[0], src[1]);
|
||||
break;
|
||||
case nir_op_fge:
|
||||
result = emit_float_cmp(&ctx->ac, LLVMRealOGE, src[0], src[1]);
|
||||
break;
|
||||
case nir_op_fltu:
|
||||
result = emit_float_cmp(&ctx->ac, LLVMRealULT, src[0], src[1]);
|
||||
break;
|
||||
case nir_op_fgeu:
|
||||
result = emit_float_cmp(&ctx->ac, LLVMRealUGE, src[0], src[1]);
|
||||
break;
|
||||
case nir_op_funord:
|
||||
result = emit_float_cmp(&ctx->ac, LLVMRealUNO, src[0], src[1]);
|
||||
break;
|
||||
case nir_op_ford:
|
||||
result = emit_float_cmp(&ctx->ac, LLVMRealORD, src[0], src[1]);
|
||||
break;
|
||||
case nir_op_fabs:
|
||||
result =
|
||||
emit_intrin_1f_param(&ctx->ac, "llvm.fabs", ac_to_float_type(&ctx->ac, def_type), src[0]);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue