ac: fix some 64bit unpack asserts
authorTimothy Arceri <tarceri@itsqueeze.com>
Fri, 9 Feb 2018 06:15:54 +0000 (17:15 +1100)
committerTimothy Arceri <tarceri@itsqueeze.com>
Fri, 9 Feb 2018 23:46:28 +0000 (10:46 +1100)
Previously the asserts did not take swizzles into account.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/amd/common/ac_nir_to_llvm.c

index 3691555208bfbd44f7484c7deb86a86456cb39a6..396627bf1b7ac299a17724b9f09fcc77af515dd1 100644 (file)
@@ -2042,7 +2042,7 @@ static void visit_alu(struct ac_nir_context *ctx, const nir_alu_instr *instr)
                break;
 
        case nir_op_unpack_64_2x32_split_x: {
-               assert(instr->src[0].src.ssa->num_components == 1);
+               assert(ac_get_llvm_num_components(src[0]) == 1);
                LLVMValueRef tmp = LLVMBuildBitCast(ctx->ac.builder, src[0],
                                                    ctx->ac.v2i32,
                                                    "");
@@ -2052,7 +2052,7 @@ static void visit_alu(struct ac_nir_context *ctx, const nir_alu_instr *instr)
        }
 
        case nir_op_unpack_64_2x32_split_y: {
-               assert(instr->src[0].src.ssa->num_components == 1);
+               assert(ac_get_llvm_num_components(src[0]) == 1);
                LLVMValueRef tmp = LLVMBuildBitCast(ctx->ac.builder, src[0],
                                                    ctx->ac.v2i32,
                                                    "");