[Math-atlas-commits] CVS: AtlasBase/TexDoc atlas_contrib.tex, 1.24, 1.25
Brought to you by:
rwhaley,
tonyc040457
From: R. C. W. <rw...@us...> - 2007-05-23 16:58:44
|
Update of /cvsroot/math-atlas/AtlasBase/TexDoc In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv6973 Modified Files: atlas_contrib.tex Log Message: Index: atlas_contrib.tex =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/TexDoc/atlas_contrib.tex,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** atlas_contrib.tex 5 May 2007 01:44:58 -0000 1.24 --- atlas_contrib.tex 23 May 2007 16:57:53 -0000 1.25 *************** *** 3520,3526 **** the same {\.S} file. ! As far as I can tell, the only difference between 32/64 bit ABIs is that ! the stack frame must only be aligned to an 8-byte boundary in the 32 bit ! version. MIPS assembler routines in ATLAS should include: --- 3520,3526 ---- the same {\.S} file. ! %As far as I can tell, the only difference between 32/64 bit ABIs is that ! %the stack frame must only be aligned to an 8-byte boundary in the 32 bit ! %version. MIPS assembler routines in ATLAS should include: *************** *** 3565,3568 **** --- 3565,3577 ---- \end{table} + Note that in parameter passing, you can only pass 8 args in registers, + regardless of what type, and args always consume a register of the correct + type, and cause a skip of the other type. So, here's the register passing + of a simple routine with mixed arguments: + \begin{verbatim} + // $f12 $5 $f14 $7 + void bob(float s, int i, double d, int k); + \end{verbatim} + \subsubsection{Calling sequence and stack frame} Stack pointer always kept 16-byte aligned (8-byte aligned for 32 bit ABI), |