From e067fd7b00c5a9b4ab4b60c98315344d673f5239 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 14 Apr 2020 12:37:29 -0400 Subject: [PATCH] pan/bi: Add log_frexpe op to IR As part of BI_FREXP Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/bi_print.c | 11 +++++++++++ src/panfrost/bifrost/bi_print.h | 1 + src/panfrost/bifrost/compiler.h | 5 +++++ 3 files changed, 17 insertions(+) diff --git a/src/panfrost/bifrost/bi_print.c b/src/panfrost/bifrost/bi_print.c index 2ce6e7c7158..5dc5947882e 100644 --- a/src/panfrost/bifrost/bi_print.c +++ b/src/panfrost/bifrost/bi_print.c @@ -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 diff --git a/src/panfrost/bifrost/bi_print.h b/src/panfrost/bifrost/bi_print.h index 816ceeb50b2..76350449547 100644 --- a/src/panfrost/bifrost/bi_print.h +++ b/src/panfrost/bifrost/bi_print.h @@ -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); diff --git a/src/panfrost/bifrost/compiler.h b/src/panfrost/bifrost/compiler.h index 06ef51bafbd..c1350f480c5 100644 --- a/src/panfrost/bifrost/compiler.h +++ b/src/panfrost/bifrost/compiler.h @@ -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; -- 2.30.2