This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/48263] [4.7 Regression]: build fails for cris-elf in libgfortran
- From: "hp at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Mar 2011 01:15:17 -0000
- Subject: [Bug rtl-optimization/48263] [4.7 Regression]: build fails for cris-elf in libgfortran
- Auto-submitted: auto-generated
- References: <bug-48263-4@http.gcc.gnu.org/bugzilla/>
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.