pan/midgard: Add mir_set_bytemask helper
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Thu, 24 Oct 2019 00:19:11 +0000 (20:19 -0400)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Fri, 25 Oct 2019 12:45:39 +0000 (08:45 -0400)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/panfrost/midgard/compiler.h
src/panfrost/midgard/mir.c

index 425a4dd..e66424d 100644 (file)
@@ -518,6 +518,7 @@ midgard_reg_mode mir_typesize(midgard_instruction *ins);
 uint16_t mir_from_bytemask(uint16_t bytemask, midgard_reg_mode mode);
 uint16_t mir_bytemask(midgard_instruction *ins);
 uint16_t mir_round_bytemask_down(uint16_t mask, midgard_reg_mode mode);
+void mir_set_bytemask(midgard_instruction *ins, uint16_t bytemask);
 
 /* MIR printing */
 
index 76c99a2..db26acd 100644 (file)
@@ -525,6 +525,12 @@ mir_bytemask(midgard_instruction *ins)
         return mir_to_bytemask(mir_typesize(ins), ins->mask);
 }
 
+void
+mir_set_bytemask(midgard_instruction *ins, uint16_t bytemask)
+{
+        ins->mask = mir_from_bytemask(bytemask, mir_typesize(ins));
+}
+
 /* Creates a mask of the components of a node read by an instruction, by
  * analyzing the swizzle with respect to the instruction's mask. E.g.:
  *