corrections to shadd/uw after reverting to switch
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 1 Nov 2022 13:53:27 +0000 (13:53 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 2 Jun 2023 18:51:16 +0000 (19:51 +0100)
openpower/isa/bitmanip.mdwn

index 89515ec977385f3ffd7f91b253f795c7d55d69c8..94fd48baa37aed233784ced057b8877b8003843c 100644 (file)
@@ -112,11 +112,10 @@ Pseudo-code:
 
     n <- (RB)
     switch (sm)
-        case (0): sum[0:XLEN-1] = (n[0:XLEN-1-1] || [0]*1) + (RA)
-        case (1): sum[0:XLEN-1] = (n[0:XLEN-2-1] || [0]*2) + (RA)
-        case (2): sum[0:XLEN-1] = (n[0:XLEN-3-1] || [0]*3) + (RA)
-        default:  sum[0:XLEN-1] = (n[0:XLEN-4-1] || [0]*4) + (RA)
-    RT <- sum
+        case (0): RT <- (n[1:XLEN-1] || [0]*1) + (RA)
+        case (1): RT <- (n[2:XLEN-1] || [0]*2) + (RA)
+        case (2): RT <- (n[3:XLEN-1] || [0]*3) + (RA)
+        case (3): RT <- (n[4:XLEN-1] || [0]*4) + (RA)
 
 Special Registers Altered:
 
@@ -133,11 +132,10 @@ Pseudo-code:
 
     n <- ([0]*(XLEN/2)) || (RB)[XLEN/2:XLEN-1]
     switch (sm)
-        case (0): sum[0:XLEN-1] = (n[0:XLEN-1-1] || [0]*1) + (RA)
-        case (1): sum[0:XLEN-1] = (n[0:XLEN-2-1] || [0]*2) + (RA)
-        case (2): sum[0:XLEN-1] = (n[0:XLEN-3-1] || [0]*3) + (RA)
-        default:  sum[0:XLEN-1] = (n[0:XLEN-4-1] || [0]*4) + (RA)
-    RT <- sum
+        case (0): RT <- (n[1:XLEN-1] || [0]*1) + (RA)
+        case (1): RT <- (n[2:XLEN-1] || [0]*2) + (RA)
+        case (2): RT <- (n[3:XLEN-1] || [0]*3) + (RA)
+        case (3): RT <- (n[4:XLEN-1] || [0]*4) + (RA)
 
 Special Registers Altered: