import gdb-1999-09-08 snapshot
[deliverable/binutils-gdb.git] / sim / fr30 / sem.c
index 9d05ecd2b1f7edf51ad417bf7ac6f69adf4fcd76..58896987b92d252e3e4cd106d7345129d5981285 100644 (file)
@@ -5697,13 +5697,21 @@ SEM_FN_NAME (fr30bf,init_idesc_table) (SIM_CPU *current_cpu)
 {
   IDESC *idesc_table = CPU_IDESC (current_cpu);
   const struct sem_fn_desc *sf;
+  int mach_num = MACH_NUM (CPU_MACH (current_cpu));
 
   for (sf = &sem_fns[0]; sf->fn != 0; ++sf)
     {
+      int valid_p = CGEN_INSN_MACH_HAS_P (idesc_table[sf->index].idata, mach_num);
 #if FAST_P
-      idesc_table[sf->index].sem_fast = sf->fn;
+      if (valid_p)
+       idesc_table[sf->index].sem_fast = sf->fn;
+      else
+       idesc_table[sf->index].sem_fast = SEM_FN_NAME (fr30bf,x_invalid);
 #else
-      idesc_table[sf->index].sem_full = sf->fn;
+      if (valid_p)
+       idesc_table[sf->index].sem_full = sf->fn;
+      else
+       idesc_table[sf->index].sem_full = SEM_FN_NAME (fr30bf,x_invalid);
 #endif
     }
 }
This page took 0.0231 seconds and 4 git commands to generate.