Dave Brolley [Thu, 29 Jan 2004 20:20:48 +0000 (20:20 +0000)]
2004-01-29 Dave Brolley <brolley@redhat.com>
* decode.scm (-opcode-slots): For short insns, generate 'opcode' with
zeroes in the extra bit positions and generate 'opcode-mask' with ones
in the extra bit positions.
Dave Brolley [Sun, 26 Oct 2003 19:40:30 +0000 (19:40 +0000)]
2003-10-26 Dave Brolley <brolley@redhat.com>
* sid-decode.scm (-gen-record-profile-args): Test trace_counter_p
and final_insn_count_p. Don't test WITH_PROFILE_MODEL_P.
(-gen-extract-fn): Call -gen-record-profile-args.
* Makefile.am (ARCHFILE): New var.
(desc): Pass $(ARCHFILE) for -a parm, not $(ARCH).
(html,opcodes,sim-arch,sim-cpu,gas-test,sim-test): Ditto.
* Makefile.in: Regenerate.
Dave Brolley [Mon, 8 Sep 2003 17:17:22 +0000 (17:17 +0000)]
2003-09-08 Dave Brolley <brolley@redhat.com>
On behalf of Doug Evans <dje@sebabeach.org>
Pass in paths to input files, instead of assuming they live in
$srcdir/cpu. Plus misc. option processing cleanup.
* cgen-doc.scm (doc-arguments): Make options strings not symbols.
Add pre-process pass to all options.
* cgen-gas.scm (gas-arguments): Ditto.
* cgen-sid.scm (sim-arguments): Ditto.
* cgen-sim.scm (sim-arguments): Ditto.
* cgen-stest.scm (stest-arguments): Ditto.
* cgen-opc.scm (opc-arguments): Ditto. New argument -OPC.
(-opc-file-path): New global.
(opc-file-path): New fn.
* opcodes.scm (read-cpu.opc): Replace srcdir,cpu args with opc-file.
All callers updated.
(gen-extra-cpu.h,gen-extra-cpu.c,gen-extra-opc.h,gen-extra-opc.c,
gen-extra-asm.c,gen-extra-dis.c,gen-extra-ibld.h,gen-extra-ibld.c):
Replace srcdir arg with opc-file. All callers updated.
* read.scm (-opt-spec-update): Delete.
(opt-get-first-pass,opt-get-second-pass): New fns.
(-cgen): Process application-specific arguments in two passes.
Doug Evans [Thu, 7 Aug 2003 15:53:58 +0000 (15:53 +0000)]
From Michael Meissner.
* opc-opinst.scm (-gen-operand-instance-table): Initialize all of
the elements for the END record of CGEN_OPINST, silencing warnings.
Add guile 1.6.4 support.
- empty list must be quoted
- string functions have stricter type checking
- eval now takes a second argument
- symbol-bound? is deprecated
* attr.scm (-attr-parse): Use stringsym-append to build errtxt.
(bitset-attr->list): Ensure arg to string-cut is a string.
(attr-parse): Ensure args to string-ref and string-drop1 are strings.
(<enum-attribute>,gen-value-for-defn): Fetch string name of self.
* cos.scm (-class-list): Must quote empty list.
(-class-parent-classes,-class-compute-class-desc): Ditto.
(class-make,make,object-reset!): Ditto.
(method-make-make!): Call eval1 instead of eval.
(method-make-forward!,method-make-virtual-forward!): Ditto.
* decode.scm (subdtable-add): Use stringsym-append instead of
string-append.
(-gen-exprtable-name): Fetch string name of exprtable-entry-insn.
(-build-decode-table-entry): Fetch string name of insn.
* desc-cpu.scm (-gen-isa-table-defns): Fetch string name of isa.
(-gen-mach-table-defns): Ditto for mach.
(gen-ifld-defns): Ditto for ifld.
(gen-hw-table-defns): Ditto for hw.
(gen-operand-table): Ditto for op.
(gen-insn-table-entry): Ditto for insn.
* desc.scm (gen-attr-table-defn): Ditto for attr.
(<keyword>,gen-defn): Don't pass symbols to string-append.
* enum.scm (parse-enum-vals): Use symbolstr-append instead of
symbol-append.
(enum-vals-upcase): Use symbol-upcase to build result.
(-enum-parse): Use stringsym-append to build errtxt.
* fixup.scm (*guile-major-version*,*guile-minor-version*): New globals.
(eval1): New function.
(symbol-bound?): Provide own version if >= guile 1.6.
* hardware.scm (define-keyword): Use string-append instead of
symbol-append.
* html.scm (gen-html-header,gen-table-of-contents,gen-arch-intro,
cgen.html,cgen-insn.html): Convert current-arch-name to a string
before using.
(gen-list-entry): Handle either symbol or string `name' arg.
(gen-obj-doc-header): Fetch string name of `o' arg.
(define-cpu-intro): Ditto for cpu.
(gen-mach-intro): Ditto for mach.
(gen-model-intro): Ditto for model.
(gen-isa-intro): Ditto for isa.
(gen-machine-doc-1): Ditto for isa.
(gen-reg-doc-1): Convert mach to string first.
(gen-insn-doc-1): Ditto. Convert model/unit names to strings first.
(gen-insn-doc-list): Fetch string name of mach. Convert insn name
to string first.
(gen-insn-categories): Fetch string name of mach. Convert
enum-val-name to string first.
(gen-insn-docs): Fetch string name of mach.
* ifield.scm (ifld-ilk): Result is a string.
* iformat.scm (-ifmt-search-key): Convert attr value to string first.
Fetch string name of ifld.
(-sfmt-search-key): Similarily for ifld and op.
* insn.scm (syntax-make): Fetch string name of syntax element.
* mach.scm (-cpu-parse): Use stringsym-append to build errtxt.
* minsn.scm (minsn-make-alias): Fetch string name of minsn.
* mode.scm (mode:c-type): Result is a string.
(mode:enum): Fetch string name of mode.
(-mode-parse): Use stringsym-append to build errtxt.
* model.scm (model:enum): Fetch string name of model.
(-model-parse): Use stringsym-append to build errtxt.
(parse-insn-timing): Must quote empty list.
* opc-itab.scm (-gen-minsn-table-entry): Fetch string name of minsn.
(-gen-minsn-opcode-entry): Ditto.
* opcodes.scm (<operand>,gen-function-name): `what' arg is a symbol,
convert to string.
(read-cpu.opc): Convert current-arch-name to a string before using.
* operand.scm (<operand>,gen-pretty-name): Ensure `name' is a string.
(<derived-operand>): Must quote empty list.
(op-sort): Simplify, call alpha-sort-obj-list to do sort.
* pgmr-tools.scm (pgmr-pretty-print-insn-value): Fetch string name
of ifld.
* pmacros.scm (-pmacro-build-lambda): Use eval1 instead of eval.
(-pmacro-sym): Must convert symbols to strings before passing to
string-append.
(-pmacro-str): Ditto.
(pmacros-init!): Use eval1 instead of eval.
* read.scm (keep-mach-atlist?): Simplify, use bitset-attr->list.
(keep-isa-atlist?): Ditto.
(cmd-if): Use eval1 instead of eval.
* rtl-c.scm (<c-expr>,get-name): Fetch string name of self.
(-rtl-c-get): Fetch string name of src.
(s-unop): Ditto for mode.
(s-binop,s-binop-with-bit,s-shop,s-convop,s-cmpop): Ditto.
(-gen-par-temp-defns,subword): Ditto.
(join): Use stringsym-append instead of string-append.
* rtl-traverse.scm (rtx-option?): Convert option to string first.
(rtx-traverse-debug): Fetch string name of rtx-obj.
* rtl.scm (def-rtx-node): Use eval1 instead of eval.
(def-rtx-syntax-node,def-rtx-operand-node,def-rtx-macro-node): Ditto.
(rtx-pretty-name): Result is a string.
(-rtx-hw-name): Use symbolstr-append instead of symbol-append.
* semantics.scm (semantic-compile): Simplify, use alpha-sort-obj-list.
* sid-cpu.scm (cgen-write.cxx): Convert current-arch-name to a string
before using.
(-gen-sfrag-case): Fetch string name of user.
* sid-model.scm (unit:enum): Fetch string name of unit.
* sid.scm (<hw-memory>,cxmake-get): Fetch string name of mode.
(<hw-memory>,gen-set-quiet): Ditto.
(gen-mode-defs): Ditto.
(sim-finish!): Convert current-arch-name to a string before using.
* sim-cpu.scm (-gen-scache-semantic-fn): Fetch string name of insn.
(-gen-no-scache-semantic-fn): Ditto.
(cgen-defs.h): Fetch string name of isa.
(cgen-read.c): Convert current-arch-name to a string before using.
(cgen-write.c): Ditto.
* sim-model.scm (unit:enum): Fetch string name of unit.
(gen-model-fn-decls): Use stringsym-append instead of string-append.
(-gen-model-timing-table): Fetch string name of model.
(-gen-mach-model-table): Ditto.
(-gen-mach-defns): Fetch string name of mach.
* sim.scm (gen-reg-access-defn): Fetch string name of hw.
(<hw-memory>,cxmake-get): Fetch string name of mode.
(<hw-memory>,gen-set-quiet): Ditto.
(gen-mode-defs): Ditto.
(sim-finish!): Must quote empty list.
* utils-cgen.scm (<ident>): Must quote empty list.
(obj:str-name): New fn.
(parse-comment): Result is a string.
(parse-symbol): Result is a symbol.
(parse-string): Result is a string.
(keyword-list?): Convert arg to string before calling string-ref.
(keyword-list->arg-list): Ditto.
(gen-attr-name): Convert attr-name to string first.
(alpha-sort-obj-list): Use symbol<? instead of string<?.
* utils-gen.scm (attr-gen-decl): Fetch string name of attr.
(gen-define-ifmt-ifields): Ditto for fld.
* utils.scm (gen-c-symbol): Ensure str is a string before calling
map-over-string.
(gen-file-name): Ditto.
(symbol-downcase,symbol-upcase,symbol<?): New fns.
(stringsym-append,symbolstr-append,->string,->symbol): New fns.
(reduce): Call eval1 instead of eval.
* cpu/m32r.cpu (addi): Don't use `#.'.
* gen-all-doc: Ensure run from cgen src dir.
* gen-all-opcodes: Build in ./tmp-opcodes. Don't delete dir when done.
* gen-all-sid: Similarily, in ./tmp-sid.
* gen-all-sim: Similarily, in ./tmp-sim.
Doug Evans [Fri, 20 Jun 2003 05:17:50 +0000 (05:17 +0000)]
* mach.scm (-ifld-already-defined?): New proc.
(current-ifld-add!): Use it.
(-op-already-defined?): New proc.
(current-op-add!): Use it.
(-insn-already-defined?): New proc.
(current-insn-add!): Use it.
(-minsn-already-defined?): New proc.
(current-minsn-add!): Use it.
(obj-isa-list): New proc.
(isa-supports?): Use it.
Doug Evans [Tue, 10 Jun 2003 21:22:04 +0000 (21:22 +0000)]
* mach.scm (current-*-add!): Disallow redefinition. Make result
"unspecified".
* insn.scm (insn-builtin!): Don't define relaxable here, now defined in
operand.scm.
* operand.scm (operand-builtin!): Define RELAXABLE for insns too.
* cpu/m32r.cpu (disp8,disp24): RELAX renamed to RELAXABLE.
* Makefile.am (MACH,ISAS,INSN_FILE_NAME): New vars.
(desc,opcodes,sim-arch,sim-cpu,gas-test,sim-test): Use MACH,ISAS.
(html): Use MACH,ISAS,INSN_FILE_NAME. Generate insn.html separately.
* Makefile.in: Regenerate.
* attr.scm (<integer-attribute>:parse-value-def): Implement.
(-attr-read): Defer computing default value until we know the type.
(attr-has-attr?): Delete, move contents to <attr-list>:has-attr?.
(<attr-list>:attr-present?): New method.
(atlist-attr-present?,obj-attr-present?): New fns.
(obj-has-attr-value?,obj-has-attr-value-no-default?): New fns.
(attr-builtin!): New insn attr IDOC.
* cgen-doc.scm (doc-arguments): New args -I,-N.
* enum.scm (parse-enum-vals): New arg errtxt, all callers updated.
Support comment as fourth element of enum value.
(enum-val-name,enum-val-value,enum-val-attrs,enum-val-comment): New fns.
* html.scm (gen-html-header): New arg kind, all callers updated.
(gen-table-of-contents): New arg insn-file, all callers updated.
(gen-list-entry,gen-doc-header): New fn.
(get-operands): Delete.
(gen-iformat-table): Rewrite.
(gen-insn-doc-1): Print constant-folded and trimmed semantics.
(gen-insn-doc-list): New args name, comment, insns. All callers updated.
(get-insn-properties,guess-insn-idoc-attr!): New fn.
(insn-sets-pc?,insn-refs-mem?,insn-uses-fpu?): New fns.
(get-insns-for-category,gen-categories-insn-lists): New fns.
(gen-insn-docs): Simplify each insn's semantics first.
Print insn tables sorted by IDOC categories.
(*insn-html-file-name*): New global.
(cgen-insn.html): New fn.
(cgen-all): Update.
* insn.scm (<insn>): Create a setter for the `tmp' member.
* semantics.scm (insn-build-known-values): Renamed from
-build-known-values. All callers updated.
* rtl.scm: Move traveral/evaluation support to ...
* rtl-traverse.scm: New file.
* read.scm: Maybe-load rtl-traverse.scm.
* rtl.scm (-rtx-valid-types): Add SETRTX.
* rtx-funcs.scm (nop,parallel): Fix mode.
* utils.scm (eqv-lookup-index): New fn.
(assq-lookup-index): Renamed from lookup-index. All callers updated.
Dave Brolley [Tue, 10 Jun 2003 18:26:02 +0000 (18:26 +0000)]
2003-06-10 Dave Brolley <brolley@redhat.com>
* sid-cpu.scm: Generate #include of config.h into @prefix@-sem.cxx.
* sid-decode.scm: Generate #include of config.h into
@prefix@-decode.cxx.
* sid-model.scm: Generate #include of config.h into @prefix@-model.cxx.
Joern Rennecke [Wed, 21 May 2003 14:10:46 +0000 (14:10 +0000)]
* cpu/sh.cpu: Amend comments to refer to SuperH.
* cpu/sh64-compact.cpu: Change comment to refer to SuperH.
* cpu/sh64-media.cpu: Likewise.
(Saturation): Update manual reference.
Doug Evans [Thu, 15 May 2003 07:25:03 +0000 (07:25 +0000)]
* Makefile.am (srcroot): New var.
(html): New rule.
* Makefile.in: Regenerate.
* cgen-doc.scm: New file.
* html.scm: New file.
* gen-all-doc: New file.
* dev.scm (cload): Handle DOC application.
(load-doc): New fn.
* machs.scm (machs-for-cpu): New fn.
* model.scm (models-for-cpu): New fn.
* utils.scm (gen-c-copyright): Renamed from gen-copyright.
All uses updated.
(iota): Rewrite to be identical to pmacro version. All uses updated.
* utils-cgen.scm (alpha-sort-obj-list): New fn.
Dave Brolley [Wed, 16 Apr 2003 18:17:43 +0000 (18:17 +0000)]
2003-04-16 Dave Brolley <brolley@redhat.com>
* doc/rtl.texi (Iiming): Correct example to use 'model-name'.
* utils.scm (copyright-fsf): Update generate copyright years.
(copyright-cygnus): Ditto.
* sid.scm (-op-gen-set-trace): Generate code to fill in bitmask of modified
operands.
(-gen-arch-model-decls): Don't generate unit enum declaration or MAX_UNITS
here.
(<operand>'gen-profile-code): New parameter 'when'.
(<iunit>'gen-profile-code): Ditto.
(<insn>'gen-profile-code): Ditto.
(<unit>'gen-profile-code): Ditto. Only generate 'referenced' and
'insn_reference' for the 'after' function.
* model.scm (unit:enum): Moved to sim-model.scm.
* sim-model.scm (unit:enum): Moved from model.scm.
* sid-decode.scm (-gen-scache-decls): Generate the 'written' field.
* cgen-sid.scm (sim-arguments): Document the generation of model.h.
* sid-model.scm (unit:enum): New version for sid.
(gen-model-class-name): New function.
(gen-model-unit-fn-decl): New function.
(gen-model-fn-decls): Call gen-model-unit-fn-decl.
(gen-model-unit-fn-name): New parameter 'when'.
(-gen-model-insn-fn-name): Ditto.
(-gen-model-insn-qualified-fn-name): New function.
(-gen-model-insn-fn-decl): New function.
(-gen-model-insn-fn-decls): New function.
(-gen-model-insn-fn): New parameter 'when'. Call
-gen-model-insn-qualified-fn-name.
(-gen-model-insn-fns): Generate the constructor for the model. Generate
functions for modelling insn before and after execution.
(-gen-model-class-decls): New function.
(" (gen-model-class-name model) "): New function.
(gen-model-classes): New function.
(-gen-insn-timing): Generate functions for modelling insn before and after
execution.
(-gen-insn-unit-timing): Generate class-qualified names.
(-gen-model-timing-table): Ditto.
(cgen-model.cxx): Generate #include for @cpu@.h. Omit generation of code
not needed (yet) by sid.
(cgen-model.h): New function.
Dave Brolley [Wed, 16 Apr 2003 18:09:06 +0000 (18:09 +0000)]
2003-04-16 Dave Brolley <brolley@redhat.com>
* doc/rtl.texi (Iiming): Correct example to use 'model-name'.
* utils.scm (copyright-fsf): Update generate copyright years.
(copyright-cygnus): Ditto.
* sid.scm (-op-gen-set-trace): Generate code to fill in bitmask of modified
operands.
(-gen-arch-model-decls): Don't generate unit enum declaration or MAX_UNITS
here.
(<operand>'gen-profile-code): New parameter 'when'.
(<iunit>'gen-profile-code): Ditto.
(<insn>'gen-profile-code): Ditto.
(<unit>'gen-profile-code): Ditto. Only generate 'referenced' and
'insn_reference' for the 'after' function.
* model.scm (unit:enum): Moved to sim-model.scm.
* sim-model.scm (unit:enum): Moved from model.scm.
* sid-decode.scm (-gen-scache-decls): Generate the 'written' field.
* cgen-sid.scm (sim-arguments): Document the generation of model.h.
* sid-model.scm (unit:enum): New version for sid.
(gen-model-class-name): New function.
(gen-model-unit-fn-decl): New function.
(gen-model-fn-decls): Call gen-model-unit-fn-decl.
(gen-model-unit-fn-name): New parameter 'when'.
(-gen-model-insn-fn-name): Ditto.
(-gen-model-insn-qualified-fn-name): New function.
(-gen-model-insn-fn-decl): New function.
(-gen-model-insn-fn-decls): New function.
(-gen-model-insn-fn): New parameter 'when'. Call
-gen-model-insn-qualified-fn-name.
(-gen-model-insn-fns): Generate the constructor for the model. Generate
functions for modelling insn before and after execution.
(-gen-model-class-decls): New function.
(" (gen-model-class-name model) "): New function.
(gen-model-classes): New function.
(-gen-insn-timing): Generate functions for modelling insn before and after
execution.
(-gen-insn-unit-timing): Generate class-qualified names.
(-gen-model-timing-table): Ditto.
(cgen-model.cxx): Generate #include for @cpu@.h. Omit generation of code
not needed (yet) by sid.
(cgen-model.h): New function.
DJ Delorie [Fri, 21 Mar 2003 06:15:55 +0000 (06:15 +0000)]
* cpu/xstormy16.cpu (basic-psw): New argument ws (wordsize),
which indicates if the sign flag is set from bit 15 or 7.
Adjust all callers.
(set-psw): New argument ws, propogate it.
(set-psw-nowrite): Likewise.
(set-mem-psw): Likewise.
(set-psw-carry): Likewise. Use temporaries to prevent
prematurely overwriting needed inputs.
(set-psw-rrotate17): Fix logic.
(shrgrgr): Preserve carry for zero-bit shifts.
(shrgrimm): Likewise.
(shlgrgr): Likewise.
(shlgrimm): Likewise.
(asrgrgr): Likewise.
(asrgrimm): Likewise.
(reset): New.
DJ Delorie [Tue, 18 Feb 2003 22:57:08 +0000 (22:57 +0000)]
* xstormy16.cpu (set-mem-alignfix-psw): Remove.
(movlmemimm): Just mask the address.
(movhmemimm): Likewise.
(movlmemgr): Likewise.
(movhmemgr): Likewise.
(set-psw): Always set the psw last.
(set-psw-carry): Likewise.
(set-psw-add): Likewise.
(set-psw-sub): Likewise.
* xstormy16.cpu (set-psw-rrotate17): New. Choose the correct set
of 16 patterns from the set-psw-rotate17 function.
(movgrigr, movgripostincgr, movgripredecgr, movgriigr,
movgriipostincgr, movgriipredecgr): Set psw correctly.
(movfgrigr, movfgripostincgr, movfgripredecgr, movfgriigr,
movfgriipostincgr, movfgriipredecgr): Fix semantics.
(rrcgrgr, rrcgrimm4): Use new set-psw-rrotate17 function.
Dave Brolley [Wed, 12 Feb 2003 22:31:31 +0000 (22:31 +0000)]
2003-02-11 Dave Brolley <brolley@redhat.com>
* desc-cpu.scm (gen-ifld-defns): Add all ifields to the
@arch@_cgen-ifld_table.
(gen-maybe-multi-ifld): Use the ifield enumerators to index the
@arch@_cgen-ifld_table.
Doug Evans [Fri, 20 Dec 2002 07:58:32 +0000 (07:58 +0000)]
* utils-sim.scm (gen-profile-sym): New fn.
(<operand>,sbuf-profile-sym): New method.
(<operand>,sbuf-profile-elm): Use it.
* sim.scm (<operand>,gen-record-profile): Use sbuf-profile-sym instead
of hardcoding symbol name.
(<operand>,gen-profile-code): Ditto.
(<unit>,gen-profile-code): Use gen-profile-sym instead of hardcoding
symbol name.
Doug Evans [Fri, 20 Dec 2002 06:39:04 +0000 (06:39 +0000)]
* mode.scm (mode-sem-mode): New fn.
* operand.scm (op:new-mode): Update. mode-name.
(op-natural-mode?) New fn.
* rtl.scm (hw): Set hw-name,mode-name.
plus some comment tweaks
Doug Evans [Fri, 20 Dec 2002 02:22:22 +0000 (02:22 +0000)]
Back out sim*.scm changes of 2001-04-02 Ben Elliston <bje@redhat.com>
Instead do:
* sim-decode.scm (-gen-decode-insn-globals): Use @PREFIX@_INSN__MAX
as size of IDESC-TABLE-VAR.
(@prefix@_init_idesc_table): Ditto.
* sim-model.scm (-gen-mach-defns): Ditto.
* sim.scm (gen-cpu-insn-enum-decl): Rename last elm from max to -max.
* utils-scm.scm (-gen-decode-insn-entry): Fix some spacing in output.
DJ Delorie [Tue, 17 Dec 2002 03:54:41 +0000 (03:54 +0000)]
* cpu/xstormy16.cpu (imm16): Call handler immediate16.
* cpu/xstormy16.opc (parse_small_immediate): Return on '@'.
(parse_immediate16): Handle immediate16 values, which now include
@hi(label) and @lo(label)
Alan Modra [Mon, 2 Dec 2002 21:53:53 +0000 (21:53 +0000)]
* desc-cpu.scm (gen-maybe-multi-ifld): Remove superfluous parens.
Add braces and cast for union field.
(gen-multi-ifield-nodes): Add braces and cast for union field.
(cgen_operand_table): Similarly fix sentinel.
(cgen_cpu_close): Constify "insns". Formatting.
(cgen-desc.c): Include xregex.h.
* cpu/ip2k.opc (ip2k_cgen_insn_supported): Move to opc.c section.
Prototype.
<opc.c>: Include safe-ctype.h.
(ip2k_asm_hash): Use ISSPACE and TOLOWER.
(PARSE_FUNC_DECL): Declare. Use to prototype parse_fr, parse_addr16,
parse_addr16_p, parse_addr16_cjp, parse_lit8 and parse_bit3.
(parse_fr): Constify "old_strp". Correct type of "tempvalue".
Don't test it for >= 0. Use ISSPACE rather than isspace. Formatting.
(parse_addr16): Correct type of "value". Formatting.
(parse_addr16_p): Likewise.
(parse_addr16_cjp): Likewise.
(parse_lit8): Likewise.
(parse_bit3): Formatting.
(PRINT_FUNC_DECL): Define. Use to prototype print_fr, print_dollarhex,
print_dollarhex8, print_dollarhex16, print_dollarhex_addr16h,
print_dollarhex_addr16l, print_dollarhex_p, print_dollarhex_cj and
print_decimal.
(print_fr): Add ATTRIBUTE_UNUSED on unused args. Formatting.
(print_dollarhex): Add ATTRIBUTE_UNUSED on unused args.
(print_dollarhex8): Likewise.
(print_dollarhex16): Likewise.
(print_dollarhex_addr16h): Likewise.
(print_dollarhex_addr16l): Likewise.
(print_dollarhex_p): Likewise.
(print_dollarhex_cj): Likewise.
(print_decimal): Likewise.
* cpu/xstormy16.opc (parse_mem8): Use ISALNUM rather than isalnum.
* doc/rtl.texi (Model variants): Mention current limitations for
unit inputs and outputs.
(Hardware elements) <attribute PROFILE>: Be slightly more
verbose.
(Instructions) <timing>: input/output overrides have a direction
operand.
* cpu/sh64-compact.cpu (movw5): Use Correct operand field for reg.
* cpu/sh64-media.cpu (-ldhi-byte, -ldhi-word, -ldhi-long): New macros.
(-ldlo-byte, -ldlo-word, -ldlo-long): Likewise.
(-sthi-word, -sthi-long -stlo-byte, -stlo-word, -stlo-long): Likewise.
(ldhil, ldhiq, ldlol, ldloq, stlol, stloq): Implement.
(mshfhib, mshfhil, mshfhiw, mshflob, mshflol, mshflow): Fix indices.
(-sthi-byte): If there is a single byte to store, store it at
proper address.
(sthil, sthiq): Fix big-endian behaviour.
(mcnvslw, mcnvswb, mcnvswub, mmacfxwl, mmacnfx.wl): Fix indices.
(mmulfxl, mmulfxw, mmulfxrpw, mmulhiwl, mmullowl): Likewise.
(saturate): Use Dimode to check if saturation operation is required.
(usaturate): Likewise.
(mpermw): Fix mask.
(-maddsl, -maddsub): Compute to-be-saturated value in wider mode.
(-maddsw, mmacfxwl, mmacnfx.wl, -mshaldsl, -mshaldsw): Likewise.
(-mshardl, -mshardw, -msubsl, -msubsub, -msubsw): Likewise.
(msadubq): Fix subword index in second operand of first subtraction.