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: [PATCH] Fix powerpc -mtune=cell -m64 and insn patterns (PR target/39226)


On Sun, Mar 29, 2009 at 9:26 PM, Ben Elliston <bje@au1.ibm.com> wrote:
> On Tue, 2009-03-03 at 09:24 -0500, David Edelsohn wrote:
>
>> I would like to hear Andrew and Ben's feedback about this change.
>
> Sorry for the delay in responding .. this thread drifted to the bottom
> of my inbox. :-( ÂJakub's argument seems reasonable to me. ÂAndrew?

I had also removed anddi3_internal2_nomc and anddi3_internal3_nomc to
fix a bug on the PS3 toolchain too.  So this is the same patch which I
would have submitted.

The short testcase which was found to cause a bug in the PS3 toolchain was:
int g(void);
int h(void);
unsigned long long f(unsigned long long a, unsigned long long b)
{
  unsigned int c = -2;
  if (a & c)
  return g();
  else return h();
}

It would ICE during reload as it would try to rematerize the constant
and we had constants disable in the TOC (as an option).  GCC could
generate 0x00000000FFFFFFE in two instructions but that is a different
issue and would avoid the ICE I had found.

I agree this is the correct fix and the way forward.

Thanks,
Andrew Pinski


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