From a794bdf95313f7b9a69b142712a1e198b5447e36 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Wed, 3 Nov 2021 11:14:19 +0100 Subject: [PATCH] broadcom/compiler: check that sig packing is valid when pipelining ldvary MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Alejandro PiƱeiro Part-of: --- src/broadcom/compiler/qpu_schedule.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/broadcom/compiler/qpu_schedule.c b/src/broadcom/compiler/qpu_schedule.c index de03edd8780..f65ee8bf8ec 100644 --- a/src/broadcom/compiler/qpu_schedule.c +++ b/src/broadcom/compiler/qpu_schedule.c @@ -2034,6 +2034,12 @@ fixup_pipelined_ldvary(struct v3d_compile *c, if (v3d_qpu_sig_writes_address(c->devinfo, &prev->qpu.sig)) return false; + uint32_t sig; + struct v3d_qpu_sig new_sig = prev->qpu.sig; + new_sig.ldvary = true; + if (!v3d_qpu_sig_pack(c->devinfo, &new_sig, &sig)) + return false; + /* The previous instruction cannot use flags since ldvary uses the * 'cond' instruction field to store the destination. */