pan/bi: Structify ADD ICMP 16
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Sat, 2 May 2020 00:48:51 +0000 (20:48 -0400)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Mon, 4 May 2020 15:08:16 +0000 (11:08 -0400)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883>

src/panfrost/bifrost/bifrost.h

index be0c8dfdab9ef189cd98a06c20964becd217043f..d4e6952545b6138d5e5625f3a6fa1571ddba841a 100644 (file)
@@ -502,6 +502,8 @@ enum bifrost_icmp_cond {
         BIFROST_ICMP_UGE = 3,
         BIFROST_ICMP_EQ  = 4,
         BIFROST_ICMP_NEQ  = 5,
+        BIFROST_ICMP_32_OR_8 = 6, /* nested */
+        BIFROST_ICMP_64 = 7, /* nested */
 };
 
 struct bifrost_fma_icmp32 {
@@ -521,6 +523,9 @@ struct bifrost_fma_icmp16 {
         unsigned op : 9;
 } __attribute__((packed));
 
+#define BIFROST_ADD_OP_ICMP_32 (0x0f600 >> 8)
+#define BIFROST_ADD_OP_ICMP_16 (0x0f000 >> 11)
+
 struct bifrost_add_icmp {
         unsigned src0 : 3;
         unsigned src1 : 3;
@@ -530,6 +535,16 @@ struct bifrost_add_icmp {
         unsigned op : 9;
 } __attribute__((packed));
 
+struct bifrost_add_icmp16 {
+        unsigned src0 : 3;
+        unsigned src1 : 3;
+        unsigned src0_swizzle : 2;
+        unsigned src1_swizzle : 2;
+        unsigned d3d : 1;
+        enum bifrost_icmp_cond cond : 3;
+        unsigned op : 6;
+} __attribute__((packed));
 /* Two sources for vectorization */
 #define BIFROST_FMA_FLOAT32_TO_16 (0xdd000 >> 3)
 #define BIFROST_ADD_FLOAT32_TO_16 (0x0EC00 >> 3)