diff --git a/specification/bk_main.xml b/specification/bk_main.xml index 7ec589f..8ef802b 100644 --- a/specification/bk_main.xml +++ b/specification/bk_main.xml @@ -57,7 +57,7 @@ Freescale Semiconductor, Inc - Revision 1.5d draft + Revision 1.5e draft OpenPOWER @@ -93,6 +93,16 @@ + + 2018-05-21 + + + + Revision 1.5e: PC-relative addressing fifth draft. + + + + 2018-05-10 diff --git a/specification/ch_3.xml b/specification/ch_3.xml index eaac5e0..a6a2cd5 100644 --- a/specification/ch_3.xml +++ b/specification/ch_3.xml @@ -2120,7 +2120,8 @@ my_func: 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 instructions. @@ -2816,9 +2817,9 @@ my_func: Denotes the higher adjusted value: bits 32–47 of the - indicated value, compensating for #hi( ) being treated as a + indicated value, compensating for #lo( ) being treated as a signed number. That is: - #highera(x) = (x + 0x80000000) >> 32 + #highera(x) = (x + 0x8000) >> 32 @@ -2828,7 +2829,7 @@ my_func: Denotes bits 48–63 of the indicated value. That is: - #higher(x) = x >> 48 + #highest(x) = x >> 48 @@ -2838,9 +2839,9 @@ my_func: Denotes the highest adjusted value: bits 48–63 of the - indicated value, compensating for #higher( ) being treated as a + indicated value, compensating for #lo( ) being treated as a signed number. That is: - #highesta(x) = (x + 0x800000000000) >> 48 + #highesta(x) = (x + 0x8000) >> 48 @@ -4895,7 +4896,7 @@ my_func: prefix34* - S + A – P + L – P @@ -4909,7 +4910,7 @@ my_func: prefix32* - (S + A – P) >> 2 + (L – P) >> 2 @@ -4923,7 +4924,7 @@ my_func: prefix31* - (S + A – P) >> 3 + (L – P) >> 3 @@ -4937,7 +4938,7 @@ my_func: prefix25* - (S + A – P) >> 3 + (L – P) >> 3 @@ -4951,7 +4952,7 @@ my_func: prefix34* - S + A – P + L – P @@ -4965,7 +4966,7 @@ my_func: prefix32* - (S + A – P) >> 2 + (L – P) >> 2 @@ -4979,7 +4980,7 @@ my_func: prefix31* - (S + A – P) >> 3 + (L – P) >> 3 @@ -4993,7 +4994,7 @@ my_func: prefix25* - (S + A – P) >> 3 + (L – P) >> 3