On Fri, Jul 31, 2015 at 4:18 PM, Tom Stellard <t...@stellard.net> wrote: > On Tue, Jul 28, 2015 at 12:05:43PM +0200, Marek Olšák wrote: >> From: Marek Olšák <marek.ol...@amd.com> >> >> There are 2 reasons for this: >> - LLVM optimization passes can work with floor >> - there are patterns to select v_fract from floor anyway >> >> There is no change in the generated code. >> --- >> src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 20 >> ++++++++++++++++---- >> 1 file changed, 16 insertions(+), 4 deletions(-) >> >> diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c >> b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c >> index 319380f..5c08cf5 100644 >> --- a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c >> +++ b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c >> @@ -1170,6 +1170,20 @@ static void emit_dneg( >> emit_data->args[0], ""); >> } >> >> +static void emit_frac( >> + 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 floor = lp_build_intrinsic(builder, "floor", >> emit_data->dst_type, > > The intrinsics name should be "llvm.floor.f32" for float and "llvm.floor.f64" > for double. > > With that fixed, this is: > Reviewed-by: Tom Stellard <thomas.stell...@amd.com>
Sorry, I have pushed this already. Is it really required to use "llvm.floor.f*"? We've been using "floor" for FLR forever. We've also been using "fabs" and "ceil". Are those wrong too? Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev