amd/common: use llvm.amdgcn.wqm for explicit derivatives
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Tue, 1 May 2018 09:06:18 +0000 (11:06 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Fri, 4 May 2018 09:02:48 +0000 (11:02 +0200)
To comply with an upcoming change in LLVM, see
https://reviews.llvm.org/D46051

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/common/ac_llvm_build.c

index f21a5d2623c67f07b7691dcb1295874ecadc432d..c9b2e36b632d376221c7b7fd6dee836ce8fa7fa5 100644 (file)
@@ -1248,6 +1248,13 @@ ac_build_ddxy(struct ac_llvm_context *ctx,
        tl = LLVMBuildBitCast(ctx->builder, tl, ctx->f32, "");
        trbl = LLVMBuildBitCast(ctx->builder, trbl, ctx->f32, "");
        result = LLVMBuildFSub(ctx->builder, trbl, tl, "");
+
+       if (HAVE_LLVM >= 0x0700) {
+               result = ac_build_intrinsic(ctx,
+                       "llvm.amdgcn.wqm.f32", ctx->f32,
+                       &result, 1, 0);
+       }
+
        return result;
 }