pan/bi: Add v4i8 mode to FMA_SHIFT
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Mon, 2 Mar 2020 12:38:38 +0000 (07:38 -0500)
committerMarge Bot <eric+marge@anholt.net>
Tue, 3 Mar 2020 00:03:50 +0000 (00:03 +0000)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>

src/panfrost/bifrost/bifrost.h
src/panfrost/bifrost/disassemble.c

index 2cb6eb1ca2a721dfecb282467295fe28e031d46a..f811b77549331e847cf30a27e831dd16c1ef866d 100644 (file)
@@ -106,7 +106,7 @@ struct bifrost_shift_fma {
         unsigned src0 : 3;
         unsigned src1 : 3;
         unsigned src2 : 3;
-        unsigned half : 3; /* 000 for i32, 111 for v2i16 */
+        unsigned half : 3; /* 000 for i32, 100 for i8, 111 for v2i16 */
         unsigned unk  : 1; /* always set? */
         unsigned invert_1 : 1; /* Inverts sources to combining op */
         /* For XOR, switches RSHIFT to LSHIFT since only one invert needed */
index 51822d8bf28114b6e85439814a884712a4ab630f..01445ad9940e32affa241ee4eeba442530695996 100644 (file)
@@ -894,6 +894,8 @@ static void dump_fma(FILE *fp, uint64_t word, struct bifrost_regs regs, struct b
                         fprintf(fp, ".v2i16");
                 else if (shift.half == 0)
                         fprintf(fp, ".i32");
+                else if (shift.half == 0x4)
+                        fprintf(fp, ".v4i8");
                 else
                         fprintf(fp, ".unk%u", shift.half);