aco: implement nir_op_unpack_[64/32]_*
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6527>
This commit is contained in:

committed by
Marge Bot

parent
79cd22b889
commit
543f50789a
@@ -2561,6 +2561,12 @@ void visit_alu_instr(isel_context *ctx, nir_alu_instr *instr)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case nir_op_unpack_64_2x32:
|
||||||
|
case nir_op_unpack_32_2x16:
|
||||||
|
case nir_op_unpack_64_4x16:
|
||||||
|
bld.copy(Definition(dst), get_alu_src(ctx, instr->src[0]));
|
||||||
|
emit_split_vector(ctx, dst, instr->op == nir_op_unpack_64_4x16 ? 4 : 2);
|
||||||
|
break;
|
||||||
case nir_op_pack_64_2x32_split: {
|
case nir_op_pack_64_2x32_split: {
|
||||||
Temp src0 = get_alu_src(ctx, instr->src[0]);
|
Temp src0 = get_alu_src(ctx, instr->src[0]);
|
||||||
Temp src1 = get_alu_src(ctx, instr->src[1]);
|
Temp src1 = get_alu_src(ctx, instr->src[1]);
|
||||||
|
Reference in New Issue
Block a user