aboutsummaryrefslogtreecommitdiff
path: root/sim/fr30/sem-switch.c
diff options
context:
space:
mode:
Diffstat (limited to 'sim/fr30/sem-switch.c')
-rw-r--r--sim/fr30/sem-switch.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sim/fr30/sem-switch.c b/sim/fr30/sem-switch.c
index f3477e5..d6340c0 100644
--- a/sim/fr30/sem-switch.c
+++ b/sim/fr30/sem-switch.c
@@ -384,12 +384,16 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
#if WITH_SCACHE_PBB_FR30BF
-#ifdef DEFINE_SWITCH
+#if defined DEFINE_SWITCH || defined FAST_P
/* In the switch case FAST_P is a constant, allowing several optimizations
in any called inline functions. */
vpc = fr30bf_pbb_begin (current_cpu, FAST_P);
#else
+#if 0 /* cgen engine can't handle dynamic fast/full switching yet. */
vpc = fr30bf_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu)));
+#else
+ vpc = fr30bf_pbb_begin (current_cpu, 0);
+#endif
#endif
#endif
}