nir_to_llvm can't deal with them being vectors.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18802>
return 0;
nir_alu_instr *alu = nir_instr_as_alu(instr);
- if (nir_dest_bit_size(alu->dest.dest) == 16)
- return 2;
+ if (nir_dest_bit_size(alu->dest.dest) == 16) {
+ switch (alu->op) {
+ case nir_op_unpack_32_2x16_split_x:
+ case nir_op_unpack_32_2x16_split_y:
+ return 1;
+ default:
+ return 2;
+ }
+ }
return 1;
}