comparison doc/manual/callconvs/callconv_mips.tex @ 111:6da2a7ee2a86

- doc updates for mips32
author cslag
date Sat, 18 Jun 2016 19:49:36 +0200
parents 9aa75a74614c
children 4a64b733dc76
comparison
equal deleted inserted replaced
110:9aa75a74614c 111:6da2a7ee2a86
73 73
74 \begin{itemize} 74 \begin{itemize}
75 \item Stack grows down 75 \item Stack grows down
76 \item Stack parameter order: right-to-left 76 \item Stack parameter order: right-to-left
77 \item Caller cleans up the stack 77 \item Caller cleans up the stack
78 \item Stack always aligned to 8 bytes
79 \item first 8 integers (<= 32bit) are passed in registers \$a0-\$a7 78 \item first 8 integers (<= 32bit) are passed in registers \$a0-\$a7
80 \item first 8 single precision floating point arguments are passed in registers \$f12-\$f19 79 \item first 8 single precision floating point arguments are passed in registers \$f12-\$f19
81 \item if either integer or float registers are used up, the stack is used 80 \item if either integer or float registers are used up, the stack is used
81 \item 64-bit stack arguments are always aligned to 8 bytes
82 \item 64-bit integers or double precision floats are passed on two general purpose registers starting at an even register number, skipping one odd register 82 \item 64-bit integers or double precision floats are passed on two general purpose registers starting at an even register number, skipping one odd register
83 \item \$a0-\$a7 and \$f12-\$f19 are not required to be preserved 83 \item \$a0-\$a7 and \$f12-\$f19 are not required to be preserved
84 \item results are returned in \$v0 (32-bit), \$v0 and \$v1 (64-bit), \$f0 or \$f0 and \$f2 (2 $\times$ 32 bit float e.g. complex) 84 \item results are returned in \$v0 (32-bit), \$v0 and \$v1 (64-bit), \$f0 or \$f0 and \$f2 (2 $\times$ 32 bit float e.g. complex)
85 \end{itemize} 85 \end{itemize}
86 86