2005-07-29 Dave Brolley <brolley@redhat.com>
+ * sid-cpu.scm (-gen-scache-semantic-fn): Generate a declation of 'written'
+ if with-profile or with-parallel-write.
+ (cgen-semantics.cxx): Make the @prefix@ namespace available if with-parallel.
* operand.scm (op:new-mode): Convert (obj:name op) to a string for
string-append.
(gen-define-field-macro (insn-sfmt insn))
" sem_status status = SEM_STATUS_NORMAL;\n"
" @prefix@_scache* abuf = sem;\n"
-
+ ; Unconditionally written operands are not recorded here.
+ (if (or (with-profile?) (with-parallel-write?))
+ " unsigned long long written = 0;\n"
+ "")
; The address of this insn, needed by extraction and semantic code.
; Note that the address recorded in the cpu state struct is not used.
; For faster engines that copy will be out of date.
#endif
#include \"@cpu@.h\"
-using namespace @cpu@; // FIXME: namespace organization still wip
-
+using namespace @cpu@; // FIXME: namespace organization still wip\n")
+ (if (with-parallel?)
+ (string-write "\
+using namespace @prefix@; // FIXME: namespace organization still wip\n"))
+ (string-write "\
#define GET_ATTR(name) GET_ATTR_##name ()
\n"