From 1eff12f75acd62066399437042b7c016463ad932 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 10 Nov 2022 02:15:34 +0700 Subject: [PATCH] sim: ppc: collapse is_valid switch table more Instead of writing: case 1: return 1; case 2: return 1; ...etc... Output a single return so we get: case 1: case 2: case ... return 1; This saves ~100 lines of code. Hopefully the compiler was already smart enough to optimize to the same code, but if not, this probably helps there too :). --- sim/ppc/dgen.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sim/ppc/dgen.c b/sim/ppc/dgen.c index 0cc210b5fed..d2ea922ffc9 100644 --- a/sim/ppc/dgen.c +++ b/sim/ppc/dgen.c @@ -240,7 +240,7 @@ gen_spreg_c(spreg_table *table, lf *file) for (entry = table->sprs; entry != NULL; entry = entry->next) { lf_printf(file, " case %d:\n", entry->spreg_nr); if (strcmp(*attribute, "is_valid") == 0) - lf_printf(file, " return 1;\n"); + /* No return -- see below. */; else if (strcmp(*attribute, "is_readonly") == 0) lf_printf(file, " return %d;\n", entry->is_readonly); else if (strcmp(*attribute, "length") == 0) @@ -248,6 +248,9 @@ gen_spreg_c(spreg_table *table, lf *file) else ASSERT(0); } + /* Output a single return for is_valid. */ + if (strcmp(*attribute, "is_valid") == 0) + lf_printf(file, " return 1;\n"); lf_printf(file, " }\n"); lf_printf(file, " return 0;\n"); } -- 2.30.2