projects
/
libreriscv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
include brackets to make syntax work
[libreriscv.git]
/
openpower
/
isa
/
branch.mdwn
diff --git
a/openpower/isa/branch.mdwn
b/openpower/isa/branch.mdwn
index 5b0cfc9907d9b6f48b31094446f9bc79c9fc3660..99793f04d29f092ecc52605b89bdee80273d6339 100644
(file)
--- a/
openpower/isa/branch.mdwn
+++ b/
openpower/isa/branch.mdwn
@@
-1,5
+1,7
@@
# Branch
# Branch
+I-Form
+
* b target_addr (AA=0 LK=0)
* ba target_addr (AA=1 LK=0)
* bl target_addr (AA=0 LK=1)
* 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
else NIA <-iea CIA + EXTS(LI || 0b00)
if LK then LR <-iea CIA + 4
+Special Registers Altered:
+
+ LR (if LK=1)
+
# Branch Conditional
# 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)
* 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)
@@
-27,8
+35,15
@@
else NIA <-iea CIA + EXTS(BD || 0b00)
if LK then LR <-iea CIA + 4
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
# Branch Conditional to Link Register
+XL-Form
+
* bclr BO,BI,BH (LK=0)
* bclrl BO,BI,BH (LK=1)
* bclr BO,BI,BH (LK=0)
* bclrl BO,BI,BH (LK=1)
@@
-41,8
+56,15
@@
if ctr_ok & cond_ok then NIA <- iea LR[0:61] || 0b00
if LK then LR <-iea CIA + 4
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
# Branch Conditional to Count Register
+XL-Form
+
* bcctr BO,BI,BH (LK=0)
* bcctrl BO,BI,BH (LK=1)
* bcctr BO,BI,BH (LK=0)
* bcctrl BO,BI,BH (LK=1)
@@
-50,9
+72,14
@@
if cond_ok then NIA <-iea CTR[0:61] || 0b00
if LK then LR <- iea CIA + 4
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
# Branch Conditional to Branch Target Address Register
+XL-Form
+
* bctar BO,BI,BH (LK=0)
* bctarl BO,BI,BH (LK=1)
* 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
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)