overflow condition in dsld and dsrd if RS is non-zero
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 28 Oct 2022 12:23:42 +0000 (13:23 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 28 Oct 2022 12:23:42 +0000 (13:23 +0100)
openpower/isa/svfixedarith.mdwn

index e8232c27e38be9b75373fcd946049fb98884ba3e..6d82b896b440b87e21efc078fe1abd80d4962387 100644 (file)
@@ -60,6 +60,9 @@ Pseudo-code:
     mask <- MASK(64, 63-n)
     RT <- (v[0:63] & mask) | ((RC) & ¬mask)
     RS <- v[0:63] & ¬mask
+    overflow = 0
+    if RS != [0]*64:
+        overflow = 1
 
 Special Registers Altered:
 
@@ -79,6 +82,9 @@ Pseudo-code:
     mask <- MASK(n, 63)
     RT <- (v[0:63] & mask) | ((RC) & ¬mask)
     RS <- v[0:63] & ¬mask
+    overflow = 0
+    if RS != [0]*64:
+        overflow = 1
 
 Special Registers Altered: