comparison doc/manual/callconvs/callconv_x64.tex @ 76:7ca46969e0ad

- tweaks in manual, mainly for html generation
author cslag
date Mon, 21 Mar 2016 01:15:37 +0100
parents 3e629dc19168
children e441ef3ec782
comparison
equal deleted inserted replaced
75:a59ae4370202 76:7ca46969e0ad
54 \subsubsection{MS Windows} 54 \subsubsection{MS Windows}
55 55
56 \paragraph{Registers and register usage} 56 \paragraph{Registers and register usage}
57 57
58 \begin{table}[h] 58 \begin{table}[h]
59 \begin{tabular}{3 B} 59 \begin{tabular*}{0.75\textwidth}{3 B}
60 \hline 60 \hline
61 Name & Brief description\\ 61 Name & Brief description\\
62 \hline 62 \hline
63 {\bf rax} & scratch, return value\\ 63 {\bf rax} & scratch, return value\\
64 {\bf rbx} & permanent\\ 64 {\bf rbx} & permanent\\
74 {\bf xmm0} & scratch, floating point parameter 0, floating point return value\\ 74 {\bf xmm0} & scratch, floating point parameter 0, floating point return value\\
75 {\bf xmm1-xmm3} & scratch, floating point parameters 1-3\\ 75 {\bf xmm1-xmm3} & scratch, floating point parameters 1-3\\
76 {\bf xmm4-xmm5} & scratch, permanent if required by caller\\ 76 {\bf xmm4-xmm5} & scratch, permanent if required by caller\\
77 {\bf xmm6-xmm15} & permanent\\ 77 {\bf xmm6-xmm15} & permanent\\
78 \hline 78 \hline
79 \end{tabular} 79 \end{tabular*}
80 \caption{Register usage on x64 MS Windows platform} 80 \caption{Register usage on x64 MS Windows platform}
81 \end{table} 81 \end{table}
82 82
83 \paragraph{Parameter passing} 83 \paragraph{Parameter passing}
84 84
152 \subsubsection{System V (Linux / *BSD / MacOS X)} 152 \subsubsection{System V (Linux / *BSD / MacOS X)}
153 153
154 \paragraph{Registers and register usage} 154 \paragraph{Registers and register usage}
155 155
156 \begin{table}[h] 156 \begin{table}[h]
157 \begin{tabular}{3 B} 157 \begin{tabular*}{0.75\textwidth}{3 B}
158 \hline 158 \hline
159 Name & Brief description\\ 159 Name & Brief description\\
160 \hline 160 \hline
161 {\bf rax} & scratch, return value\\ 161 {\bf rax} & scratch, return value\\
162 {\bf rbx} & permanent\\ 162 {\bf rbx} & permanent\\
173 {\bf xmm1-xmm7} & scratch, floating point parameters 1-7\\ 173 {\bf xmm1-xmm7} & scratch, floating point parameters 1-7\\
174 {\bf xmm8-xmm15} & scratch\\ 174 {\bf xmm8-xmm15} & scratch\\
175 {\bf st0-st1} & scratch, 16 byte floating point return value\\ 175 {\bf st0-st1} & scratch, 16 byte floating point return value\\
176 {\bf st2-st7} & scratch\\ 176 {\bf st2-st7} & scratch\\
177 \hline 177 \hline
178 \end{tabular} 178 \end{tabular*}
179 \caption{Register usage on x64 System V (Linux/*BSD)} 179 \caption{Register usage on x64 System V (Linux/*BSD)}
180 \end{table} 180 \end{table}
181 181
182 \paragraph{Parameter passing} 182 \paragraph{Parameter passing}
183 183