> > diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
> > b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
> > index 04469e2..bb37154 100644
> > --- a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
> > +++ b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
> > @@ -934,6 +934,20 @@ static void emit_u2f(
> > emit_data->args[0], bld_base->base.elem_type, "");
> > }
> >
> > +static void emit_cndlt(
> > + const struct lp_build_tgsi_action * action,
> > + struct lp_build_tgsi_context * bld_base,
> > + struct lp_build_emit_data * emit_data)
> > +{
> > + LLVMBuilderRef builder = bld_base->base.gallivm->builder;
> > + LLVMValueRef float_zero = lp_build_const_float(
> > + bld_base->base.gallivm, 0.0f);
> > + LLVMValueRef cmp = LLVMBuildFCmp(
> > + builder, LLVMRealULT, emit_data->args[0], float_zero, "");
> > + emit_data->output[emit_data->chan] = LLVMBuildSelect(builder,
> > + cmp, emit_data->args[1], emit_data->args[2], "");
> > +}
> > +
> > static void emit_immediate(struct lp_build_tgsi_context * bld_base,
> > const struct tgsi_full_immediate *imm)
> > {
> > @@ -1115,8 +1129,7 @@ void radeon_llvm_context_init(struct
> > radeon_llvm_context * ctx)
> > bld_base->op_actions[TGSI_OPCODE_CONT].emit = cont_emit;
> > bld_base->op_actions[TGSI_OPCODE_CLAMP].emit =
> > build_tgsi_intrinsic_nomem;
> > bld_base->op_actions[TGSI_OPCODE_CLAMP].intr_name = "llvm.AMDIL.clamp.";
> > - bld_base->op_actions[TGSI_OPCODE_CMP].emit = build_tgsi_intrinsic_nomem;
> > - bld_base->op_actions[TGSI_OPCODE_CMP].intr_name = "llvm.AMDGPU.cndlt";
> > + bld_base->op_actions[TGSI_OPCODE_CMP].emit = emit_cndlt;
> > bld_base->op_actions[TGSI_OPCODE_COS].emit = build_tgsi_intrinsic_nomem;
> > bld_base->op_actions[TGSI_OPCODE_COS].intr_name = "llvm.AMDGPU.cos";
> > bld_base->op_actions[TGSI_OPCODE_DIV].emit = build_tgsi_intrinsic_nomem;
>
> It would be nice if you could also remove the llvm.AMDGPU.cndlt
> intrinsic and also delete the SI pseudo instruction that uses it. I can
> test on SI for you.
>
Unfortunately, removing this intrinsic from SI uncovers a bug that may
be difficult to solve, so for now just leave the intrinsic, so SI can
use it.
-Tom
>
> > --
> > 1.7.11.4
> >
> > _______________________________________________
> > mesa-dev mailing list
> > [email protected]
> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev