public inbox for cgen@sourceware.org
 help / color / mirror / Atom feed
From: Aurelien Buhrig <aurelien.buhrig.gcc@gmail.com>
To: cgen <cgen@sourceware.org>
Subject: sid semantic with derived-operands
Date: Thu, 02 Jun 2016 09:34:00 -0000	[thread overview]
Message-ID: <CAJ-J9_WXUHF-A=P8VBN+FTayZTH9XDsTN4hu_p0EQFjQAYj=JA@mail.gmail.com> (raw)

Hi,
I have an issue when generating the sid semantic of derived-operands.
When printing C code for sid semantic, cgen tries to generate a
hardware index (in /gen-hw-index) from a derived ifield, which is not
supported by /gen-hw-index.
I'm not sure if this is a valid case and if the subfields shall be
parsed in /gen-hw-index to find the correct subfield (how?) or if it
should be handled earlier...

Any idea how to solve this issue ?
Thanks,
Aurélien

Backtrace:
In [..]/cgen/sid.scm:
 860:  0  [error "/gen-hw-index: invalid index:" # "
 type: " ...]
 844:  1  (case type ((scalar) "") ...)
 841:  2  (let ((type #) (mode #) (value #)) (case type (# "") (# #) ...))
1001:  3  [/gen-hw-index # #]
1001:  4* (if index (/gen-hw-index index estate) "")
 996:  5  (let* (# # # ...) (logit 4 "<operand> cxmake-get self=" ...) ...)
In unknown file:
   ?:  6  [#<procedure #f #> # # # ...]
    ...
In [..]/cgen/rtl-c.scm:
 450:  7  (cond (# #) (# #) (else #))
 446:  8  (begin (message "MODE=" mode ...) (if (symbol? src) (set! src #)) ...)
 418:  9  (cond ((c-expr? src) (cond # # ...)) ((rtx? src) (let* # # ...)) ...)
 416: 10  (let* ((mode mode)) (cond (# #) (# #) (# #) ...))
 441: 11  [/rtl-c-get # # #]
 438: 12  (let* ((evald-src #)) (if (not #) (error assert-fail-msg #)) ...)
 418: 13  (cond ((c-expr? src) (cond # # ...)) ((rtx? src) (let* # # ...)) ...)
 416: 14  (let* ((mode mode)) (cond (# #) (# #) (# #) ...))
 506: 15* [/rtl-c-get # # #]
 506: 16  (let* ((result #)) (logit 4 (spaces #) "(rtl-c-get " ...) result)
 503: 17  (let* (#) (if # #) (let* # # result))
 571: 18* [rtl-c-get # # #]
 569: 19* [send #("object" <operand> 47 ...) gen-set-trace ... ...
 569: 20  [cx:make #("object" <mode> 30 ...) ...
    ...
1672: 21  [rtl-c-set-trace #("object" <rtl-c-eval-state> 60 ...) UHI ...]
1671: 22  (if (estate-for-insn? *estate*) (rtl-c-set-trace *estate*
mode ...) ...)
In unknown file:
   ?: 23  [#<procedure #f #> # () UHI ...]
In [..]/cgen/rtl-traverse.scm:
2160: 24  [apply #<procedure #f (*estate* options mode dst ...)> (# ()
UHI # ...)]
2159: 25  (if (procedure? fn) (apply fn (cons estate (cdr expr))) fn)
2158: 26  (if fn (if (procedure? fn) (apply fn (cons estate #)) fn) expr)
2156: 27  (let* ((rtx-obj #) (fn #)) (if fn (if # # fn) expr))
2154: 28  (if (pair? expr) (let* ((rtx-obj #) (fn #)) (if fn (if # #
...) ...)) ...)
In [..]/cgen/rtl-c.scm:
 296: 29* [rtx-eval-with-estate (set () UHI ...) #("object" <mode> 30 ...) ...]
 296: 30* [rtl-c-get # # ...
 296: 31  [cx:c ...
 381: 32  [rtl-c-with-estate # # #]
 379: 33  (let* ((estate #)) (rtl-c-with-estate estate mode expr))
In [...]/cgen/sid-cpu.scm:
 716: 34  [rtl-c++-parsed #("object" <mode> 30 ...) (set () UHI ...) ...]
 714: 35  [#<procedure #f (sem)> (set () UHI ...)]
 764: 36* [gen-semantic-code #("object" <insn> 53 ...)]
 740: 37  [list "// ********** " move.w-pipd-rn-srcAnPiHI ... ...
 738: 38  (let (# #) (string-list "// ********** " # ": " ...))

             reply	other threads:[~2016-06-02  9:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-02  9:34 Aurelien Buhrig [this message]
2016-06-07 17:45 ` Frank Ch. Eigler
2016-06-14  7:53   ` Aurélien Buhrig

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='CAJ-J9_WXUHF-A=P8VBN+FTayZTH9XDsTN4hu_p0EQFjQAYj=JA@mail.gmail.com' \
    --to=aurelien.buhrig.gcc@gmail.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).