This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: RFC: generic vectors and GPR/simd duality
On Wed, May 12, 2004 at 11:49:49AM -0400, Daniel Jacobowitz wrote:
> On Wed, May 12, 2004 at 10:58:00AM -0400, Aldy Hernandez wrote:
> > mode_multiple from V2SI to V4SI is 2, whereas nregs_multiple is 4.
> > GPR #26 can hold a V2SI in just one register, but needs 4 for a V4SI.
> > In other architectures, a given SIMD register can hold only one type
> > of simd, whereas the e500 can hold any (albeit in subsequent registers
> > for anything not V2SI). Confusion.
>
> Why does V4SI take four GPRs, that's the question. If you treat them
> as V2SI registers GCC ought to be able to synthesize the V4SI as two
> V2SIs. It might be as simple as "fixing" HARD_REGNO_NREGS... probably
> not, though.
Shudder. I can almost guarantee you that that's going to create all
sorts of havoc. I'm willing to give it a whirl, but watch the pain...
Aldy