pan/bi: Add log_frexpe op to IR
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tue, 14 Apr 2020 16:37:29 +0000 (12:37 -0400)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Fri, 17 Apr 2020 20:25:34 +0000 (16:25 -0400)
As part of BI_FREXP

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

src/panfrost/bifrost/bi_print.c
src/panfrost/bifrost/bi_print.h
src/panfrost/bifrost/compiler.h

index 2ce6e7c715897a6aa42db5fde93c65782bebe089..5dc5947882efa5f67f5a28a684a81f3afe28da5b 100644 (file)
@@ -281,6 +281,15 @@ bi_reduce_op_name(enum bi_reduce_op op)
         }
 }
 
+const char *
+bi_frexp_op_name(enum bi_frexp_op op)
+{
+        switch (op) {
+        case BI_FREXPE_LOG: return "frexpe_log";
+        default: return "invalid";
+        }
+}
+
 static void
 bi_print_load_vary(struct bi_load_vary *load, FILE *fp)
 {
@@ -350,6 +359,8 @@ bi_print_instruction(bi_instruction *ins, FILE *fp)
                 fprintf(fp, "%s", bi_table_op_name(ins->op.table));
         else if (ins->type == BI_REDUCE_FMA)
                 fprintf(fp, "%s", bi_reduce_op_name(ins->op.reduce));
+        else if (ins->type == BI_FREXP)
+                fprintf(fp, "%s", bi_frexp_op_name(ins->op.frexp));
         else if (ins->type == BI_CMP)
                 fprintf(fp, "%s", bi_cond_name(ins->op.compare));
         else
index 816ceeb50b27060a2fd28ebfd153e67111e4d479..7635044954767502d2dde7adb513cafe7f2e69d7 100644 (file)
@@ -43,6 +43,7 @@ const char * bi_cond_name(enum bi_cond cond);
 const char * bi_special_op_name(enum bi_special_op op);
 const char * bi_table_op_name(enum bi_table_op op);
 const char * bi_reduce_op_name(enum bi_reduce_op op);
+const char * bi_frexp_op_name(enum bi_frexp_op op);
 
 void bi_print_instruction(bi_instruction *ins, FILE *fp);
 void bi_print_bundle(bi_bundle *bundle, FILE *fp);
index 06ef51bafbd8887f5094beaca3a61fba9aaeda81..c1350f480c5319ed292f3f7eadab5b636e12ab3e 100644 (file)
@@ -200,6 +200,10 @@ enum bi_reduce_op {
         BI_REDUCE_ADD_FREXPM,
 };
 
+enum bi_frexp_op {
+        BI_FREXPE_LOG,
+};
+
 enum bi_special_op {
         BI_SPECIAL_FRCP,
         BI_SPECIAL_FRSQ,
@@ -269,6 +273,7 @@ typedef struct {
                 enum bi_special_op special;
                 enum bi_reduce_op reduce;
                 enum bi_table_op table;
+                enum bi_frexp_op frexp;
                 enum bi_cond compare;
         } op;