pan/bi: Structify FMA FCMP
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Mon, 27 Apr 2020 18:38:18 +0000 (14:38 -0400)
committerMarge Bot <eric+marge@anholt.net>
Tue, 28 Apr 2020 17:17:48 +0000 (17:17 +0000)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789>

src/panfrost/bifrost/bifrost.h

index 4262e0e90d46547c7119568b18112ac1e2fc8207..43da29431d434f78b661fd9e11611f1e0bd25672 100644 (file)
@@ -387,6 +387,27 @@ struct bifrost_shift_add {
         unsigned op : 7;
 } __attribute__((packed));
 
+enum bifrost_fcmp_cond {
+        BIFROST_OEQ = 0,
+        BIFROST_OGT = 1,
+        BIFROST_OGE = 2,
+        BIFROST_UNE = 3,
+        BIFROST_OLT = 4,
+        BIFROST_OLE = 5,
+};
+
+struct bifrost_fma_fcmp {
+        unsigned src0 : 3;
+        unsigned src1 : 3;
+        unsigned src1_abs : 1;
+        unsigned unk1 : 1;
+        unsigned src1_neg : 1;
+        unsigned src_expand : 3;
+        unsigned src0_abs : 1;
+        enum bifrost_fcmp_cond cond : 3;
+        unsigned op   : 7;
+} __attribute__((packed));
+
 /* Two sources for vectorization */
 #define BIFROST_FMA_FLOAT32_TO_16 (0xdd000 >> 3)
 #define BIFROST_ADD_FLOAT32_TO_16 (0x0EC00 >> 3)