broadcom/compiler: fix SFU check for 7.1
Avoid SFU op when the result would land in other thread. total instructions in shared programs: 691634 -> 691928 (0.04%) instructions in affected programs: 44888 -> 45182 (0.65%) helped: 17 HURT: 211 helped stats (abs) min: 1 max: 2 x̄: 1.06 x̃: 1 helped stats (rel) min: 0.19% max: 1.96% x̄: 0.74% x̃: 0.71% HURT stats (abs) min: 1 max: 8 x̄: 1.48 x̃: 1 HURT stats (rel) min: 0.06% max: 14.29% x̄: 2.15% x̃: 1.11% 95% mean confidence interval for instructions value: 1.14 1.44 95% mean confidence interval for instructions %-change: 1.62% 2.24% Instructions are HURT. total max-temps in shared programs: 133794 -> 133804 (<.01%) max-temps in affected programs: 237 -> 247 (4.22%) helped: 0 HURT: 10 HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 HURT stats (rel) min: 1.72% max: 12.50% x̄: 6.52% x̃: 4.63% 95% mean confidence interval for max-temps value: 1.00 1.00 95% mean confidence interval for max-temps %-change: 3.37% 9.66% Max-temps are HURT. total sfu-stalls in shared programs: 818 -> 766 (-6.36%) sfu-stalls in affected programs: 164 -> 112 (-31.71%) helped: 79 HURT: 26 helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 helped stats (rel) min: 10.00% max: 100.00% x̄: 76.52% x̃: 100.00% HURT stats (abs) min: 1 max: 2 x̄: 1.04 x̃: 1 HURT stats (rel) min: 0.00% max: 100.00% x̄: 12.18% x̃: 0.00% 95% mean confidence interval for sfu-stalls value: -0.67 -0.32 95% mean confidence interval for sfu-stalls %-change: -64.00% -45.11% Sfu-stalls are helped. total inst-and-stalls in shared programs: 692452 -> 692694 (0.03%) inst-and-stalls in affected programs: 36509 -> 36751 (0.66%) helped: 9 HURT: 181 helped stats (abs) min: 1 max: 2 x̄: 1.11 x̃: 1 helped stats (rel) min: 0.19% max: 1.96% x̄: 0.74% x̃: 0.71% HURT stats (abs) min: 1 max: 8 x̄: 1.39 x̃: 1 HURT stats (rel) min: 0.06% max: 6.25% x̄: 1.57% x̃: 1.09% 95% mean confidence interval for inst-and-stalls value: 1.12 1.43 95% mean confidence interval for inst-and-stalls %-change: 1.27% 1.66% Inst-and-stalls are HURT. total nops in shared programs: 25075 -> 25154 (0.32%) nops in affected programs: 529 -> 608 (14.93%) helped: 3 HURT: 76 helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 helped stats (rel) min: 5.26% max: 50.00% x̄: 21.75% x̃: 10.00% HURT stats (abs) min: 1 max: 6 x̄: 1.08 x̃: 1 HURT stats (rel) min: 1.04% max: 200.00% x̄: 48.08% x̃: 50.00% 95% mean confidence interval for nops value: 0.84 1.16 95% mean confidence interval for nops %-change: 36.45% 54.40% Nops are HURT. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28009>
This commit is contained in:
committed by
Marge Bot
parent
9b1008f3bc
commit
7eae0e03f1
@@ -2032,8 +2032,12 @@ qpu_inst_before_thrsw_valid_in_delay_slot(struct v3d_compile *c,
|
||||
* thread. The simulator complains for safety, though it
|
||||
* would only occur for dead code in our case.
|
||||
*/
|
||||
if (slot > 0 && v3d_qpu_instr_is_legacy_sfu(&qinst->qpu))
|
||||
return false;
|
||||
if (slot > 0) {
|
||||
if (c->devinfo->ver == 42 && v3d_qpu_instr_is_legacy_sfu(&qinst->qpu))
|
||||
return false;
|
||||
if (c->devinfo->ver >= 71 && v3d_qpu_instr_is_sfu(&qinst->qpu))
|
||||
return false;
|
||||
}
|
||||
|
||||
if (qinst->qpu.sig.ldvary) {
|
||||
if (c->devinfo->ver == 42 && slot > 0)
|
||||
|
||||
Reference in New Issue
Block a user