[Bug rtl-optimization/48263] [4.7 Regression]: build fails for cris-elf in libgfortran

hp at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Mar 24 04:10:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48263

--- Comment #2 from Hans-Peter Nilsson <hp at gcc dot gnu.org> 2011-03-24 01:15:14 UTC ---
(In reply to comment #1)
> I don't know if this is a bug in optabs or a target issue.

An optabs issue.

> But what is happening is that since ior is an commutative, it checks if it can
> swap the operands to allow them.  But it is not swapping the operands in the
> end.  

Which is presumably the bug, IMO.

> The following patch to cris.md works and makes it more like most other targets:

But wrong.  That operand needs to be a register just as it currently says;
there's no valid insn where operand 1 is something else. Tweaking the md by
making the predicates sloppier is just papering over the bug, but I admit the
patch does show the issue.



More information about the Gcc-bugs mailing list