include brackets to make syntax work
[libreriscv.git] / openpower / isa / branch.mdwn
index 5b0cfc9907d9b6f48b31094446f9bc79c9fc3660..99793f04d29f092ecc52605b89bdee80273d6339 100644 (file)
@@ -1,5 +1,7 @@
 # Branch 
 
+I-Form
+
 * b target_addr (AA=0 LK=0)
 * ba target_addr (AA=1 LK=0)
 * bl target_addr (AA=0 LK=1)
@@ -9,8 +11,14 @@
     else       NIA  <-iea CIA + EXTS(LI || 0b00)
     if LK then LR <-iea  CIA + 4
 
+Special Registers Altered:
+
+    LR                       (if LK=1)
+
 # Branch Conditional
 
+B-Form
+
 * bc BO,BI,target_addr (AA=0 LK=0)
 * bca BO,BI,target_addr (AA=1 LK=0)
 * bcl BO,BI,target_addr (AA=0 LK=1)
       else       NIA <-iea CIA + EXTS(BD || 0b00)
     if LK then LR  <-iea  CIA + 4
 
+Special Registers Altered:
+
+    CTR                    (if BO2=0)
+    LR                       (if LK=1)
+
 # Branch Conditional to Link Register
 
+XL-Form
+
 * bclr BO,BI,BH (LK=0)
 * bclrl BO,BI,BH (LK=1)
 
     if ctr_ok & cond_ok then NIA <- iea LR[0:61] || 0b00
     if LK then LR <-iea CIA + 4
 
+Special Registers Altered:
+
+    CTR                    (if BO2=0)
+    LR                       (if LK=1)
+
 # Branch Conditional to Count Register
 
+XL-Form
+
 * bcctr BO,BI,BH (LK=0)
 * bcctrl BO,BI,BH (LK=1)
 
     if cond_ok then NIA <-iea CTR[0:61] || 0b00
     if LK then LR <- iea CIA + 4
 
+Special Registers Altered:
+
+    LR                     (if LK=1)
 
 # Branch Conditional to Branch Target Address Register
 
+XL-Form
+
 * bctar BO,BI,BH (LK=0)
 * bctarl BO,BI,BH (LK=1)
 
@@ -65,3 +92,7 @@
     if ctr_ok & cond_ok then NIA <-iea TAR[0:61]  || 0b00
     if LK then LR <-iea  CIA + 4
 
+Special Registers Altered:
+
+    CTR                    (if BO2=0)
+    LR                       (if LK=1)