public inbox for cgen@sourceware.org
 help / color / mirror / Atom feed
From: Dave Korn <dave.korn.cygwin@googlemail.com>
To: cgen@sourceware.org
Subject: sim-model.scm @cpu@ vs @prefix@ confusion
Date: Tue, 25 Aug 2009 00:38:00 -0000	[thread overview]
Message-ID: <4A9335C2.1030606@gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 889 bytes --]


    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


[-- Attachment #2: sim-model-cpu2prefix.diff --]
[-- Type: text/x-c, Size: 852 bytes --]

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
 }
 

             reply	other threads:[~2009-08-25  0:38 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-25  0:38 Dave Korn [this message]
2009-08-25  5:41 ` Doug Evans

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A9335C2.1030606@gmail.com \
    --to=dave.korn.cygwin@googlemail.com \
    --cc=cgen@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).