> > 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 > > mesa-dev@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev