mtmsrd pseudocode accidentally from v3.1B - returning to v3.0B
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 27 Jul 2020 11:40:43 +0000 (12:40 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 27 Jul 2020 11:41:44 +0000 (12:41 +0100)
openpower/isa/sprset.mdwn

index f8b361a9c9600d8ab5a845b7583ce16e2aa66581..445bb36440a09261e9d2584cd0e651694d63335d 100644 (file)
@@ -158,8 +158,8 @@ Pseudo-code:
 
     if L = 0 then
         MSR[48] <- (RS)[48] | (RS)[49]
-        MSR[58] <- ((RS)[58] | (RS)[49]) & ¬(MSR[41] & MSR[3] & (¬(RS)[49]))
-        MSR[59] <- ((RS)[59] | (RS)[49]) & ¬(MSR[41] & MSR[3] & (¬(RS)[49]))
+        MSR[58] <- (RS)[58] | (RS)[49]
+        MSR[59] <- (RS)[59] | (RS)[49]
         MSR[32:40] <- (RS)[32:40]
         MSR[42:47] <- (RS)[42:47]
         MSR[49:50] <- (RS)[49:50]
@@ -182,11 +182,13 @@ X-Form
 Pseudo-code:
 
     if L = 0 then
+        if (MSR[29:31] != 0b010) | ((RS)[29:31] != 0b000) then
+            MSR[29:31] <- (RS)[29:31]
         MSR[48] <- (RS)[48] | (RS)[49]
-        MSR[58] <- ((RS)[58] | (RS)[49]) & ¬(MSR[41] & MSR[3] & (¬(RS)[49]))
-        MSR[59] <- ((RS)[59] | (RS)[49]) & ¬(MSR[41] & MSR[3] & (¬(RS)[49]))
+        MSR[58] <- (RS)[58] | (RS)[49]
+        MSR[59] <- (RS)[59] | (RS)[49]
         MSR[0:2] <- (RS)[0:2]
-        MSR[3:28] <- (RS)[3:28]
+        MSR[4:28] <- (RS)[4:28]
         MSR[32:40] <- (RS)[32:40]
         MSR[42:47] <- (RS)[42:47]
         MSR[49:50] <- (RS)[49:50]