This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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