From 5318b8868b97aca7273e5d42aea05817096725bf Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Thu, 29 Aug 2024 19:19:50 -0400 Subject: [PATCH] nir: simplify atan range reduction fixup the original version sure is creative. Signed-off-by: Alyssa Rosenzweig Reviewed-by: Ian Romanick Part-of: --- src/compiler/nir/nir_builtin_builder.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/compiler/nir/nir_builtin_builder.c b/src/compiler/nir/nir_builtin_builder.c index c28d0b0beca..73127a69e00 100644 --- a/src/compiler/nir/nir_builtin_builder.c +++ b/src/compiler/nir/nir_builtin_builder.c @@ -202,10 +202,8 @@ nir_atan(nir_builder *b, nir_def *y_over_x) nir_def *tmp = nir_fmul(b, nir_fabs(b, u), res); /* range-reduction fixup */ - tmp = nir_ffma(b, - nir_b2fN(b, nir_flt(b, one, abs_y_over_x), bit_size), - nir_ffma_imm12(b, tmp, -2.0f, M_PI_2), - tmp); + tmp = nir_bcsel(b, nir_flt(b, one, abs_y_over_x), + nir_fsub_imm(b, M_PI_2, tmp), tmp); /* sign fixup */ nir_def *result = nir_copysign(b, tmp, y_over_x);