broadcom/compiler: disallow copy propagation of FMOV exclusive modifiers
Since .sat, .nsat and .max0 are only supported with FMOV we can't copy propagate an FMOV with any of these unpack modifiers into a different opcode. Reviewed-by: Juan A. Suarez <jasuarez@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30086>
This commit is contained in:
@@ -208,6 +208,14 @@ try_copy_prop(struct v3d_compile *c, struct qinst *inst, struct qinst **movs)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* These are only available with FMOV */
|
||||
if (mov->qpu.alu.mul.a.unpack >= V3D71_QPU_UNPACK_SAT &&
|
||||
mov->qpu.alu.mul.a.unpack <= V3D71_QPU_UNPACK_MAX0 &&
|
||||
inst->qpu.alu.mul.op != V3D_QPU_M_FMOV) {
|
||||
assert(c->devinfo->ver >= 71);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (debug) {
|
||||
|
Reference in New Issue
Block a user