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;
|
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) {
|
if (debug) {
|
||||||
|
Reference in New Issue
Block a user