Changes for fifth draft of changes for PC-relative addressing.

Consists of small corrections to relocation information in
Chapter 3.

Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
master
Bill Schmidt 6 years ago
parent ebdc859ac4
commit f6b39d0ffe

@ -57,7 +57,7 @@
<holder>Freescale Semiconductor, Inc</holder> <holder>Freescale Semiconductor, Inc</holder>
</copyright> </copyright>
<!-- TODO: Set the correct document releaseinfo --> <!-- TODO: Set the correct document releaseinfo -->
<releaseinfo>Revision 1.5d draft</releaseinfo> <releaseinfo>Revision 1.5e draft</releaseinfo>
<productname>OpenPOWER</productname> <productname>OpenPOWER</productname>
<pubdate/> <pubdate/>


@ -93,6 +93,16 @@


<revhistory> <revhistory>
<!-- TODO: Set the initial version information and clear any old information out --> <!-- TODO: Set the initial version information and clear any old information out -->
<revision>
<date>2018-05-21</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Revision 1.5e: PC-relative addressing fifth draft.</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
<revision> <revision>
<date>2018-05-10</date> <date>2018-05-10</date>
<revdescription> <revdescription>

@ -2120,7 +2120,8 @@ my_func:
</informaltable> </informaltable>
<para revisionflag="added"> <para revisionflag="added">
In the following figure, prefix34 specifies a 34-bit field split In the following figure, prefix34 specifies a 34-bit field split
between bits 14-31 and 48-63 of a doubleword. The other bits between bits 14-31 and 48-63 of a doubleword. The doubleword is
8-byte aligned. The other bits
remain unchanged. This is used by many PC-relative load and store remain unchanged. This is used by many PC-relative load and store
instructions. instructions.
</para> </para>
@ -2816,9 +2817,9 @@ my_func:
<entry> <entry>
<para>Denotes the higher adjusted value: bits 32&#8211;47 <para>Denotes the higher adjusted value: bits 32&#8211;47
of the of the
indicated value, compensating for #hi( ) being treated as a indicated value, compensating for #lo( ) being treated as a
signed number. That is:</para> signed number. That is:</para>
<para>#highera(x) = (x + 0x80000000) &gt;&gt; 32</para> <para>#highera(x) = (x + 0x8000) &gt;&gt; 32</para>
</entry> </entry>
</row> </row>
<row revisionflag="added"> <row revisionflag="added">
@ -2828,7 +2829,7 @@ my_func:
<entry> <entry>
<para>Denotes bits 48&#8211;63 of the indicated value. That <para>Denotes bits 48&#8211;63 of the indicated value. That
is:</para> is:</para>
<para>#higher(x) = x &gt;&gt; 48</para> <para>#highest(x) = x &gt;&gt; 48</para>
</entry> </entry>
</row> </row>
<row revisionflag="added"> <row revisionflag="added">
@ -2838,9 +2839,9 @@ my_func:
<entry> <entry>
<para>Denotes the highest adjusted value: bits 48&#8211;63 <para>Denotes the highest adjusted value: bits 48&#8211;63
of the of the
indicated value, compensating for #higher( ) being treated as a indicated value, compensating for #lo( ) being treated as a
signed number. That is:</para> signed number. That is:</para>
<para>#highesta(x) = (x + 0x800000000000) &gt;&gt; 48</para> <para>#highesta(x) = (x + 0x8000) &gt;&gt; 48</para>
</entry> </entry>
</row> </row>
<row> <row>
@ -4895,7 +4896,7 @@ my_func:
<para>prefix34*</para> <para>prefix34*</para>
</entry> </entry>
<entry> <entry>
<para>S + A &#8211; P</para> <para>L &#8211; P</para>
</entry> </entry>
</row> </row>
<row revisionflag="added"> <row revisionflag="added">
@ -4909,7 +4910,7 @@ my_func:
<para>prefix32*</para> <para>prefix32*</para>
</entry> </entry>
<entry> <entry>
<para>(S + A &#8211; P) &gt;&gt; 2</para> <para>(L &#8211; P) &gt;&gt; 2</para>
</entry> </entry>
</row> </row>
<row revisionflag="added"> <row revisionflag="added">
@ -4923,7 +4924,7 @@ my_func:
<para>prefix31*</para> <para>prefix31*</para>
</entry> </entry>
<entry> <entry>
<para>(S + A &#8211; P) &gt;&gt; 3</para> <para>(L &#8211; P) &gt;&gt; 3</para>
</entry> </entry>
</row> </row>
<row revisionflag="added"> <row revisionflag="added">
@ -4937,7 +4938,7 @@ my_func:
<para>prefix25*</para> <para>prefix25*</para>
</entry> </entry>
<entry> <entry>
<para>(S + A &#8211; P) &gt;&gt; 3</para> <para>(L &#8211; P) &gt;&gt; 3</para>
</entry> </entry>
</row> </row>
<row revisionflag="added"> <row revisionflag="added">
@ -4951,7 +4952,7 @@ my_func:
<para>prefix34*</para> <para>prefix34*</para>
</entry> </entry>
<entry> <entry>
<para>S + A &#8211; P</para> <para>L &#8211; P</para>
</entry> </entry>
</row> </row>
<row revisionflag="added"> <row revisionflag="added">
@ -4965,7 +4966,7 @@ my_func:
<para>prefix32*</para> <para>prefix32*</para>
</entry> </entry>
<entry> <entry>
<para>(S + A &#8211; P) &gt;&gt; 2</para> <para>(L &#8211; P) &gt;&gt; 2</para>
</entry> </entry>
</row> </row>
<row revisionflag="added"> <row revisionflag="added">
@ -4979,7 +4980,7 @@ my_func:
<para>prefix31*</para> <para>prefix31*</para>
</entry> </entry>
<entry> <entry>
<para>(S + A &#8211; P) &gt;&gt; 3</para> <para>(L &#8211; P) &gt;&gt; 3</para>
</entry> </entry>
</row> </row>
<row revisionflag="added"> <row revisionflag="added">
@ -4993,7 +4994,7 @@ my_func:
<para>prefix25*</para> <para>prefix25*</para>
</entry> </entry>
<entry> <entry>
<para>(S + A &#8211; P) &gt;&gt; 3</para> <para>(L &#8211; P) &gt;&gt; 3</para>
</entry> </entry>
</row> </row>
<row> <row>

Loading…
Cancel
Save