changeset 123:d203ba52c246

- manual callconv clarifications
author cslag
date Mon, 04 Jul 2016 16:13:59 +0200
parents f63467916f98
children 6bd0974d257b
files doc/manual/callconvs/callconv_mips64.tex doc/manual/callconvs/callconv_ppc32.tex doc/manual/callconvs/callconv_ppc64.tex
diffstat 3 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/doc/manual/callconvs/callconv_mips64.tex	Mon Jul 04 01:11:08 2016 +0200
+++ b/doc/manual/callconvs/callconv_mips64.tex	Mon Jul 04 16:13:59 2016 +0200
@@ -74,6 +74,7 @@
 \item all stack regions are 16-byte aligned
 \item results are returned in \$v0, and for a second one \$v1 is used
 \item float arguments passed in the variable part of a vararg call are passed like integers
+\item integer parameters \textless\ 64 bit are right-justified (meaning occupy higher-address bytes) in their 8-byte area, requiring extra-care for big-endian targets
 \end{itemize}
 
 \paragraph{Stack layout}
--- a/doc/manual/callconvs/callconv_ppc32.tex	Mon Jul 04 01:11:08 2016 +0200
+++ b/doc/manual/callconvs/callconv_ppc32.tex	Mon Jul 04 16:13:59 2016 +0200
@@ -86,10 +86,10 @@
 as defined for ellipsis calls)
 \item all nonvector parameters are aligned on 4-byte boundaries
 \item vector parameters are aligned on 16-byte boundaries
-\item integer parameters \textless\ 32 bit occupy high-order bytes of their 4-byte area
 \item composite parameters with size of 1 or 2 bytes occupy low-order bytes of their 4-byte area. INCONSISTENT with other 32-bit PPC
 binary interfaces. In AIX and OS 9, padding bytes always follow the data structure
 \item composite parameters 3 bytes or larger in size occupy high-order bytes
+\item integer parameters \textless\ 32 bit are right-justified (meaning occupy higher-address bytes) in their 4-byte area, requiring extra-care for big-endian targets
 \end{itemize}
 
 
@@ -198,7 +198,7 @@
  32-bit general purpose registers (an odd and an even e.g. r3 and r4), probably skipping an even integer register.
  or passed on the stack. They are never splitted into a register and stack part.
 \item Ellipse calls set CR bit 6 
-
+\item integer parameters \textless\ 32 bit are right-justified (meaning occupy high-order bytes) in their 4-byte area, requiring extra-care for big-endian targets
 \end{itemize}
 
 \paragraph{Return values}
--- a/doc/manual/callconvs/callconv_ppc64.tex	Mon Jul 04 01:11:08 2016 +0200
+++ b/doc/manual/callconvs/callconv_ppc64.tex	Mon Jul 04 16:13:59 2016 +0200
@@ -45,7 +45,10 @@
 
 \paragraph{Parameter passing}
 
+\begin{itemize}
 @@@
+\item integer parameters \textless\ 64 bit are right-justified (meaning occupy higher-address bytes) in their 8-byte area, requiring extra-care for big-endian targets
+\end{itemize}
 
 
 \paragraph{Return values}