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: 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



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