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