aboutsummaryrefslogtreecommitdiffstats
path: root/src/panfrost/midgard/midgard_liveness.c
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-10-16 12:25:32 -0400
committerAlyssa Rosenzweig <[email protected]>2019-10-20 12:02:31 +0000
commite9202ff3cbbcceb691e6b64af5d379f0e8c03643 (patch)
treed48316eafbb3bd32f986bddf4412a237799a2c96 /src/panfrost/midgard/midgard_liveness.c
parentd079631248c81e8b82b5deb8a4559e84f1a7893a (diff)
pan/midgard: Report byte masks for read components
Read component masks don't have a particular type associated, since the type of the ALU operation may not match the type of the operands in question. So let's generate byte masks instead, and update the rest of the compiler to use byte masks when analyzing reads. Preparation for mixed types. Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/panfrost/midgard/midgard_liveness.c')
-rw-r--r--src/panfrost/midgard/midgard_liveness.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/panfrost/midgard/midgard_liveness.c b/src/panfrost/midgard/midgard_liveness.c
index 8320b918ed2..1aa4158e353 100644
--- a/src/panfrost/midgard/midgard_liveness.c
+++ b/src/panfrost/midgard/midgard_liveness.c
@@ -64,7 +64,8 @@ mir_liveness_ins_update(uint16_t *live, midgard_instruction *ins, unsigned max)
mir_foreach_src(ins, src) {
unsigned node = ins->src[src];
- unsigned mask = mir_mask_of_read_components(ins, node);
+ unsigned bytemask = mir_bytemask_of_read_components(ins, node);
+ unsigned mask = mir_from_bytemask(bytemask, midgard_reg_mode_32);
liveness_gen(live, node, max, mask);
}