OSDN Git Service

radv/ac: handle nir irem opcode.
authorDave Airlie <airlied@redhat.com>
Mon, 30 Jan 2017 18:50:30 +0000 (04:50 +1000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Fri, 3 Feb 2017 11:08:58 +0000 (11:08 +0000)
This fixes:
dEQP-VK.spirv_assembly.instruction.compute.opsrem.*

Reviewed-by: Andres Rodriguez <andresx7@gmail.com>
Cc: "17.0" <mesa-stable@lists.freedesktop.org"
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit ecc3fa3ba3967624f67abe8d8188102a08c20d7c)

src/amd/common/ac_nir_to_llvm.c

index 26e8453..18e3c39 100644 (file)
@@ -1267,6 +1267,9 @@ static void visit_alu(struct nir_to_llvm_context *ctx, nir_alu_instr *instr)
                src[1] = to_float(ctx, src[1]);
                result = LLVMBuildFRem(ctx->builder, src[0], src[1], "");
                break;
+       case nir_op_irem:
+               result = LLVMBuildSRem(ctx->builder, src[0], src[1], "");
+               break;
        case nir_op_idiv:
                result = LLVMBuildSDiv(ctx->builder, src[0], src[1], "");
                break;