[llvm] r204797 - [mips] Add tests for t0-t3 for N32/N64

Richard Sandiford rsandifo at linux.vnet.ibm.com
Wed Mar 26 06:01:33 PDT 2014


Daniel Sanders <daniel.sanders at imgtec.com> writes:
> Author: dsanders
> Date: Wed Mar 26 06:46:34 2014
> New Revision: 204797
>
> URL: http://llvm.org/viewvc/llvm-project?rev=204797&view=rev
> Log:
> [mips] Add tests for t0-t3 for N32/N64
>
> These are aliases of t4-t7 and are provided for compatibility with both the
> original ABI documentation (using t4-t7) and GNU As (using t0-t3)

Not sure this is a good idea.  As far as GAS is concerned, $t0-$t7 on o32
are $8-$15.  $t0-$t3 on n32 and n64 are $12-$15 and $t4-$t7 don't exist.
I think this is consistent with SGI.  So there's no overlap with pure $tNs.

Code that wants to use register names compatible with all three ABIs
can use $t0-$t3 for temporaries that don't overlap the arguments
and $ta0-$ta3 for (separate) temporaries that might overlap the arguments.

Which is why it's much easier just to use numerical registers really. :-)
Obviously you need to support named registers too, just saying...

Thanks,
Richard




More information about the llvm-commits mailing list