diff --git a/src/compiler/nir/nir_opt_shrink_vectors.c b/src/compiler/nir/nir_opt_shrink_vectors.c index adb1282511e..c204e9b2400 100644 --- a/src/compiler/nir/nir_opt_shrink_vectors.c +++ b/src/compiler/nir/nir_opt_shrink_vectors.c @@ -439,7 +439,7 @@ opt_shrink_vectors_phi(nir_builder *b, nir_phi_instr *instr) /* However, even if the instruction only points back at the phi, we still * need to check that the swizzles are trivial. */ - if (nir_op_is_vec(alu->op)) { + if (nir_op_is_vec(alu->op) && alu->op != nir_op_mov) { if (src_idx != alu->src[src_idx].swizzle[0]) { mask |= src_read_mask; }