pan/bi: Model MKVEC.v2i8
authorAlyssa Rosenzweig <alyssa@collabora.com>
Fri, 17 Jun 2022 15:53:53 +0000 (11:53 -0400)
committerMarge Bot <emma+marge@anholt.net>
Tue, 21 Jun 2022 22:42:34 +0000 (22:42 +0000)
Valhall does not have Bifrost's 4-source MKVEC.v4i8. Instead, it has a (somewhat
limtied) 3-source MKVEC.v2i8. The full MKVEC.v4i8 may be lowered to a pair of
MKVEC.v2i8 instructions.

For good code quality on both Bifrost and Valhall, we need to model both
instructions in their full generality.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101>

src/panfrost/bifrost/ISA.xml

index 5456153..85ec0b2 100644 (file)
     </mod>
   </ins>
 
+  <ins name="*MKVEC.v2i8" pseudo="true">
+    <src start="0"/>
+    <src start="3"/>
+    <src start="6"/>
+    <mod name="lane0" start="12" size="2" default="b0">
+      <opt>b0</opt>
+      <opt>b1</opt>
+      <opt>b2</opt>
+      <opt>b3</opt>
+    </mod>
+    <mod name="lane1" start="13" size="2" default="b0">
+      <opt>b0</opt>
+      <opt>b1</opt>
+      <opt>b2</opt>
+      <opt>b3</opt>
+    </mod>
+  </ins>
+
   <ins name="+COLLECT.i32" pseudo="true"/>
 
   <ins name="+SPLIT.i32" pseudo="true">