summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorhp.com!davidm <hp.com!davidm>2005-05-17 13:24:49 +0000
committerhp.com!davidm <hp.com!davidm>2005-05-17 13:24:49 +0000
commit0cae8247a870cfb8c370046640923423f4a62ea1 (patch)
treed7a347a9744328a8a3fe6024da7f1cedfded271a /doc
parenta6ba57d5566681e68c0f9b6628be829f5a3dade1 (diff)
downloadlibunwind-0cae8247a870cfb8c370046640923423f4a62ea1.tar.gz
Clarify that UNW_IA64_PR works like the "move predicates" instruction, i.e.,
it acesses the physical (unrotated) contents of p16-p63. (Logical change 1.292)
Diffstat (limited to 'doc')
-rw-r--r--doc/libunwind-ia64.tex7
1 files changed, 5 insertions, 2 deletions
diff --git a/doc/libunwind-ia64.tex b/doc/libunwind-ia64.tex
index b3dd45d4..1275709a 100644
--- a/doc/libunwind-ia64.tex
+++ b/doc/libunwind-ia64.tex
@@ -145,8 +145,11 @@ The following normal register name macros are available:
\Const{UNW\_IA64\_BR}\texttt{+6} should be used.
\item[\Const{UNW\_IA64\_PR}:] Contains the set of predicate registers.
This 64-bit wide register contains registers \texttt{p0} through
- \texttt{p63} in the ``broad-side'' format (i.e., \texttt{p0}
- corresponds to bit 0, \texttt{p1} to bit 1, and so on).
+ \texttt{p63} in the ``broad-side'' format. Just like with the
+ ``move predicates'' instruction, the registers are mapped as if
+ \texttt{CFM.rrb.pr} were set to 0. Thus, in general the value of
+ predicate register \texttt{p}$N$ with $N$>=16 can be found
+ in bit \texttt{16 + (($N$-16)+CFM.rrb.pr) \% 48}.
\item[\Const{UNW\_IA64\_CFM}:] Contains the current-frame-mask
register.
\end{Description}