[Mesa-dev] [PATCH] ac: use llvm.amdgcn.fract intrinsic for nir_op_ffract

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Tue Mar 19 22:48:13 UTC 2019


r-b

On Tue, Mar 19, 2019 at 11:37 PM Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
>
> Noticed with a Doom shader.
>
> 29077 shaders in 15096 tests
> Totals:
> SGPRS: 1282125 -> 1282133 (0.00 %)
> VGPRS: 908716 -> 908616 (-0.01 %)
> Spilled SGPRs: 24811 -> 24779 (-0.13 %)
> Code Size: 49048176 -> 48936488 (-0.23 %) bytes
> Max Waves: 244232 -> 244226 (-0.00 %)
>
> Totals from affected shaders:
> SGPRS: 229584 -> 229592 (0.00 %)
> VGPRS: 163268 -> 163168 (-0.06 %)
> Spilled SGPRs: 8682 -> 8650 (-0.37 %)
> Code Size: 12819572 -> 12707884 (-0.87 %) bytes
> Max Waves: 24398 -> 24392 (-0.02 %)
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>  src/amd/common/ac_llvm_build.c | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c
> index 0cab4d4a9b5..9cf1c6f8792 100644
> --- a/src/amd/common/ac_llvm_build.c
> +++ b/src/amd/common/ac_llvm_build.c
> @@ -2155,19 +2155,18 @@ LLVMValueRef ac_build_fract(struct ac_llvm_context *ctx, LLVMValueRef src0,
>         char *intr;
>
>         if (bitsize == 32) {
> -               intr = "llvm.floor.f32";
> +               intr = "llvm.amdgcn.fract.f32";
>                 type = ctx->f32;
>         } else {
> -               intr = "llvm.floor.f64";
> +               intr = "llvm.amdgcn.fract.f64";
>                 type = ctx->f64;
>         }
>
>         LLVMValueRef params[] = {
>                 src0,
>         };
> -       LLVMValueRef floor = ac_build_intrinsic(ctx, intr, type, params, 1,
> -                                               AC_FUNC_ATTR_READNONE);
> -       return LLVMBuildFSub(ctx->builder, src0, floor, "");
> +       return ac_build_intrinsic(ctx, intr, type, params, 1,
> +                                 AC_FUNC_ATTR_READNONE);
>  }
>
>  LLVMValueRef ac_build_isign(struct ac_llvm_context *ctx, LLVMValueRef src0,
> --
> 2.21.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list