Mercurial > pub > dyncall > dyncall
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:\\ |