svp64.py: sync svshape opcode
authorDmitry Selyutin <ghostmansd@gmail.com>
Wed, 18 May 2022 19:39:22 +0000 (19:39 +0000)
committerDmitry Selyutin <ghostmansd@gmail.com>
Wed, 18 May 2022 19:39:22 +0000 (19:39 +0000)
src/openpower/sv/trans/svp64.py

index cebf32e41f39c706b0b7cb32fa53f72480a66884..edef36083acf187fe55d5526d9221bd04a4d2a0a 100644 (file)
@@ -243,16 +243,16 @@ class SVP64Asm:
         # and svshape.  note that the dimension fields one subtracted from each
         if opcode == 'svshape':
             # 1.6.33 SVM-FORM from fields.txt
-            # |0  |6        |11      |16    |21    |25 |26    |31  |
-            # |PO |  SVxd   |   SVyd | SVzd | SVRM |vf |   XO |  / |
+            # |0     |6        |11      |16    |21    |25 |26    |31  |
+            # | PO   |  SVxd   |   SVyd | SVzd | SVRM |vf |   XO      |
             insn = 22 << (31-5)          # opcode 22, bits 0-5
             fields = list(map(int, fields))
             insn |= (fields[0]-1) << (31-10)  # SVxd       , bits 6-10
             insn |= (fields[1]-1) << (31-15)  # SVyd       , bits 11-15
             insn |= (fields[2]-1) << (31-20)  # SVzd       , bits 16-20
-            insn |= (fields[3]) << (31-24)  # SVRM       , bits 21-24
-            insn |= (fields[4]) << (31-25)  # vf         , bits 25
-            insn |= 0b00001 << (31-30)  # XO       , bits 26..30
+            insn |= (fields[3]) << (31-24)    # SVRM       , bits 21-24
+            insn |= (fields[4]) << (31-25)    # vf         , bits 25
+            insn |= 0b00001 << (31-31)        # XO         , bits 26..31
             #insn &= ((1<<32)-1)
             log("svshape", bin(insn))
             yield ".long 0x%x" % insn