comparison doc/manual/callconvs/callconv_mips64.tex @ 125:f1fc1c836baf

- mips doc stuff
author cslag
date Tue, 05 Jul 2016 14:15:56 +0200
parents d203ba52c246
children 5675d34f0a06
comparison
equal deleted inserted replaced
124:6bd0974d257b 125:f1fc1c836baf
72 \item subsequent arguments are pushed onto the stack 72 \item subsequent arguments are pushed onto the stack
73 \item all stack entries are 64-bit aligned 73 \item all stack entries are 64-bit aligned
74 \item all stack regions are 16-byte aligned 74 \item all stack regions are 16-byte aligned
75 \item results are returned in \$v0, and for a second one \$v1 is used 75 \item results are returned in \$v0, and for a second one \$v1 is used
76 \item float arguments passed in the variable part of a vararg call are passed like integers 76 \item float arguments passed in the variable part of a vararg call are passed like integers
77 \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 77 \item quad precision float arguments are passed in even-odd register pairs, skipping one register if needed
78 \item integer parameters \textless\ 64 bit are right-justified (meaning occupy higher-address bytes) in their 8-byte slot on the stack, requiring extra-care for big-endian targets
79 \item single precision float parameters (32 bit) are left-justified in their 8-byte slot on the stack, but are right justified in fp-registers on big endian targets, as they aren't promoted @@@doc says "undecided", but openbsd/octeon(mipseb) has it as described here
78 \end{itemize} 80 \end{itemize}
79 81
80 \paragraph{Stack layout} 82 \paragraph{Stack layout}
81 83
82 Stack directly after function prolog:\\ 84 Stack directly after function prolog:\\