Added lbzsx and lbzsux instructions
authorShriya Sharma <shriya@redsemiconductor.com>
Thu, 19 Oct 2023 10:01:27 +0000 (11:01 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 22 Dec 2023 19:26:21 +0000 (19:26 +0000)
openpower/isa/fixedloadshift.mdwn

index 75be291a05bd0575a9eac915532f5a385c43b103..bc488ad00c916b39e790d28458a35f3e48f59d13 100644 (file)
 <!-- halfword, word, or doubleword) addressed by EA is loaded into RT. -->
 
 
-# Load Byte and Zero Indexed
+# Load Byte and Zero Shifted Indexed 
 
 X-Form
 
-* lbzx RT,RA,RB
+* lbzsx RT,RA,RB,sh
 
 Pseudo-code:
 
     b <- (RA|0)
-    EA <- b + (RB)
+    EA <- b + (RB) << (sh+1)
     RT <- ([0] * (XLEN-8)) || MEM(EA, 1)
 
 Special Registers Altered:
 
     None
 
-# Load Byte and Zero with Update Indexed
+# Load Byte and Zero Shifted with Update Indexed
 
 X-Form
 
-* lbzux RT,RA,RB
+* lbzsux RT,RA,RB,sh
 
 Pseudo-code:
 
-    EA <- (RA) + (RB)
+    EA <- (RA) + (RB) << (sh+1)
     RT <- ([0] * (XLEN-8)) || MEM(EA, 1)
     RA <- EA