This is the mail archive of the cgen@sourceware.org mailing list for the CGEN project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

sim-model.scm @cpu@ vs @prefix@ confusion


    Hi CGEN,

  It looks to me like there are a couple of spots in -gen-mach-defns where the
 prefix should be used instead of the cpu, specifically when referencing
*_INSN__MAX and in the names of the *_engine_run_* functions.  Certainly
that's how genmloop.sh and friends expect them to look.  I had to apply the
attached patch otherwise I get undefined references in the generated mloop.c,
so here it is.

cgen/ChangeLog:

	* sim-model.scm (-gen-mach-defns): Replace @cpu@ and @CPU@ by @prefix@
	and @PREFIX@ when setting CPU_MAX_INSNS and the CPU_*_ENGINE_FNs.

  I'm not sure about the relation between cpu and prefix yet, but in my
generated files the prefix appears to be a concatenation of isa and cpu.
Maybe in other ports the prefix ends up just being equal to the cpu and that's
why this hasn't caused any problems in /src?  I didn't investigate yet.

    cheers,
      DaveK

Index: sim-model.scm
===================================================================
--- sim-model.scm	(revision 141)
+++ sim-model.scm	(working copy)
@@ -333,13 +333,13 @@ static void\n"
   CPU_PC_FETCH (cpu) = " (gen-sym (mach-cpu mach)) "_h_pc_get;
   CPU_PC_STORE (cpu) = " (gen-sym (mach-cpu mach)) "_h_pc_set;
   CPU_GET_IDATA (cpu) = @cpu@_get_idata;
-  CPU_MAX_INSNS (cpu) = @CPU@_INSN__MAX;
+  CPU_MAX_INSNS (cpu) = @PREFIX@_INSN__MAX;
   CPU_INSN_NAME (cpu) = cgen_insn_name;
-  CPU_FULL_ENGINE_FN (cpu) = @cpu@_engine_run_full;
+  CPU_FULL_ENGINE_FN (cpu) = @prefix@_engine_run_full;
 #if WITH_FAST
-  CPU_FAST_ENGINE_FN (cpu) = @cpu@_engine_run_fast;
+  CPU_FAST_ENGINE_FN (cpu) = @prefix@_engine_run_fast;
 #else
-  CPU_FAST_ENGINE_FN (cpu) = @cpu@_engine_run_full;
+  CPU_FAST_ENGINE_FN (cpu) = @prefix@_engine_run_full;
 #endif
 }
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]