This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: contributing altivec changes
- To: Aldy Hernandez <aldyh at redhat dot com>
- Subject: Re: contributing altivec changes
- From: Dale Johannesen <dalej at apple dot com>
- Date: Wed, 31 Oct 2001 15:01:36 -0800
- Cc: Dale Johannesen <dalej at apple dot com>, Geoff Keating <geoffk at redhat dot com>, gcc at gcc dot gnu dot org
On Wednesday, October 31, 2001, at 12:36 PM, Aldy Hernandez wrote:
> mq (not saved; best to use it if we can)
> ctr (not saved; when we have the choice ctr is better)
> lr (saved)
> ! cr5, r1, r2, ap, xer (fixed)
>
> + AltiVec registers:
> + v0 - v1 (not saved or used for anything)
> + v13 - v3 (not saved; incoming vector arg registers)
> + v2 (not saved; incoming vector arg reg; return value)
> + v19 - v14 (not saved or used for anything)
> + v31 - v20 (saved; order given to save least number)
> + */
I suggest you add VRSAVE now; you'll need it eventually.
> ;; Define an insn type attribute. This is used in function unit delay
> ;; computations.
> ! (define_attr "type"
> "integer,load,store,fpload,fpstore,imul,lmul,idiv,ldiv,branch,compare,cr_logical,
> delayed_compare,fpcompare,mtjmpr,fp,dmul,sdiv,ddiv,ssqrt,dsqrt,jmpreg,altivec"
> (const_string "integer"))
You'll need more than one altivec insn type also. Take a look at the
functional units.