This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gcc + vector (v4sf) implementation guide
I have set HARD_REGNO_MODE_OK to true for mode == V4SFmode, is that error
caused when this isn't set? (I thought the error caused by that was
something like "cannot spill to register"?)
Unfortunately I can't upgrade gcc yet (the choice is out of my hands), but I
will request we go to 3.3 asap.
It seems to be a problem with the __attribute__ ((mode(V4SF))) itself,
before I even define any variables with the type. Maybe there is some
global variable or option I have to enable to use the vector functionality
in gcc 3.2.3? I've scanned the altivec code and can't see anything.
Anyone got any ideas?
---------------------------------
Q-Games, Dylan Cuthbert.
http://www.q-games.com
"Aldy Hernandez" <aldyh at redhat dot com> wrote in message
news:m3fze0xle1.fsf@frogsleap dot quesejoda dot com...
> >>>>> "Dylan" == Dylan Cuthbert <dylan at q-games dot com> writes:
>
> > Thanks for the pointers, it has helped a lot. In my version of gcc I
only
> > have rs6000.md but it seems to have examples of the kind of support
> > I need.
>
> You're probably using an older version of GCC. Try mainline or the
> 3.4 branch.
>
> > I have defined a register class ("j") and the register set, and set up
the
> > appropriate HARD_REGNO tables to map to V4SF, and defined
> > VECTOR_MODE_SUPPORTED_P to return true for V4SF. I have defined a
dummy
> > movv4sf instruction too.
>
> > Yet, I still get this error when do the following:
>
> > typedef float super_float __attribute__((mode(V4SF)));
>
> > no data type for mode `V4SF'
>
> Have you set HARD_REGNO_MODE_OK to include your register class?
>
> > Anyone got any idea what I'm missing?
>
> Can you try this on mainline? The error you're triggerring shouldn't
> be triggered for your case, especially with the new synthesized vector
> modes. And I don't have an old enough GCC to see what you're seeing.
>
> Aldy
>