This is the mail archive of the
mailing list for the GCC project.
Re: reload problem in GCC 4.1
Rajkishore Barik wrote:
problems with the following instruction in post-reload.c:391 in
"reload_cse_simplify_operands" function stating that the "insn does
not satisfy constraint".
There are lots of different ways that this problem can occur. It is
hard to say much without having a testcase I can use to reproduce the
problem. You may just have to spend a little time stepping through
reload inside gdb to see what is going wrong.
You didn't mention the target. I'm assuming it is x86. The instruction
pattern name is in the dump, it is divmodsi4_ctld, which you can find in
the i386.md file. There is nothing really special about it other than
the fact it uses match_dup.
If you are changing compiler internals, then it is possible that you
have made an error somewhere. One thing that comes to mind is that
match_dup requires identical objects, i.e. the address of the objects
must be the same. Also, in general, pseudo-regs are unique objects.
There can be only one instance of (reg:SI 75) in the compiler, so they
should be identical objects anyways. This is something you should check
though. You can't just create random pseudo-register objects. You must
reuse the existing RTL if a pseudo-reg already exists.
Jim Wilson, GNU Tools Support, http://www.specifix.com