This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Dummy questions on GCC internals


Eric,

>> Another problem is "Internal error: abort in
>> find_matching_operand" in genrecog. I'm sure it's my fault,
>> but is there easy way to find it out?

>Find the last bit of source code you modified? :)

I wrote whole .md from the scratch ;-) Though I found the line
by splitting file...

>> Also, what is the major difference between define_insn and
>> define_expand ending with DONE?
>This is in the gcc internals manual, gccint.texi or available on the
>documentation page on the gcc.gnu.org website.

Thanks.

One more question: what's meant under the "insn does not satisfy its
constraints"? I have addhi3 defined as:

(define_insn "addhi3"
  [(set (match_operand:HI 0 "nonimmediate_operand" "=r,r")
        (plus:HI (match_operand:HI 1 "general_operand" "0,0")
                 (match_operand:HI 2 "general_operand" "ri,m")))]
  ""
  "@
  addhi3\t%2,%0
  addhi3\t(%2),%0")

and receive the following error:

z80-test/test.c: In function `m':
z80-test/test.c:12: error: insn does not satisfy its constraints:
(insn/f 55 54 56 0x0 (set (reg/f:HI 8 ix)
        (plus:HI (reg/f:HI 8 ix)
            (reg/f:HI 10 sp))) 8 {addhi3} (nil)
    (nil))
z80-test/test.c:12: internal compiler error: in final_scan_insn, at final.c:2722

Is it the problem in addhi3 definition or something else may influence
on this?

--
Alexander Aganichev

url: http://aaganichev.narod.ru
e-mail: aaganichev@yandex.ru
gsm: +7-095-786-1339


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]