This is the mail archive of the gcc-patches@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: ifcvt vs. expand_binop


On Wed, 2015-09-23 at 00:48 +0900, Oleg Endo wrote:

> I haven't checked the details.  But I guess because expand_binop wants
> to somehow reuse the input and output it creates a DImode pseudo, puts
> the input there, does the DImode plus and the returned "target" is a
> SImode subreg of the DImode result.  The strange thing is the first
> clobber (insn 50)... Maybe there's some other hidden problem in
> expand_binop which is triggered by ifcvt in this case.

OK ... this particular problem is in SH's md.  The addsi3 expander
purposefully fails if the output reg is the same as the 1st input reg.
This was added because of some issues with LRA.  Because of that
expand_binop_directly fails and a widened op is tried, which goes wrong
for some other reason (not going to investigate now).

I guess there's no need for the ifcvt patch in this case.  Sorry for the
noise.

Cheers,
Oleg


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