This is the mail archive of the
mailing list for the GCC project.
Re: gcc + vector (v4sf) implementation guide
Thanks for the pointers, do you know of a machine description I can look at
for reference that's a little simpler than ia64? (something a little closer
to the mips architecture)
I'm not so worried about passing/returning vectors at the moment, so
hopefully no ABI changes are necessary.
I would simply like to be able to do "typedef int v4sf
__attribute__((mode(V4SF)))" and have it map to a new register class. Is
version 3.2.3 of gcc ok for setting up this stuff?
Q-Games, Dylan Cuthbert.
"Jim Wilson" <wilson.specifixinc.com> wrote in message
> Dylan Cuthbert wrote:
> > Does anyone know of any documentation/examples or guidelines regarding
> > implementing vector support for a new target description in gcc?
> We generally don't have good documentation for this kind of thing.
> There is a short "Vector Operations" node in gcc/doc/rtl.texi which
> might be helpful.
> > I have a new target description and I need to begin implementing support
> > vector types (v4sf etc), and wondered if there was anything special I
> > do to enable this functionality? Can they be implemented in pretty much
> > same way as TImode types? (version of gcc is 3.2.3)
> Yes, you just define md file patterns for them like you might do for
> TImode types. However, since we don't have automatic vectorization, you
> will also want to define built-in functions (intrinsics) that the user
> can use to generate the vector instructions. You may also want to look
> at the ABI support, to make sure passing/returning vectors works in a
> reasonable way. Plus you will have to make whatever changes are
> necessary to get this support working in your backend.
> Look at other ports to see how they have solved these problems.
> Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com