radeonsi: stop vectorizing unpack_32_2x16_split

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>
This commit is contained in:
Karol Herbst 2022-09-27 19:08:41 +02:00 committed by Marge Bot
parent 876ea2f83b
commit 3246889fb0

View file

@ -48,8 +48,15 @@ static uint8_t si_vectorize_callback(const nir_instr *instr, const void *data)
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;
}