Double word ints on PPC 604e
Michael Meissner
meissner@cygnus.com
Wed Aug 16 18:40:00 GMT 2000
On Tue, Aug 15, 2000 at 08:40:59PM -0700, Geoff Keating wrote:
> "Bryan D. Lee" <bryan.d.lee@lmco.com> writes:
>
> > Dave,
> >
> > I've got little/no choice in the matter, it's the version of gcc that
> > our version of vxWorks uses. But I'm thinking that the situation I'm
> > describing is a problem even in the latest release.
>
> Could you try to make a proper bug report?
>
> It's quite unlikely that any problem with 2.7 is still present in the
> current release. There have been thousands of changes.
>
> > > Bryan> I'm trying to use "long long" integer type on a PPC 604e with gcc
> > > Bryan> 2.7. I keep getting exceptions when trying to run the compiled code.
> > > Bryan> I don't see a compiler flag for running on a 604e vs. a 604 (the 604e
> > > Bryan> has no built-in 64-bit integer type). I would have thought that gcc
> > > Bryan> would translate the long long type data manipulations into 32-bit
> > > Bryan> operations, but now I'm not so sure.
>
> The 604e and 604 are essentially the same processor. Current gcc does
> anyway have an option for chosing the 604e, -mcpu=604e, but all it
> really changes is the scheduler (I think the 604e had an extra
> function unit or something).
According to the docs, the 604e has some additional SPRs. It executes CR type
instructions in a new execution unit, the CRU (604 executed CR instructions in
the BPU along with the branches). One cycle is saved on branches to the LR or
CTr registers after a move to SPR instruction. There are some cache
differences. Finally, like the 750, the 604e can do unaligned integer little
endian loads in hardware instead of trapping (ie, last vestiage of NT support
in the PowerPC).
> Yes, GCC performs 64-bit arithmetic by using the add-with-carry instructions.
>
> --
> - Geoffrey Keating <geoffk@cygnus.com>
--
Michael Meissner, Red Hat, Inc.
PMB 198, 174 Littleton Road #3, Westford, Massachusetts 01886, USA
Work: meissner@redhat.com phone: +1 978-486-9304
Non-work: meissner@spectacle-pond.org fax: +1 978-692-4482
More information about the Gcc-bugs
mailing list