diff options
author | Alyssa Rosenzweig <[email protected]> | 2020-03-10 08:47:20 -0400 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-03-10 19:26:00 +0000 |
commit | 20c7d57ede3a5e71aa6e2ef901d42eafcc39f1ae (patch) | |
tree | e6cf4b19d2add9f02caf91211e76952d1abf8a18 | |
parent | 08ab7cecd98ca5e128ed3bfc7cc38b0a24b37181 (diff) |
pan/bi: Specify comparison op for BI_CMP
...and adjust printing so we can use it as an op name.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4139>
-rw-r--r-- | src/panfrost/bifrost/bi_print.c | 20 | ||||
-rw-r--r-- | src/panfrost/bifrost/compiler.h | 1 |
2 files changed, 12 insertions, 9 deletions
diff --git a/src/panfrost/bifrost/bi_print.c b/src/panfrost/bifrost/bi_print.c index 06b4a034cfc..a91bb5e8af4 100644 --- a/src/panfrost/bifrost/bi_print.c +++ b/src/panfrost/bifrost/bi_print.c @@ -264,13 +264,13 @@ static const char * bi_cond_name(enum bi_cond cond) { switch (cond) { - case BI_COND_ALWAYS: return ".always"; - case BI_COND_LT: return ".lt"; - case BI_COND_LE: return ".le"; - case BI_COND_GE: return ".ge"; - case BI_COND_GT: return ".gt"; - case BI_COND_EQ: return ".eq"; - case BI_COND_NE: return ".ne"; + case BI_COND_ALWAYS: return "always"; + case BI_COND_LT: return "lt"; + case BI_COND_LE: return "le"; + case BI_COND_GE: return "ge"; + case BI_COND_GT: return "gt"; + case BI_COND_EQ: return "eq"; + case BI_COND_NE: return "ne"; default: return "invalid"; } } @@ -278,7 +278,7 @@ bi_cond_name(enum bi_cond cond) static void bi_print_branch(struct bi_branch *branch, FILE *fp) { - fprintf(fp, "%s", bi_cond_name(branch->cond)); + fprintf(fp, ".%s", bi_cond_name(branch->cond)); } static void @@ -313,6 +313,8 @@ bi_print_instruction(bi_instruction *ins, FILE *fp) fprintf(fp, ins->op.round == BI_ROUND_MODE ? "roundMode": "round"); else if (ins->type == BI_SPECIAL) fprintf(fp, "%s", bi_special_op_name(ins->op.special)); + else if (ins->type == BI_CMP) + fprintf(fp, "%s", bi_cond_name(ins->op.compare)); else fprintf(fp, "%s", bi_class_name(ins->type)); @@ -323,7 +325,7 @@ bi_print_instruction(bi_instruction *ins, FILE *fp) else if (ins->type == BI_BRANCH) bi_print_branch(&ins->branch, fp); else if (ins->type == BI_CSEL) - fprintf(fp, "%s", bi_cond_name(ins->csel_cond)); + fprintf(fp, ".%s", bi_cond_name(ins->csel_cond)); else if (ins->type == BI_BLEND) fprintf(fp, ".loc%u", ins->blend_location); diff --git a/src/panfrost/bifrost/compiler.h b/src/panfrost/bifrost/compiler.h index ec1a6f3768c..cd0408b6119 100644 --- a/src/panfrost/bifrost/compiler.h +++ b/src/panfrost/bifrost/compiler.h @@ -236,6 +236,7 @@ typedef struct { enum bi_bitwise_op bitwise; enum bi_round_op round; enum bi_special_op special; + enum bi_cond compare; } op; /* Union for class-specific information */ |