Frank Ch. Eigler [Sat, 11 Nov 2000 17:26:22 +0000 (17:26 +0000)]
* parameter to enable sim decode/extract separation
2000-11-10 Frank Ch. Eigler <fche@redhat.com>
* utils-sim.scm (-gen-decode-insn-entry): Add fn? parameter to signal
request to emit calls to insn extractors as functions rather than
branches to inline blocks.
(-gen-decode-expr-set-itype, -gen-decode-expr-entry): Ditto.
(-gen-decode-table-entry, -gen-decoder-switch, gen-decoder): Ditto.
* sim-decode.c (-gen-decode-fn): Tell (gen-decode) to emit branches
to extractor clauses.
Frank Ch. Eigler [Fri, 10 Nov 2000 16:43:21 +0000 (16:43 +0000)]
* major sim decoder improvement
* minor diagnostic tweaks
2000-11-10 Frank Ch. Eigler <fche@redhat.com>
* decode.scm (-distinguishing-bit-population): Significantly
improve popularity heuristic. Renamed from
(-mask-bit-population): Gone.
(-population-above-threshold): Sort new bit numbers in order of
popularity.
(-population-top-few): Allow up to three more bits to be selected
than requested. Correct selection order to prefer better bits.
Correct bug in fewer-than-requested case. Keep threshold as
floating-point.
(decode-best-get-bits): Pass also the insn-values.
* utils-sim.scm (-gen-decoder-switch): Add comment suggesting a
future optimization.
* utils.scm (message): Format nested lists better.
Dave Brolley [Fri, 6 Oct 2000 16:55:16 +0000 (16:55 +0000)]
2000-10-06 Dave Brolley <brolley@redhat.com>
* utils-gen.scm (-gen-ifld-extract-base): Compute start position as
ifld-start + ifld-word-offset.
(gen-ifld-extract): Check adata-integral-insn? before checking whether
the field is beyond the base number of bits.
(gen-define-ifields): Use a base-length of 32 if adata-integral-insn?.
(gen-extract-ifields): Ditto.
* gas-test.scm (gentest): Generate backslashes before '[' and ']'
characters in the regular expression.
* consistency improvement for isa-filtering in *ifield parsers
2000-09-15 Frank Ch. Eigler <fche@redhat.com>
* enum.scm (define-full-insn-enum): Filter with keep-isa predicate.
* ifield.scm (-ifield-parse, -multi-ifield-parse): No longer assert
single-isa predicate, but support keep-isa filtering.
* rtl-c.scm (s-sequence): Handle nested c-calls in both
statement-expression and comma-expression contexts.
(s-c-call, s-c-raw-call): Add warning comment about bad assumption.
Frank Ch. Eigler [Tue, 22 Aug 2000 19:14:30 +0000 (19:14 +0000)]
* snapshot of work toward more complete support of derived-operands
2000-08-22 Frank Ch. Eigler <fche@redhat.com>
* Makefile.in (DIST_COMMON): Regenerated.
* ifield.scm (derived-ifield needed-iflds): New method.
* iformat.scm (-ifmt-lookup-sfmt!): Use base ifields for
sfmts built from derived-ifields.
* operand.scm (-derived-parse-encoding): Give derived-ifield a fixed
type symbol 'derived-ifield, not an unparseable string.
* utils-sim.scm (op-needed-iflds) Handler 'derived-ifield case.
(-sfmt-contents): Add tracing.
From Doug Evans <dje@transmeta.com>:
* sim.scm (operand cxmake-get): Result is a <c-expr>, not a string of
C code.
Doug Evans [Sun, 20 Aug 2000 22:52:32 +0000 (22:52 +0000)]
* rtl-c.scm (rtl-c-expr-with-estate): New fn.
(rtl-c-expr-parsed,rtl-c-expr): New fns.
(-rtl-c-get): Rename from rtl-c-get.
(rtl-c-get): New fn for getter logging.