public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/5] ppc/svp64: support SVP64 and its first insns
@ 2022-06-17 19:08 Dmitry Selyutin
  2022-06-17 19:08 ` [PATCH 1/5] svp64: support LibreSOC architecture Dmitry Selyutin
                   ` (5 more replies)
  0 siblings, 6 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-17 19:08 UTC (permalink / raw)
  To: binutils; +Cc: amodra, luke.leighton, Dmitry Selyutin

These patches introduce SVP64 extension and LibreSOC CPU which supports
this extension. We also provide the first 32-bit instructions, namely
setvl, svstep, svshape and svremap, plus the corresponding tests.

Dmitry Selyutin (5):
  svp64: support LibreSOC architecture
  ppc/svp64: support setvl instructions
  ppc/svp64: support svstep instructions
  ppc/svp64: support svshape instruction
  ppc/svp64: support svremap instruction

 gas/config/tc-ppc.c             |     2 +
 gas/testsuite/gas/ppc/ppc.exp   |     5 +
 gas/testsuite/gas/ppc/setvl.d   |  2408 +++++++
 gas/testsuite/gas/ppc/setvl.s   |  2400 +++++++
 gas/testsuite/gas/ppc/svremap.d | 10248 ++++++++++++++++++++++++++++++
 gas/testsuite/gas/ppc/svremap.s | 10240 +++++++++++++++++++++++++++++
 gas/testsuite/gas/ppc/svshape.d |  1736 +++++
 gas/testsuite/gas/ppc/svshape.s |  1728 +++++
 gas/testsuite/gas/ppc/svstep.d  |   128 +
 gas/testsuite/gas/ppc/svstep.s  |   120 +
 include/opcode/ppc.h            |     3 +
 opcodes/ppc-dis.c               |     5 +
 opcodes/ppc-opc.c               |   168 +
 13 files changed, 29191 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/setvl.d
 create mode 100644 gas/testsuite/gas/ppc/setvl.s
 create mode 100644 gas/testsuite/gas/ppc/svremap.d
 create mode 100644 gas/testsuite/gas/ppc/svremap.s
 create mode 100644 gas/testsuite/gas/ppc/svshape.d
 create mode 100644 gas/testsuite/gas/ppc/svshape.s
 create mode 100644 gas/testsuite/gas/ppc/svstep.d
 create mode 100644 gas/testsuite/gas/ppc/svstep.s

-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 1/5] svp64: support LibreSOC architecture
  2022-06-17 19:08 [PATCH 0/5] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
@ 2022-06-17 19:08 ` Dmitry Selyutin
  2022-06-17 19:08 ` [PATCH 2/5] ppc/svp64: support setvl instructions Dmitry Selyutin
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-17 19:08 UTC (permalink / raw)
  To: binutils; +Cc: amodra, luke.leighton, Dmitry Selyutin

---
 gas/config/tc-ppc.c  | 2 ++
 include/opcode/ppc.h | 3 +++
 opcodes/ppc-dis.c    | 5 +++++
 opcodes/ppc-opc.c    | 1 +
 4 files changed, 11 insertions(+)

diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 4d789fd16a..76bdfb2e35 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1384,6 +1384,8 @@ PowerPC options:\n"));
   fprintf (stream, _("\
 -mpower10, -mpwr10      generate code for Power10 architecture\n"));
   fprintf (stream, _("\
+-mlibresoc              generate code for Libre-SOC architecture\n"));
+  fprintf (stream, _("\
 -mcell                  generate code for Cell Broadband Engine architecture\n"));
   fprintf (stream, _("\
 -mcom                   generate code for Power/PowerPC common instructions\n"));
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index 7bc6ee216e..d5752a42e6 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -237,6 +237,9 @@ extern const unsigned int spe2_num_opcodes;
 /* Opcode is only supported by power10 architecture.  */
 #define PPC_OPCODE_POWER10  0x400000000000ull
 
+/* Opcode is only supported by SVP64 extensions (LibreSOC architecture).  */
+#define PPC_OPCODE_SVP64	 0x800000000000ull
+
 /* A macro to extract the major opcode from an instruction.  */
 #define PPC_OP(i) (((i) >> 26) & 0x3f)
 
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index 45e8faeef5..f61e6518f1 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -200,6 +200,11 @@ struct ppc_mopt ppc_opts[] = {
 		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
 		| PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX),
     0 },
+  { "libresoc",  (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
+		| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
+		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
+		| PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_SVP64),
+    0 },
   { "future",  (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
 		| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
 		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index f5bd6dac50..fe2fcaeb1d 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -4826,6 +4826,7 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
 #define PPCHTM  PPC_OPCODE_POWER8
 #define E200Z4  PPC_OPCODE_E200Z4
 #define PPCLSP  PPC_OPCODE_LSP
+#define SVP64 PPC_OPCODE_SVP64
 /* Used to mark extended mnemonic in deprecated field so that -Mraw
    won't use this variant in disassembly.  */
 #define EXT	PPC_OPCODE_RAW
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 2/5] ppc/svp64: support setvl instructions
  2022-06-17 19:08 [PATCH 0/5] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  2022-06-17 19:08 ` [PATCH 1/5] svp64: support LibreSOC architecture Dmitry Selyutin
@ 2022-06-17 19:08 ` Dmitry Selyutin
  2022-06-17 19:08 ` [PATCH 3/5] ppc/svp64: support svstep instructions Dmitry Selyutin
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-17 19:08 UTC (permalink / raw)
  To: binutils; +Cc: amodra, luke.leighton, Dmitry Selyutin

---
 gas/testsuite/gas/ppc/ppc.exp |    2 +
 gas/testsuite/gas/ppc/setvl.d | 2408 +++++++++++++++++++++++++++++++++
 gas/testsuite/gas/ppc/setvl.s | 2400 ++++++++++++++++++++++++++++++++
 opcodes/ppc-opc.c             |   42 +
 4 files changed, 4852 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/setvl.d
 create mode 100644 gas/testsuite/gas/ppc/setvl.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index a2e23a2c6a..cd4dd658ce 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -153,3 +153,5 @@ run_dump_test "rop-checks"
 run_dump_test "dcbt"
 run_dump_test "pr27676"
 run_dump_test "raw"
+
+run_dump_test "setvl"
diff --git a/gas/testsuite/gas/ppc/setvl.d b/gas/testsuite/gas/ppc/setvl.d
new file mode 100644
index 0000000000..46c6d9bbc0
--- /dev/null
+++ b/gas/testsuite/gas/ppc/setvl.d
@@ -0,0 +1,2408 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+       0:	36 00 00 58 	setvl   r0,r0,1,0,0,0
+       4:	36 01 00 58 	setvl   r0,r0,1,0,0,1
+       8:	b6 00 00 58 	setvl   r0,r0,1,0,1,0
+       c:	b6 01 00 58 	setvl   r0,r0,1,0,1,1
+      10:	76 00 00 58 	setvl   r0,r0,1,1,0,0
+      14:	76 01 00 58 	setvl   r0,r0,1,1,0,1
+      18:	f6 00 00 58 	setvl   r0,r0,1,1,1,0
+      1c:	f6 01 00 58 	setvl   r0,r0,1,1,1,1
+      20:	36 28 00 58 	setvl   r0,r0,21,0,0,0
+      24:	36 29 00 58 	setvl   r0,r0,21,0,0,1
+      28:	b6 28 00 58 	setvl   r0,r0,21,0,1,0
+      2c:	b6 29 00 58 	setvl   r0,r0,21,0,1,1
+      30:	76 28 00 58 	setvl   r0,r0,21,1,0,0
+      34:	76 29 00 58 	setvl   r0,r0,21,1,0,1
+      38:	f6 28 00 58 	setvl   r0,r0,21,1,1,0
+      3c:	f6 29 00 58 	setvl   r0,r0,21,1,1,1
+      40:	36 52 00 58 	setvl   r0,r0,42,0,0,0
+      44:	36 53 00 58 	setvl   r0,r0,42,0,0,1
+      48:	b6 52 00 58 	setvl   r0,r0,42,0,1,0
+      4c:	b6 53 00 58 	setvl   r0,r0,42,0,1,1
+      50:	76 52 00 58 	setvl   r0,r0,42,1,0,0
+      54:	76 53 00 58 	setvl   r0,r0,42,1,0,1
+      58:	f6 52 00 58 	setvl   r0,r0,42,1,1,0
+      5c:	f6 53 00 58 	setvl   r0,r0,42,1,1,1
+      60:	36 64 00 58 	setvl   r0,r0,51,0,0,0
+      64:	36 65 00 58 	setvl   r0,r0,51,0,0,1
+      68:	b6 64 00 58 	setvl   r0,r0,51,0,1,0
+      6c:	b6 65 00 58 	setvl   r0,r0,51,0,1,1
+      70:	76 64 00 58 	setvl   r0,r0,51,1,0,0
+      74:	76 65 00 58 	setvl   r0,r0,51,1,0,1
+      78:	f6 64 00 58 	setvl   r0,r0,51,1,1,0
+      7c:	f6 65 00 58 	setvl   r0,r0,51,1,1,1
+      80:	36 7c 00 58 	setvl   r0,r0,63,0,0,0
+      84:	36 7d 00 58 	setvl   r0,r0,63,0,0,1
+      88:	b6 7c 00 58 	setvl   r0,r0,63,0,1,0
+      8c:	b6 7d 00 58 	setvl   r0,r0,63,0,1,1
+      90:	76 7c 00 58 	setvl   r0,r0,63,1,0,0
+      94:	76 7d 00 58 	setvl   r0,r0,63,1,0,1
+      98:	f6 7c 00 58 	setvl   r0,r0,63,1,1,0
+      9c:	f6 7d 00 58 	setvl   r0,r0,63,1,1,1
+      a0:	36 3e 00 58 	setvl   r0,r0,32,0,0,0
+      a4:	36 3f 00 58 	setvl   r0,r0,32,0,0,1
+      a8:	b6 3e 00 58 	setvl   r0,r0,32,0,1,0
+      ac:	b6 3f 00 58 	setvl   r0,r0,32,0,1,1
+      b0:	76 3e 00 58 	setvl   r0,r0,32,1,0,0
+      b4:	76 3f 00 58 	setvl   r0,r0,32,1,0,1
+      b8:	f6 3e 00 58 	setvl   r0,r0,32,1,1,0
+      bc:	f6 3f 00 58 	setvl   r0,r0,32,1,1,1
+      c0:	36 00 0a 58 	setvl   r0,r10,1,0,0,0
+      c4:	36 01 0a 58 	setvl   r0,r10,1,0,0,1
+      c8:	b6 00 0a 58 	setvl   r0,r10,1,0,1,0
+      cc:	b6 01 0a 58 	setvl   r0,r10,1,0,1,1
+      d0:	76 00 0a 58 	setvl   r0,r10,1,1,0,0
+      d4:	76 01 0a 58 	setvl   r0,r10,1,1,0,1
+      d8:	f6 00 0a 58 	setvl   r0,r10,1,1,1,0
+      dc:	f6 01 0a 58 	setvl   r0,r10,1,1,1,1
+      e0:	36 28 0a 58 	setvl   r0,r10,21,0,0,0
+      e4:	36 29 0a 58 	setvl   r0,r10,21,0,0,1
+      e8:	b6 28 0a 58 	setvl   r0,r10,21,0,1,0
+      ec:	b6 29 0a 58 	setvl   r0,r10,21,0,1,1
+      f0:	76 28 0a 58 	setvl   r0,r10,21,1,0,0
+      f4:	76 29 0a 58 	setvl   r0,r10,21,1,0,1
+      f8:	f6 28 0a 58 	setvl   r0,r10,21,1,1,0
+      fc:	f6 29 0a 58 	setvl   r0,r10,21,1,1,1
+     100:	36 52 0a 58 	setvl   r0,r10,42,0,0,0
+     104:	36 53 0a 58 	setvl   r0,r10,42,0,0,1
+     108:	b6 52 0a 58 	setvl   r0,r10,42,0,1,0
+     10c:	b6 53 0a 58 	setvl   r0,r10,42,0,1,1
+     110:	76 52 0a 58 	setvl   r0,r10,42,1,0,0
+     114:	76 53 0a 58 	setvl   r0,r10,42,1,0,1
+     118:	f6 52 0a 58 	setvl   r0,r10,42,1,1,0
+     11c:	f6 53 0a 58 	setvl   r0,r10,42,1,1,1
+     120:	36 64 0a 58 	setvl   r0,r10,51,0,0,0
+     124:	36 65 0a 58 	setvl   r0,r10,51,0,0,1
+     128:	b6 64 0a 58 	setvl   r0,r10,51,0,1,0
+     12c:	b6 65 0a 58 	setvl   r0,r10,51,0,1,1
+     130:	76 64 0a 58 	setvl   r0,r10,51,1,0,0
+     134:	76 65 0a 58 	setvl   r0,r10,51,1,0,1
+     138:	f6 64 0a 58 	setvl   r0,r10,51,1,1,0
+     13c:	f6 65 0a 58 	setvl   r0,r10,51,1,1,1
+     140:	36 7c 0a 58 	setvl   r0,r10,63,0,0,0
+     144:	36 7d 0a 58 	setvl   r0,r10,63,0,0,1
+     148:	b6 7c 0a 58 	setvl   r0,r10,63,0,1,0
+     14c:	b6 7d 0a 58 	setvl   r0,r10,63,0,1,1
+     150:	76 7c 0a 58 	setvl   r0,r10,63,1,0,0
+     154:	76 7d 0a 58 	setvl   r0,r10,63,1,0,1
+     158:	f6 7c 0a 58 	setvl   r0,r10,63,1,1,0
+     15c:	f6 7d 0a 58 	setvl   r0,r10,63,1,1,1
+     160:	36 3e 0a 58 	setvl   r0,r10,32,0,0,0
+     164:	36 3f 0a 58 	setvl   r0,r10,32,0,0,1
+     168:	b6 3e 0a 58 	setvl   r0,r10,32,0,1,0
+     16c:	b6 3f 0a 58 	setvl   r0,r10,32,0,1,1
+     170:	76 3e 0a 58 	setvl   r0,r10,32,1,0,0
+     174:	76 3f 0a 58 	setvl   r0,r10,32,1,0,1
+     178:	f6 3e 0a 58 	setvl   r0,r10,32,1,1,0
+     17c:	f6 3f 0a 58 	setvl   r0,r10,32,1,1,1
+     180:	36 00 15 58 	setvl   r0,r21,1,0,0,0
+     184:	36 01 15 58 	setvl   r0,r21,1,0,0,1
+     188:	b6 00 15 58 	setvl   r0,r21,1,0,1,0
+     18c:	b6 01 15 58 	setvl   r0,r21,1,0,1,1
+     190:	76 00 15 58 	setvl   r0,r21,1,1,0,0
+     194:	76 01 15 58 	setvl   r0,r21,1,1,0,1
+     198:	f6 00 15 58 	setvl   r0,r21,1,1,1,0
+     19c:	f6 01 15 58 	setvl   r0,r21,1,1,1,1
+     1a0:	36 28 15 58 	setvl   r0,r21,21,0,0,0
+     1a4:	36 29 15 58 	setvl   r0,r21,21,0,0,1
+     1a8:	b6 28 15 58 	setvl   r0,r21,21,0,1,0
+     1ac:	b6 29 15 58 	setvl   r0,r21,21,0,1,1
+     1b0:	76 28 15 58 	setvl   r0,r21,21,1,0,0
+     1b4:	76 29 15 58 	setvl   r0,r21,21,1,0,1
+     1b8:	f6 28 15 58 	setvl   r0,r21,21,1,1,0
+     1bc:	f6 29 15 58 	setvl   r0,r21,21,1,1,1
+     1c0:	36 52 15 58 	setvl   r0,r21,42,0,0,0
+     1c4:	36 53 15 58 	setvl   r0,r21,42,0,0,1
+     1c8:	b6 52 15 58 	setvl   r0,r21,42,0,1,0
+     1cc:	b6 53 15 58 	setvl   r0,r21,42,0,1,1
+     1d0:	76 52 15 58 	setvl   r0,r21,42,1,0,0
+     1d4:	76 53 15 58 	setvl   r0,r21,42,1,0,1
+     1d8:	f6 52 15 58 	setvl   r0,r21,42,1,1,0
+     1dc:	f6 53 15 58 	setvl   r0,r21,42,1,1,1
+     1e0:	36 64 15 58 	setvl   r0,r21,51,0,0,0
+     1e4:	36 65 15 58 	setvl   r0,r21,51,0,0,1
+     1e8:	b6 64 15 58 	setvl   r0,r21,51,0,1,0
+     1ec:	b6 65 15 58 	setvl   r0,r21,51,0,1,1
+     1f0:	76 64 15 58 	setvl   r0,r21,51,1,0,0
+     1f4:	76 65 15 58 	setvl   r0,r21,51,1,0,1
+     1f8:	f6 64 15 58 	setvl   r0,r21,51,1,1,0
+     1fc:	f6 65 15 58 	setvl   r0,r21,51,1,1,1
+     200:	36 7c 15 58 	setvl   r0,r21,63,0,0,0
+     204:	36 7d 15 58 	setvl   r0,r21,63,0,0,1
+     208:	b6 7c 15 58 	setvl   r0,r21,63,0,1,0
+     20c:	b6 7d 15 58 	setvl   r0,r21,63,0,1,1
+     210:	76 7c 15 58 	setvl   r0,r21,63,1,0,0
+     214:	76 7d 15 58 	setvl   r0,r21,63,1,0,1
+     218:	f6 7c 15 58 	setvl   r0,r21,63,1,1,0
+     21c:	f6 7d 15 58 	setvl   r0,r21,63,1,1,1
+     220:	36 3e 15 58 	setvl   r0,r21,32,0,0,0
+     224:	36 3f 15 58 	setvl   r0,r21,32,0,0,1
+     228:	b6 3e 15 58 	setvl   r0,r21,32,0,1,0
+     22c:	b6 3f 15 58 	setvl   r0,r21,32,0,1,1
+     230:	76 3e 15 58 	setvl   r0,r21,32,1,0,0
+     234:	76 3f 15 58 	setvl   r0,r21,32,1,0,1
+     238:	f6 3e 15 58 	setvl   r0,r21,32,1,1,0
+     23c:	f6 3f 15 58 	setvl   r0,r21,32,1,1,1
+     240:	36 00 1b 58 	setvl   r0,r27,1,0,0,0
+     244:	36 01 1b 58 	setvl   r0,r27,1,0,0,1
+     248:	b6 00 1b 58 	setvl   r0,r27,1,0,1,0
+     24c:	b6 01 1b 58 	setvl   r0,r27,1,0,1,1
+     250:	76 00 1b 58 	setvl   r0,r27,1,1,0,0
+     254:	76 01 1b 58 	setvl   r0,r27,1,1,0,1
+     258:	f6 00 1b 58 	setvl   r0,r27,1,1,1,0
+     25c:	f6 01 1b 58 	setvl   r0,r27,1,1,1,1
+     260:	36 28 1b 58 	setvl   r0,r27,21,0,0,0
+     264:	36 29 1b 58 	setvl   r0,r27,21,0,0,1
+     268:	b6 28 1b 58 	setvl   r0,r27,21,0,1,0
+     26c:	b6 29 1b 58 	setvl   r0,r27,21,0,1,1
+     270:	76 28 1b 58 	setvl   r0,r27,21,1,0,0
+     274:	76 29 1b 58 	setvl   r0,r27,21,1,0,1
+     278:	f6 28 1b 58 	setvl   r0,r27,21,1,1,0
+     27c:	f6 29 1b 58 	setvl   r0,r27,21,1,1,1
+     280:	36 52 1b 58 	setvl   r0,r27,42,0,0,0
+     284:	36 53 1b 58 	setvl   r0,r27,42,0,0,1
+     288:	b6 52 1b 58 	setvl   r0,r27,42,0,1,0
+     28c:	b6 53 1b 58 	setvl   r0,r27,42,0,1,1
+     290:	76 52 1b 58 	setvl   r0,r27,42,1,0,0
+     294:	76 53 1b 58 	setvl   r0,r27,42,1,0,1
+     298:	f6 52 1b 58 	setvl   r0,r27,42,1,1,0
+     29c:	f6 53 1b 58 	setvl   r0,r27,42,1,1,1
+     2a0:	36 64 1b 58 	setvl   r0,r27,51,0,0,0
+     2a4:	36 65 1b 58 	setvl   r0,r27,51,0,0,1
+     2a8:	b6 64 1b 58 	setvl   r0,r27,51,0,1,0
+     2ac:	b6 65 1b 58 	setvl   r0,r27,51,0,1,1
+     2b0:	76 64 1b 58 	setvl   r0,r27,51,1,0,0
+     2b4:	76 65 1b 58 	setvl   r0,r27,51,1,0,1
+     2b8:	f6 64 1b 58 	setvl   r0,r27,51,1,1,0
+     2bc:	f6 65 1b 58 	setvl   r0,r27,51,1,1,1
+     2c0:	36 7c 1b 58 	setvl   r0,r27,63,0,0,0
+     2c4:	36 7d 1b 58 	setvl   r0,r27,63,0,0,1
+     2c8:	b6 7c 1b 58 	setvl   r0,r27,63,0,1,0
+     2cc:	b6 7d 1b 58 	setvl   r0,r27,63,0,1,1
+     2d0:	76 7c 1b 58 	setvl   r0,r27,63,1,0,0
+     2d4:	76 7d 1b 58 	setvl   r0,r27,63,1,0,1
+     2d8:	f6 7c 1b 58 	setvl   r0,r27,63,1,1,0
+     2dc:	f6 7d 1b 58 	setvl   r0,r27,63,1,1,1
+     2e0:	36 3e 1b 58 	setvl   r0,r27,32,0,0,0
+     2e4:	36 3f 1b 58 	setvl   r0,r27,32,0,0,1
+     2e8:	b6 3e 1b 58 	setvl   r0,r27,32,0,1,0
+     2ec:	b6 3f 1b 58 	setvl   r0,r27,32,0,1,1
+     2f0:	76 3e 1b 58 	setvl   r0,r27,32,1,0,0
+     2f4:	76 3f 1b 58 	setvl   r0,r27,32,1,0,1
+     2f8:	f6 3e 1b 58 	setvl   r0,r27,32,1,1,0
+     2fc:	f6 3f 1b 58 	setvl   r0,r27,32,1,1,1
+     300:	36 00 1f 58 	setvl   r0,r31,1,0,0,0
+     304:	36 01 1f 58 	setvl   r0,r31,1,0,0,1
+     308:	b6 00 1f 58 	setvl   r0,r31,1,0,1,0
+     30c:	b6 01 1f 58 	setvl   r0,r31,1,0,1,1
+     310:	76 00 1f 58 	setvl   r0,r31,1,1,0,0
+     314:	76 01 1f 58 	setvl   r0,r31,1,1,0,1
+     318:	f6 00 1f 58 	setvl   r0,r31,1,1,1,0
+     31c:	f6 01 1f 58 	setvl   r0,r31,1,1,1,1
+     320:	36 28 1f 58 	setvl   r0,r31,21,0,0,0
+     324:	36 29 1f 58 	setvl   r0,r31,21,0,0,1
+     328:	b6 28 1f 58 	setvl   r0,r31,21,0,1,0
+     32c:	b6 29 1f 58 	setvl   r0,r31,21,0,1,1
+     330:	76 28 1f 58 	setvl   r0,r31,21,1,0,0
+     334:	76 29 1f 58 	setvl   r0,r31,21,1,0,1
+     338:	f6 28 1f 58 	setvl   r0,r31,21,1,1,0
+     33c:	f6 29 1f 58 	setvl   r0,r31,21,1,1,1
+     340:	36 52 1f 58 	setvl   r0,r31,42,0,0,0
+     344:	36 53 1f 58 	setvl   r0,r31,42,0,0,1
+     348:	b6 52 1f 58 	setvl   r0,r31,42,0,1,0
+     34c:	b6 53 1f 58 	setvl   r0,r31,42,0,1,1
+     350:	76 52 1f 58 	setvl   r0,r31,42,1,0,0
+     354:	76 53 1f 58 	setvl   r0,r31,42,1,0,1
+     358:	f6 52 1f 58 	setvl   r0,r31,42,1,1,0
+     35c:	f6 53 1f 58 	setvl   r0,r31,42,1,1,1
+     360:	36 64 1f 58 	setvl   r0,r31,51,0,0,0
+     364:	36 65 1f 58 	setvl   r0,r31,51,0,0,1
+     368:	b6 64 1f 58 	setvl   r0,r31,51,0,1,0
+     36c:	b6 65 1f 58 	setvl   r0,r31,51,0,1,1
+     370:	76 64 1f 58 	setvl   r0,r31,51,1,0,0
+     374:	76 65 1f 58 	setvl   r0,r31,51,1,0,1
+     378:	f6 64 1f 58 	setvl   r0,r31,51,1,1,0
+     37c:	f6 65 1f 58 	setvl   r0,r31,51,1,1,1
+     380:	36 7c 1f 58 	setvl   r0,r31,63,0,0,0
+     384:	36 7d 1f 58 	setvl   r0,r31,63,0,0,1
+     388:	b6 7c 1f 58 	setvl   r0,r31,63,0,1,0
+     38c:	b6 7d 1f 58 	setvl   r0,r31,63,0,1,1
+     390:	76 7c 1f 58 	setvl   r0,r31,63,1,0,0
+     394:	76 7d 1f 58 	setvl   r0,r31,63,1,0,1
+     398:	f6 7c 1f 58 	setvl   r0,r31,63,1,1,0
+     39c:	f6 7d 1f 58 	setvl   r0,r31,63,1,1,1
+     3a0:	36 3e 1f 58 	setvl   r0,r31,32,0,0,0
+     3a4:	36 3f 1f 58 	setvl   r0,r31,32,0,0,1
+     3a8:	b6 3e 1f 58 	setvl   r0,r31,32,0,1,0
+     3ac:	b6 3f 1f 58 	setvl   r0,r31,32,0,1,1
+     3b0:	76 3e 1f 58 	setvl   r0,r31,32,1,0,0
+     3b4:	76 3f 1f 58 	setvl   r0,r31,32,1,0,1
+     3b8:	f6 3e 1f 58 	setvl   r0,r31,32,1,1,0
+     3bc:	f6 3f 1f 58 	setvl   r0,r31,32,1,1,1
+     3c0:	36 00 40 59 	setvl   r10,r0,1,0,0,0
+     3c4:	36 01 40 59 	setvl   r10,r0,1,0,0,1
+     3c8:	b6 00 40 59 	setvl   r10,r0,1,0,1,0
+     3cc:	b6 01 40 59 	setvl   r10,r0,1,0,1,1
+     3d0:	76 00 40 59 	setvl   r10,r0,1,1,0,0
+     3d4:	76 01 40 59 	setvl   r10,r0,1,1,0,1
+     3d8:	f6 00 40 59 	setvl   r10,r0,1,1,1,0
+     3dc:	f6 01 40 59 	setvl   r10,r0,1,1,1,1
+     3e0:	36 28 40 59 	setvl   r10,r0,21,0,0,0
+     3e4:	36 29 40 59 	setvl   r10,r0,21,0,0,1
+     3e8:	b6 28 40 59 	setvl   r10,r0,21,0,1,0
+     3ec:	b6 29 40 59 	setvl   r10,r0,21,0,1,1
+     3f0:	76 28 40 59 	setvl   r10,r0,21,1,0,0
+     3f4:	76 29 40 59 	setvl   r10,r0,21,1,0,1
+     3f8:	f6 28 40 59 	setvl   r10,r0,21,1,1,0
+     3fc:	f6 29 40 59 	setvl   r10,r0,21,1,1,1
+     400:	36 52 40 59 	setvl   r10,r0,42,0,0,0
+     404:	36 53 40 59 	setvl   r10,r0,42,0,0,1
+     408:	b6 52 40 59 	setvl   r10,r0,42,0,1,0
+     40c:	b6 53 40 59 	setvl   r10,r0,42,0,1,1
+     410:	76 52 40 59 	setvl   r10,r0,42,1,0,0
+     414:	76 53 40 59 	setvl   r10,r0,42,1,0,1
+     418:	f6 52 40 59 	setvl   r10,r0,42,1,1,0
+     41c:	f6 53 40 59 	setvl   r10,r0,42,1,1,1
+     420:	36 64 40 59 	setvl   r10,r0,51,0,0,0
+     424:	36 65 40 59 	setvl   r10,r0,51,0,0,1
+     428:	b6 64 40 59 	setvl   r10,r0,51,0,1,0
+     42c:	b6 65 40 59 	setvl   r10,r0,51,0,1,1
+     430:	76 64 40 59 	setvl   r10,r0,51,1,0,0
+     434:	76 65 40 59 	setvl   r10,r0,51,1,0,1
+     438:	f6 64 40 59 	setvl   r10,r0,51,1,1,0
+     43c:	f6 65 40 59 	setvl   r10,r0,51,1,1,1
+     440:	36 7c 40 59 	setvl   r10,r0,63,0,0,0
+     444:	36 7d 40 59 	setvl   r10,r0,63,0,0,1
+     448:	b6 7c 40 59 	setvl   r10,r0,63,0,1,0
+     44c:	b6 7d 40 59 	setvl   r10,r0,63,0,1,1
+     450:	76 7c 40 59 	setvl   r10,r0,63,1,0,0
+     454:	76 7d 40 59 	setvl   r10,r0,63,1,0,1
+     458:	f6 7c 40 59 	setvl   r10,r0,63,1,1,0
+     45c:	f6 7d 40 59 	setvl   r10,r0,63,1,1,1
+     460:	36 3e 40 59 	setvl   r10,r0,32,0,0,0
+     464:	36 3f 40 59 	setvl   r10,r0,32,0,0,1
+     468:	b6 3e 40 59 	setvl   r10,r0,32,0,1,0
+     46c:	b6 3f 40 59 	setvl   r10,r0,32,0,1,1
+     470:	76 3e 40 59 	setvl   r10,r0,32,1,0,0
+     474:	76 3f 40 59 	setvl   r10,r0,32,1,0,1
+     478:	f6 3e 40 59 	setvl   r10,r0,32,1,1,0
+     47c:	f6 3f 40 59 	setvl   r10,r0,32,1,1,1
+     480:	36 00 4a 59 	setvl   r10,r10,1,0,0,0
+     484:	36 01 4a 59 	setvl   r10,r10,1,0,0,1
+     488:	b6 00 4a 59 	setvl   r10,r10,1,0,1,0
+     48c:	b6 01 4a 59 	setvl   r10,r10,1,0,1,1
+     490:	76 00 4a 59 	setvl   r10,r10,1,1,0,0
+     494:	76 01 4a 59 	setvl   r10,r10,1,1,0,1
+     498:	f6 00 4a 59 	setvl   r10,r10,1,1,1,0
+     49c:	f6 01 4a 59 	setvl   r10,r10,1,1,1,1
+     4a0:	36 28 4a 59 	setvl   r10,r10,21,0,0,0
+     4a4:	36 29 4a 59 	setvl   r10,r10,21,0,0,1
+     4a8:	b6 28 4a 59 	setvl   r10,r10,21,0,1,0
+     4ac:	b6 29 4a 59 	setvl   r10,r10,21,0,1,1
+     4b0:	76 28 4a 59 	setvl   r10,r10,21,1,0,0
+     4b4:	76 29 4a 59 	setvl   r10,r10,21,1,0,1
+     4b8:	f6 28 4a 59 	setvl   r10,r10,21,1,1,0
+     4bc:	f6 29 4a 59 	setvl   r10,r10,21,1,1,1
+     4c0:	36 52 4a 59 	setvl   r10,r10,42,0,0,0
+     4c4:	36 53 4a 59 	setvl   r10,r10,42,0,0,1
+     4c8:	b6 52 4a 59 	setvl   r10,r10,42,0,1,0
+     4cc:	b6 53 4a 59 	setvl   r10,r10,42,0,1,1
+     4d0:	76 52 4a 59 	setvl   r10,r10,42,1,0,0
+     4d4:	76 53 4a 59 	setvl   r10,r10,42,1,0,1
+     4d8:	f6 52 4a 59 	setvl   r10,r10,42,1,1,0
+     4dc:	f6 53 4a 59 	setvl   r10,r10,42,1,1,1
+     4e0:	36 64 4a 59 	setvl   r10,r10,51,0,0,0
+     4e4:	36 65 4a 59 	setvl   r10,r10,51,0,0,1
+     4e8:	b6 64 4a 59 	setvl   r10,r10,51,0,1,0
+     4ec:	b6 65 4a 59 	setvl   r10,r10,51,0,1,1
+     4f0:	76 64 4a 59 	setvl   r10,r10,51,1,0,0
+     4f4:	76 65 4a 59 	setvl   r10,r10,51,1,0,1
+     4f8:	f6 64 4a 59 	setvl   r10,r10,51,1,1,0
+     4fc:	f6 65 4a 59 	setvl   r10,r10,51,1,1,1
+     500:	36 7c 4a 59 	setvl   r10,r10,63,0,0,0
+     504:	36 7d 4a 59 	setvl   r10,r10,63,0,0,1
+     508:	b6 7c 4a 59 	setvl   r10,r10,63,0,1,0
+     50c:	b6 7d 4a 59 	setvl   r10,r10,63,0,1,1
+     510:	76 7c 4a 59 	setvl   r10,r10,63,1,0,0
+     514:	76 7d 4a 59 	setvl   r10,r10,63,1,0,1
+     518:	f6 7c 4a 59 	setvl   r10,r10,63,1,1,0
+     51c:	f6 7d 4a 59 	setvl   r10,r10,63,1,1,1
+     520:	36 3e 4a 59 	setvl   r10,r10,32,0,0,0
+     524:	36 3f 4a 59 	setvl   r10,r10,32,0,0,1
+     528:	b6 3e 4a 59 	setvl   r10,r10,32,0,1,0
+     52c:	b6 3f 4a 59 	setvl   r10,r10,32,0,1,1
+     530:	76 3e 4a 59 	setvl   r10,r10,32,1,0,0
+     534:	76 3f 4a 59 	setvl   r10,r10,32,1,0,1
+     538:	f6 3e 4a 59 	setvl   r10,r10,32,1,1,0
+     53c:	f6 3f 4a 59 	setvl   r10,r10,32,1,1,1
+     540:	36 00 55 59 	setvl   r10,r21,1,0,0,0
+     544:	36 01 55 59 	setvl   r10,r21,1,0,0,1
+     548:	b6 00 55 59 	setvl   r10,r21,1,0,1,0
+     54c:	b6 01 55 59 	setvl   r10,r21,1,0,1,1
+     550:	76 00 55 59 	setvl   r10,r21,1,1,0,0
+     554:	76 01 55 59 	setvl   r10,r21,1,1,0,1
+     558:	f6 00 55 59 	setvl   r10,r21,1,1,1,0
+     55c:	f6 01 55 59 	setvl   r10,r21,1,1,1,1
+     560:	36 28 55 59 	setvl   r10,r21,21,0,0,0
+     564:	36 29 55 59 	setvl   r10,r21,21,0,0,1
+     568:	b6 28 55 59 	setvl   r10,r21,21,0,1,0
+     56c:	b6 29 55 59 	setvl   r10,r21,21,0,1,1
+     570:	76 28 55 59 	setvl   r10,r21,21,1,0,0
+     574:	76 29 55 59 	setvl   r10,r21,21,1,0,1
+     578:	f6 28 55 59 	setvl   r10,r21,21,1,1,0
+     57c:	f6 29 55 59 	setvl   r10,r21,21,1,1,1
+     580:	36 52 55 59 	setvl   r10,r21,42,0,0,0
+     584:	36 53 55 59 	setvl   r10,r21,42,0,0,1
+     588:	b6 52 55 59 	setvl   r10,r21,42,0,1,0
+     58c:	b6 53 55 59 	setvl   r10,r21,42,0,1,1
+     590:	76 52 55 59 	setvl   r10,r21,42,1,0,0
+     594:	76 53 55 59 	setvl   r10,r21,42,1,0,1
+     598:	f6 52 55 59 	setvl   r10,r21,42,1,1,0
+     59c:	f6 53 55 59 	setvl   r10,r21,42,1,1,1
+     5a0:	36 64 55 59 	setvl   r10,r21,51,0,0,0
+     5a4:	36 65 55 59 	setvl   r10,r21,51,0,0,1
+     5a8:	b6 64 55 59 	setvl   r10,r21,51,0,1,0
+     5ac:	b6 65 55 59 	setvl   r10,r21,51,0,1,1
+     5b0:	76 64 55 59 	setvl   r10,r21,51,1,0,0
+     5b4:	76 65 55 59 	setvl   r10,r21,51,1,0,1
+     5b8:	f6 64 55 59 	setvl   r10,r21,51,1,1,0
+     5bc:	f6 65 55 59 	setvl   r10,r21,51,1,1,1
+     5c0:	36 7c 55 59 	setvl   r10,r21,63,0,0,0
+     5c4:	36 7d 55 59 	setvl   r10,r21,63,0,0,1
+     5c8:	b6 7c 55 59 	setvl   r10,r21,63,0,1,0
+     5cc:	b6 7d 55 59 	setvl   r10,r21,63,0,1,1
+     5d0:	76 7c 55 59 	setvl   r10,r21,63,1,0,0
+     5d4:	76 7d 55 59 	setvl   r10,r21,63,1,0,1
+     5d8:	f6 7c 55 59 	setvl   r10,r21,63,1,1,0
+     5dc:	f6 7d 55 59 	setvl   r10,r21,63,1,1,1
+     5e0:	36 3e 55 59 	setvl   r10,r21,32,0,0,0
+     5e4:	36 3f 55 59 	setvl   r10,r21,32,0,0,1
+     5e8:	b6 3e 55 59 	setvl   r10,r21,32,0,1,0
+     5ec:	b6 3f 55 59 	setvl   r10,r21,32,0,1,1
+     5f0:	76 3e 55 59 	setvl   r10,r21,32,1,0,0
+     5f4:	76 3f 55 59 	setvl   r10,r21,32,1,0,1
+     5f8:	f6 3e 55 59 	setvl   r10,r21,32,1,1,0
+     5fc:	f6 3f 55 59 	setvl   r10,r21,32,1,1,1
+     600:	36 00 5b 59 	setvl   r10,r27,1,0,0,0
+     604:	36 01 5b 59 	setvl   r10,r27,1,0,0,1
+     608:	b6 00 5b 59 	setvl   r10,r27,1,0,1,0
+     60c:	b6 01 5b 59 	setvl   r10,r27,1,0,1,1
+     610:	76 00 5b 59 	setvl   r10,r27,1,1,0,0
+     614:	76 01 5b 59 	setvl   r10,r27,1,1,0,1
+     618:	f6 00 5b 59 	setvl   r10,r27,1,1,1,0
+     61c:	f6 01 5b 59 	setvl   r10,r27,1,1,1,1
+     620:	36 28 5b 59 	setvl   r10,r27,21,0,0,0
+     624:	36 29 5b 59 	setvl   r10,r27,21,0,0,1
+     628:	b6 28 5b 59 	setvl   r10,r27,21,0,1,0
+     62c:	b6 29 5b 59 	setvl   r10,r27,21,0,1,1
+     630:	76 28 5b 59 	setvl   r10,r27,21,1,0,0
+     634:	76 29 5b 59 	setvl   r10,r27,21,1,0,1
+     638:	f6 28 5b 59 	setvl   r10,r27,21,1,1,0
+     63c:	f6 29 5b 59 	setvl   r10,r27,21,1,1,1
+     640:	36 52 5b 59 	setvl   r10,r27,42,0,0,0
+     644:	36 53 5b 59 	setvl   r10,r27,42,0,0,1
+     648:	b6 52 5b 59 	setvl   r10,r27,42,0,1,0
+     64c:	b6 53 5b 59 	setvl   r10,r27,42,0,1,1
+     650:	76 52 5b 59 	setvl   r10,r27,42,1,0,0
+     654:	76 53 5b 59 	setvl   r10,r27,42,1,0,1
+     658:	f6 52 5b 59 	setvl   r10,r27,42,1,1,0
+     65c:	f6 53 5b 59 	setvl   r10,r27,42,1,1,1
+     660:	36 64 5b 59 	setvl   r10,r27,51,0,0,0
+     664:	36 65 5b 59 	setvl   r10,r27,51,0,0,1
+     668:	b6 64 5b 59 	setvl   r10,r27,51,0,1,0
+     66c:	b6 65 5b 59 	setvl   r10,r27,51,0,1,1
+     670:	76 64 5b 59 	setvl   r10,r27,51,1,0,0
+     674:	76 65 5b 59 	setvl   r10,r27,51,1,0,1
+     678:	f6 64 5b 59 	setvl   r10,r27,51,1,1,0
+     67c:	f6 65 5b 59 	setvl   r10,r27,51,1,1,1
+     680:	36 7c 5b 59 	setvl   r10,r27,63,0,0,0
+     684:	36 7d 5b 59 	setvl   r10,r27,63,0,0,1
+     688:	b6 7c 5b 59 	setvl   r10,r27,63,0,1,0
+     68c:	b6 7d 5b 59 	setvl   r10,r27,63,0,1,1
+     690:	76 7c 5b 59 	setvl   r10,r27,63,1,0,0
+     694:	76 7d 5b 59 	setvl   r10,r27,63,1,0,1
+     698:	f6 7c 5b 59 	setvl   r10,r27,63,1,1,0
+     69c:	f6 7d 5b 59 	setvl   r10,r27,63,1,1,1
+     6a0:	36 3e 5b 59 	setvl   r10,r27,32,0,0,0
+     6a4:	36 3f 5b 59 	setvl   r10,r27,32,0,0,1
+     6a8:	b6 3e 5b 59 	setvl   r10,r27,32,0,1,0
+     6ac:	b6 3f 5b 59 	setvl   r10,r27,32,0,1,1
+     6b0:	76 3e 5b 59 	setvl   r10,r27,32,1,0,0
+     6b4:	76 3f 5b 59 	setvl   r10,r27,32,1,0,1
+     6b8:	f6 3e 5b 59 	setvl   r10,r27,32,1,1,0
+     6bc:	f6 3f 5b 59 	setvl   r10,r27,32,1,1,1
+     6c0:	36 00 5f 59 	setvl   r10,r31,1,0,0,0
+     6c4:	36 01 5f 59 	setvl   r10,r31,1,0,0,1
+     6c8:	b6 00 5f 59 	setvl   r10,r31,1,0,1,0
+     6cc:	b6 01 5f 59 	setvl   r10,r31,1,0,1,1
+     6d0:	76 00 5f 59 	setvl   r10,r31,1,1,0,0
+     6d4:	76 01 5f 59 	setvl   r10,r31,1,1,0,1
+     6d8:	f6 00 5f 59 	setvl   r10,r31,1,1,1,0
+     6dc:	f6 01 5f 59 	setvl   r10,r31,1,1,1,1
+     6e0:	36 28 5f 59 	setvl   r10,r31,21,0,0,0
+     6e4:	36 29 5f 59 	setvl   r10,r31,21,0,0,1
+     6e8:	b6 28 5f 59 	setvl   r10,r31,21,0,1,0
+     6ec:	b6 29 5f 59 	setvl   r10,r31,21,0,1,1
+     6f0:	76 28 5f 59 	setvl   r10,r31,21,1,0,0
+     6f4:	76 29 5f 59 	setvl   r10,r31,21,1,0,1
+     6f8:	f6 28 5f 59 	setvl   r10,r31,21,1,1,0
+     6fc:	f6 29 5f 59 	setvl   r10,r31,21,1,1,1
+     700:	36 52 5f 59 	setvl   r10,r31,42,0,0,0
+     704:	36 53 5f 59 	setvl   r10,r31,42,0,0,1
+     708:	b6 52 5f 59 	setvl   r10,r31,42,0,1,0
+     70c:	b6 53 5f 59 	setvl   r10,r31,42,0,1,1
+     710:	76 52 5f 59 	setvl   r10,r31,42,1,0,0
+     714:	76 53 5f 59 	setvl   r10,r31,42,1,0,1
+     718:	f6 52 5f 59 	setvl   r10,r31,42,1,1,0
+     71c:	f6 53 5f 59 	setvl   r10,r31,42,1,1,1
+     720:	36 64 5f 59 	setvl   r10,r31,51,0,0,0
+     724:	36 65 5f 59 	setvl   r10,r31,51,0,0,1
+     728:	b6 64 5f 59 	setvl   r10,r31,51,0,1,0
+     72c:	b6 65 5f 59 	setvl   r10,r31,51,0,1,1
+     730:	76 64 5f 59 	setvl   r10,r31,51,1,0,0
+     734:	76 65 5f 59 	setvl   r10,r31,51,1,0,1
+     738:	f6 64 5f 59 	setvl   r10,r31,51,1,1,0
+     73c:	f6 65 5f 59 	setvl   r10,r31,51,1,1,1
+     740:	36 7c 5f 59 	setvl   r10,r31,63,0,0,0
+     744:	36 7d 5f 59 	setvl   r10,r31,63,0,0,1
+     748:	b6 7c 5f 59 	setvl   r10,r31,63,0,1,0
+     74c:	b6 7d 5f 59 	setvl   r10,r31,63,0,1,1
+     750:	76 7c 5f 59 	setvl   r10,r31,63,1,0,0
+     754:	76 7d 5f 59 	setvl   r10,r31,63,1,0,1
+     758:	f6 7c 5f 59 	setvl   r10,r31,63,1,1,0
+     75c:	f6 7d 5f 59 	setvl   r10,r31,63,1,1,1
+     760:	36 3e 5f 59 	setvl   r10,r31,32,0,0,0
+     764:	36 3f 5f 59 	setvl   r10,r31,32,0,0,1
+     768:	b6 3e 5f 59 	setvl   r10,r31,32,0,1,0
+     76c:	b6 3f 5f 59 	setvl   r10,r31,32,0,1,1
+     770:	76 3e 5f 59 	setvl   r10,r31,32,1,0,0
+     774:	76 3f 5f 59 	setvl   r10,r31,32,1,0,1
+     778:	f6 3e 5f 59 	setvl   r10,r31,32,1,1,0
+     77c:	f6 3f 5f 59 	setvl   r10,r31,32,1,1,1
+     780:	36 00 a0 5a 	setvl   r21,r0,1,0,0,0
+     784:	36 01 a0 5a 	setvl   r21,r0,1,0,0,1
+     788:	b6 00 a0 5a 	setvl   r21,r0,1,0,1,0
+     78c:	b6 01 a0 5a 	setvl   r21,r0,1,0,1,1
+     790:	76 00 a0 5a 	setvl   r21,r0,1,1,0,0
+     794:	76 01 a0 5a 	setvl   r21,r0,1,1,0,1
+     798:	f6 00 a0 5a 	setvl   r21,r0,1,1,1,0
+     79c:	f6 01 a0 5a 	setvl   r21,r0,1,1,1,1
+     7a0:	36 28 a0 5a 	setvl   r21,r0,21,0,0,0
+     7a4:	36 29 a0 5a 	setvl   r21,r0,21,0,0,1
+     7a8:	b6 28 a0 5a 	setvl   r21,r0,21,0,1,0
+     7ac:	b6 29 a0 5a 	setvl   r21,r0,21,0,1,1
+     7b0:	76 28 a0 5a 	setvl   r21,r0,21,1,0,0
+     7b4:	76 29 a0 5a 	setvl   r21,r0,21,1,0,1
+     7b8:	f6 28 a0 5a 	setvl   r21,r0,21,1,1,0
+     7bc:	f6 29 a0 5a 	setvl   r21,r0,21,1,1,1
+     7c0:	36 52 a0 5a 	setvl   r21,r0,42,0,0,0
+     7c4:	36 53 a0 5a 	setvl   r21,r0,42,0,0,1
+     7c8:	b6 52 a0 5a 	setvl   r21,r0,42,0,1,0
+     7cc:	b6 53 a0 5a 	setvl   r21,r0,42,0,1,1
+     7d0:	76 52 a0 5a 	setvl   r21,r0,42,1,0,0
+     7d4:	76 53 a0 5a 	setvl   r21,r0,42,1,0,1
+     7d8:	f6 52 a0 5a 	setvl   r21,r0,42,1,1,0
+     7dc:	f6 53 a0 5a 	setvl   r21,r0,42,1,1,1
+     7e0:	36 64 a0 5a 	setvl   r21,r0,51,0,0,0
+     7e4:	36 65 a0 5a 	setvl   r21,r0,51,0,0,1
+     7e8:	b6 64 a0 5a 	setvl   r21,r0,51,0,1,0
+     7ec:	b6 65 a0 5a 	setvl   r21,r0,51,0,1,1
+     7f0:	76 64 a0 5a 	setvl   r21,r0,51,1,0,0
+     7f4:	76 65 a0 5a 	setvl   r21,r0,51,1,0,1
+     7f8:	f6 64 a0 5a 	setvl   r21,r0,51,1,1,0
+     7fc:	f6 65 a0 5a 	setvl   r21,r0,51,1,1,1
+     800:	36 7c a0 5a 	setvl   r21,r0,63,0,0,0
+     804:	36 7d a0 5a 	setvl   r21,r0,63,0,0,1
+     808:	b6 7c a0 5a 	setvl   r21,r0,63,0,1,0
+     80c:	b6 7d a0 5a 	setvl   r21,r0,63,0,1,1
+     810:	76 7c a0 5a 	setvl   r21,r0,63,1,0,0
+     814:	76 7d a0 5a 	setvl   r21,r0,63,1,0,1
+     818:	f6 7c a0 5a 	setvl   r21,r0,63,1,1,0
+     81c:	f6 7d a0 5a 	setvl   r21,r0,63,1,1,1
+     820:	36 3e a0 5a 	setvl   r21,r0,32,0,0,0
+     824:	36 3f a0 5a 	setvl   r21,r0,32,0,0,1
+     828:	b6 3e a0 5a 	setvl   r21,r0,32,0,1,0
+     82c:	b6 3f a0 5a 	setvl   r21,r0,32,0,1,1
+     830:	76 3e a0 5a 	setvl   r21,r0,32,1,0,0
+     834:	76 3f a0 5a 	setvl   r21,r0,32,1,0,1
+     838:	f6 3e a0 5a 	setvl   r21,r0,32,1,1,0
+     83c:	f6 3f a0 5a 	setvl   r21,r0,32,1,1,1
+     840:	36 00 aa 5a 	setvl   r21,r10,1,0,0,0
+     844:	36 01 aa 5a 	setvl   r21,r10,1,0,0,1
+     848:	b6 00 aa 5a 	setvl   r21,r10,1,0,1,0
+     84c:	b6 01 aa 5a 	setvl   r21,r10,1,0,1,1
+     850:	76 00 aa 5a 	setvl   r21,r10,1,1,0,0
+     854:	76 01 aa 5a 	setvl   r21,r10,1,1,0,1
+     858:	f6 00 aa 5a 	setvl   r21,r10,1,1,1,0
+     85c:	f6 01 aa 5a 	setvl   r21,r10,1,1,1,1
+     860:	36 28 aa 5a 	setvl   r21,r10,21,0,0,0
+     864:	36 29 aa 5a 	setvl   r21,r10,21,0,0,1
+     868:	b6 28 aa 5a 	setvl   r21,r10,21,0,1,0
+     86c:	b6 29 aa 5a 	setvl   r21,r10,21,0,1,1
+     870:	76 28 aa 5a 	setvl   r21,r10,21,1,0,0
+     874:	76 29 aa 5a 	setvl   r21,r10,21,1,0,1
+     878:	f6 28 aa 5a 	setvl   r21,r10,21,1,1,0
+     87c:	f6 29 aa 5a 	setvl   r21,r10,21,1,1,1
+     880:	36 52 aa 5a 	setvl   r21,r10,42,0,0,0
+     884:	36 53 aa 5a 	setvl   r21,r10,42,0,0,1
+     888:	b6 52 aa 5a 	setvl   r21,r10,42,0,1,0
+     88c:	b6 53 aa 5a 	setvl   r21,r10,42,0,1,1
+     890:	76 52 aa 5a 	setvl   r21,r10,42,1,0,0
+     894:	76 53 aa 5a 	setvl   r21,r10,42,1,0,1
+     898:	f6 52 aa 5a 	setvl   r21,r10,42,1,1,0
+     89c:	f6 53 aa 5a 	setvl   r21,r10,42,1,1,1
+     8a0:	36 64 aa 5a 	setvl   r21,r10,51,0,0,0
+     8a4:	36 65 aa 5a 	setvl   r21,r10,51,0,0,1
+     8a8:	b6 64 aa 5a 	setvl   r21,r10,51,0,1,0
+     8ac:	b6 65 aa 5a 	setvl   r21,r10,51,0,1,1
+     8b0:	76 64 aa 5a 	setvl   r21,r10,51,1,0,0
+     8b4:	76 65 aa 5a 	setvl   r21,r10,51,1,0,1
+     8b8:	f6 64 aa 5a 	setvl   r21,r10,51,1,1,0
+     8bc:	f6 65 aa 5a 	setvl   r21,r10,51,1,1,1
+     8c0:	36 7c aa 5a 	setvl   r21,r10,63,0,0,0
+     8c4:	36 7d aa 5a 	setvl   r21,r10,63,0,0,1
+     8c8:	b6 7c aa 5a 	setvl   r21,r10,63,0,1,0
+     8cc:	b6 7d aa 5a 	setvl   r21,r10,63,0,1,1
+     8d0:	76 7c aa 5a 	setvl   r21,r10,63,1,0,0
+     8d4:	76 7d aa 5a 	setvl   r21,r10,63,1,0,1
+     8d8:	f6 7c aa 5a 	setvl   r21,r10,63,1,1,0
+     8dc:	f6 7d aa 5a 	setvl   r21,r10,63,1,1,1
+     8e0:	36 3e aa 5a 	setvl   r21,r10,32,0,0,0
+     8e4:	36 3f aa 5a 	setvl   r21,r10,32,0,0,1
+     8e8:	b6 3e aa 5a 	setvl   r21,r10,32,0,1,0
+     8ec:	b6 3f aa 5a 	setvl   r21,r10,32,0,1,1
+     8f0:	76 3e aa 5a 	setvl   r21,r10,32,1,0,0
+     8f4:	76 3f aa 5a 	setvl   r21,r10,32,1,0,1
+     8f8:	f6 3e aa 5a 	setvl   r21,r10,32,1,1,0
+     8fc:	f6 3f aa 5a 	setvl   r21,r10,32,1,1,1
+     900:	36 00 b5 5a 	setvl   r21,r21,1,0,0,0
+     904:	36 01 b5 5a 	setvl   r21,r21,1,0,0,1
+     908:	b6 00 b5 5a 	setvl   r21,r21,1,0,1,0
+     90c:	b6 01 b5 5a 	setvl   r21,r21,1,0,1,1
+     910:	76 00 b5 5a 	setvl   r21,r21,1,1,0,0
+     914:	76 01 b5 5a 	setvl   r21,r21,1,1,0,1
+     918:	f6 00 b5 5a 	setvl   r21,r21,1,1,1,0
+     91c:	f6 01 b5 5a 	setvl   r21,r21,1,1,1,1
+     920:	36 28 b5 5a 	setvl   r21,r21,21,0,0,0
+     924:	36 29 b5 5a 	setvl   r21,r21,21,0,0,1
+     928:	b6 28 b5 5a 	setvl   r21,r21,21,0,1,0
+     92c:	b6 29 b5 5a 	setvl   r21,r21,21,0,1,1
+     930:	76 28 b5 5a 	setvl   r21,r21,21,1,0,0
+     934:	76 29 b5 5a 	setvl   r21,r21,21,1,0,1
+     938:	f6 28 b5 5a 	setvl   r21,r21,21,1,1,0
+     93c:	f6 29 b5 5a 	setvl   r21,r21,21,1,1,1
+     940:	36 52 b5 5a 	setvl   r21,r21,42,0,0,0
+     944:	36 53 b5 5a 	setvl   r21,r21,42,0,0,1
+     948:	b6 52 b5 5a 	setvl   r21,r21,42,0,1,0
+     94c:	b6 53 b5 5a 	setvl   r21,r21,42,0,1,1
+     950:	76 52 b5 5a 	setvl   r21,r21,42,1,0,0
+     954:	76 53 b5 5a 	setvl   r21,r21,42,1,0,1
+     958:	f6 52 b5 5a 	setvl   r21,r21,42,1,1,0
+     95c:	f6 53 b5 5a 	setvl   r21,r21,42,1,1,1
+     960:	36 64 b5 5a 	setvl   r21,r21,51,0,0,0
+     964:	36 65 b5 5a 	setvl   r21,r21,51,0,0,1
+     968:	b6 64 b5 5a 	setvl   r21,r21,51,0,1,0
+     96c:	b6 65 b5 5a 	setvl   r21,r21,51,0,1,1
+     970:	76 64 b5 5a 	setvl   r21,r21,51,1,0,0
+     974:	76 65 b5 5a 	setvl   r21,r21,51,1,0,1
+     978:	f6 64 b5 5a 	setvl   r21,r21,51,1,1,0
+     97c:	f6 65 b5 5a 	setvl   r21,r21,51,1,1,1
+     980:	36 7c b5 5a 	setvl   r21,r21,63,0,0,0
+     984:	36 7d b5 5a 	setvl   r21,r21,63,0,0,1
+     988:	b6 7c b5 5a 	setvl   r21,r21,63,0,1,0
+     98c:	b6 7d b5 5a 	setvl   r21,r21,63,0,1,1
+     990:	76 7c b5 5a 	setvl   r21,r21,63,1,0,0
+     994:	76 7d b5 5a 	setvl   r21,r21,63,1,0,1
+     998:	f6 7c b5 5a 	setvl   r21,r21,63,1,1,0
+     99c:	f6 7d b5 5a 	setvl   r21,r21,63,1,1,1
+     9a0:	36 3e b5 5a 	setvl   r21,r21,32,0,0,0
+     9a4:	36 3f b5 5a 	setvl   r21,r21,32,0,0,1
+     9a8:	b6 3e b5 5a 	setvl   r21,r21,32,0,1,0
+     9ac:	b6 3f b5 5a 	setvl   r21,r21,32,0,1,1
+     9b0:	76 3e b5 5a 	setvl   r21,r21,32,1,0,0
+     9b4:	76 3f b5 5a 	setvl   r21,r21,32,1,0,1
+     9b8:	f6 3e b5 5a 	setvl   r21,r21,32,1,1,0
+     9bc:	f6 3f b5 5a 	setvl   r21,r21,32,1,1,1
+     9c0:	36 00 bb 5a 	setvl   r21,r27,1,0,0,0
+     9c4:	36 01 bb 5a 	setvl   r21,r27,1,0,0,1
+     9c8:	b6 00 bb 5a 	setvl   r21,r27,1,0,1,0
+     9cc:	b6 01 bb 5a 	setvl   r21,r27,1,0,1,1
+     9d0:	76 00 bb 5a 	setvl   r21,r27,1,1,0,0
+     9d4:	76 01 bb 5a 	setvl   r21,r27,1,1,0,1
+     9d8:	f6 00 bb 5a 	setvl   r21,r27,1,1,1,0
+     9dc:	f6 01 bb 5a 	setvl   r21,r27,1,1,1,1
+     9e0:	36 28 bb 5a 	setvl   r21,r27,21,0,0,0
+     9e4:	36 29 bb 5a 	setvl   r21,r27,21,0,0,1
+     9e8:	b6 28 bb 5a 	setvl   r21,r27,21,0,1,0
+     9ec:	b6 29 bb 5a 	setvl   r21,r27,21,0,1,1
+     9f0:	76 28 bb 5a 	setvl   r21,r27,21,1,0,0
+     9f4:	76 29 bb 5a 	setvl   r21,r27,21,1,0,1
+     9f8:	f6 28 bb 5a 	setvl   r21,r27,21,1,1,0
+     9fc:	f6 29 bb 5a 	setvl   r21,r27,21,1,1,1
+     a00:	36 52 bb 5a 	setvl   r21,r27,42,0,0,0
+     a04:	36 53 bb 5a 	setvl   r21,r27,42,0,0,1
+     a08:	b6 52 bb 5a 	setvl   r21,r27,42,0,1,0
+     a0c:	b6 53 bb 5a 	setvl   r21,r27,42,0,1,1
+     a10:	76 52 bb 5a 	setvl   r21,r27,42,1,0,0
+     a14:	76 53 bb 5a 	setvl   r21,r27,42,1,0,1
+     a18:	f6 52 bb 5a 	setvl   r21,r27,42,1,1,0
+     a1c:	f6 53 bb 5a 	setvl   r21,r27,42,1,1,1
+     a20:	36 64 bb 5a 	setvl   r21,r27,51,0,0,0
+     a24:	36 65 bb 5a 	setvl   r21,r27,51,0,0,1
+     a28:	b6 64 bb 5a 	setvl   r21,r27,51,0,1,0
+     a2c:	b6 65 bb 5a 	setvl   r21,r27,51,0,1,1
+     a30:	76 64 bb 5a 	setvl   r21,r27,51,1,0,0
+     a34:	76 65 bb 5a 	setvl   r21,r27,51,1,0,1
+     a38:	f6 64 bb 5a 	setvl   r21,r27,51,1,1,0
+     a3c:	f6 65 bb 5a 	setvl   r21,r27,51,1,1,1
+     a40:	36 7c bb 5a 	setvl   r21,r27,63,0,0,0
+     a44:	36 7d bb 5a 	setvl   r21,r27,63,0,0,1
+     a48:	b6 7c bb 5a 	setvl   r21,r27,63,0,1,0
+     a4c:	b6 7d bb 5a 	setvl   r21,r27,63,0,1,1
+     a50:	76 7c bb 5a 	setvl   r21,r27,63,1,0,0
+     a54:	76 7d bb 5a 	setvl   r21,r27,63,1,0,1
+     a58:	f6 7c bb 5a 	setvl   r21,r27,63,1,1,0
+     a5c:	f6 7d bb 5a 	setvl   r21,r27,63,1,1,1
+     a60:	36 3e bb 5a 	setvl   r21,r27,32,0,0,0
+     a64:	36 3f bb 5a 	setvl   r21,r27,32,0,0,1
+     a68:	b6 3e bb 5a 	setvl   r21,r27,32,0,1,0
+     a6c:	b6 3f bb 5a 	setvl   r21,r27,32,0,1,1
+     a70:	76 3e bb 5a 	setvl   r21,r27,32,1,0,0
+     a74:	76 3f bb 5a 	setvl   r21,r27,32,1,0,1
+     a78:	f6 3e bb 5a 	setvl   r21,r27,32,1,1,0
+     a7c:	f6 3f bb 5a 	setvl   r21,r27,32,1,1,1
+     a80:	36 00 bf 5a 	setvl   r21,r31,1,0,0,0
+     a84:	36 01 bf 5a 	setvl   r21,r31,1,0,0,1
+     a88:	b6 00 bf 5a 	setvl   r21,r31,1,0,1,0
+     a8c:	b6 01 bf 5a 	setvl   r21,r31,1,0,1,1
+     a90:	76 00 bf 5a 	setvl   r21,r31,1,1,0,0
+     a94:	76 01 bf 5a 	setvl   r21,r31,1,1,0,1
+     a98:	f6 00 bf 5a 	setvl   r21,r31,1,1,1,0
+     a9c:	f6 01 bf 5a 	setvl   r21,r31,1,1,1,1
+     aa0:	36 28 bf 5a 	setvl   r21,r31,21,0,0,0
+     aa4:	36 29 bf 5a 	setvl   r21,r31,21,0,0,1
+     aa8:	b6 28 bf 5a 	setvl   r21,r31,21,0,1,0
+     aac:	b6 29 bf 5a 	setvl   r21,r31,21,0,1,1
+     ab0:	76 28 bf 5a 	setvl   r21,r31,21,1,0,0
+     ab4:	76 29 bf 5a 	setvl   r21,r31,21,1,0,1
+     ab8:	f6 28 bf 5a 	setvl   r21,r31,21,1,1,0
+     abc:	f6 29 bf 5a 	setvl   r21,r31,21,1,1,1
+     ac0:	36 52 bf 5a 	setvl   r21,r31,42,0,0,0
+     ac4:	36 53 bf 5a 	setvl   r21,r31,42,0,0,1
+     ac8:	b6 52 bf 5a 	setvl   r21,r31,42,0,1,0
+     acc:	b6 53 bf 5a 	setvl   r21,r31,42,0,1,1
+     ad0:	76 52 bf 5a 	setvl   r21,r31,42,1,0,0
+     ad4:	76 53 bf 5a 	setvl   r21,r31,42,1,0,1
+     ad8:	f6 52 bf 5a 	setvl   r21,r31,42,1,1,0
+     adc:	f6 53 bf 5a 	setvl   r21,r31,42,1,1,1
+     ae0:	36 64 bf 5a 	setvl   r21,r31,51,0,0,0
+     ae4:	36 65 bf 5a 	setvl   r21,r31,51,0,0,1
+     ae8:	b6 64 bf 5a 	setvl   r21,r31,51,0,1,0
+     aec:	b6 65 bf 5a 	setvl   r21,r31,51,0,1,1
+     af0:	76 64 bf 5a 	setvl   r21,r31,51,1,0,0
+     af4:	76 65 bf 5a 	setvl   r21,r31,51,1,0,1
+     af8:	f6 64 bf 5a 	setvl   r21,r31,51,1,1,0
+     afc:	f6 65 bf 5a 	setvl   r21,r31,51,1,1,1
+     b00:	36 7c bf 5a 	setvl   r21,r31,63,0,0,0
+     b04:	36 7d bf 5a 	setvl   r21,r31,63,0,0,1
+     b08:	b6 7c bf 5a 	setvl   r21,r31,63,0,1,0
+     b0c:	b6 7d bf 5a 	setvl   r21,r31,63,0,1,1
+     b10:	76 7c bf 5a 	setvl   r21,r31,63,1,0,0
+     b14:	76 7d bf 5a 	setvl   r21,r31,63,1,0,1
+     b18:	f6 7c bf 5a 	setvl   r21,r31,63,1,1,0
+     b1c:	f6 7d bf 5a 	setvl   r21,r31,63,1,1,1
+     b20:	36 3e bf 5a 	setvl   r21,r31,32,0,0,0
+     b24:	36 3f bf 5a 	setvl   r21,r31,32,0,0,1
+     b28:	b6 3e bf 5a 	setvl   r21,r31,32,0,1,0
+     b2c:	b6 3f bf 5a 	setvl   r21,r31,32,0,1,1
+     b30:	76 3e bf 5a 	setvl   r21,r31,32,1,0,0
+     b34:	76 3f bf 5a 	setvl   r21,r31,32,1,0,1
+     b38:	f6 3e bf 5a 	setvl   r21,r31,32,1,1,0
+     b3c:	f6 3f bf 5a 	setvl   r21,r31,32,1,1,1
+     b40:	36 00 60 5b 	setvl   r27,r0,1,0,0,0
+     b44:	36 01 60 5b 	setvl   r27,r0,1,0,0,1
+     b48:	b6 00 60 5b 	setvl   r27,r0,1,0,1,0
+     b4c:	b6 01 60 5b 	setvl   r27,r0,1,0,1,1
+     b50:	76 00 60 5b 	setvl   r27,r0,1,1,0,0
+     b54:	76 01 60 5b 	setvl   r27,r0,1,1,0,1
+     b58:	f6 00 60 5b 	setvl   r27,r0,1,1,1,0
+     b5c:	f6 01 60 5b 	setvl   r27,r0,1,1,1,1
+     b60:	36 28 60 5b 	setvl   r27,r0,21,0,0,0
+     b64:	36 29 60 5b 	setvl   r27,r0,21,0,0,1
+     b68:	b6 28 60 5b 	setvl   r27,r0,21,0,1,0
+     b6c:	b6 29 60 5b 	setvl   r27,r0,21,0,1,1
+     b70:	76 28 60 5b 	setvl   r27,r0,21,1,0,0
+     b74:	76 29 60 5b 	setvl   r27,r0,21,1,0,1
+     b78:	f6 28 60 5b 	setvl   r27,r0,21,1,1,0
+     b7c:	f6 29 60 5b 	setvl   r27,r0,21,1,1,1
+     b80:	36 52 60 5b 	setvl   r27,r0,42,0,0,0
+     b84:	36 53 60 5b 	setvl   r27,r0,42,0,0,1
+     b88:	b6 52 60 5b 	setvl   r27,r0,42,0,1,0
+     b8c:	b6 53 60 5b 	setvl   r27,r0,42,0,1,1
+     b90:	76 52 60 5b 	setvl   r27,r0,42,1,0,0
+     b94:	76 53 60 5b 	setvl   r27,r0,42,1,0,1
+     b98:	f6 52 60 5b 	setvl   r27,r0,42,1,1,0
+     b9c:	f6 53 60 5b 	setvl   r27,r0,42,1,1,1
+     ba0:	36 64 60 5b 	setvl   r27,r0,51,0,0,0
+     ba4:	36 65 60 5b 	setvl   r27,r0,51,0,0,1
+     ba8:	b6 64 60 5b 	setvl   r27,r0,51,0,1,0
+     bac:	b6 65 60 5b 	setvl   r27,r0,51,0,1,1
+     bb0:	76 64 60 5b 	setvl   r27,r0,51,1,0,0
+     bb4:	76 65 60 5b 	setvl   r27,r0,51,1,0,1
+     bb8:	f6 64 60 5b 	setvl   r27,r0,51,1,1,0
+     bbc:	f6 65 60 5b 	setvl   r27,r0,51,1,1,1
+     bc0:	36 7c 60 5b 	setvl   r27,r0,63,0,0,0
+     bc4:	36 7d 60 5b 	setvl   r27,r0,63,0,0,1
+     bc8:	b6 7c 60 5b 	setvl   r27,r0,63,0,1,0
+     bcc:	b6 7d 60 5b 	setvl   r27,r0,63,0,1,1
+     bd0:	76 7c 60 5b 	setvl   r27,r0,63,1,0,0
+     bd4:	76 7d 60 5b 	setvl   r27,r0,63,1,0,1
+     bd8:	f6 7c 60 5b 	setvl   r27,r0,63,1,1,0
+     bdc:	f6 7d 60 5b 	setvl   r27,r0,63,1,1,1
+     be0:	36 3e 60 5b 	setvl   r27,r0,32,0,0,0
+     be4:	36 3f 60 5b 	setvl   r27,r0,32,0,0,1
+     be8:	b6 3e 60 5b 	setvl   r27,r0,32,0,1,0
+     bec:	b6 3f 60 5b 	setvl   r27,r0,32,0,1,1
+     bf0:	76 3e 60 5b 	setvl   r27,r0,32,1,0,0
+     bf4:	76 3f 60 5b 	setvl   r27,r0,32,1,0,1
+     bf8:	f6 3e 60 5b 	setvl   r27,r0,32,1,1,0
+     bfc:	f6 3f 60 5b 	setvl   r27,r0,32,1,1,1
+     c00:	36 00 6a 5b 	setvl   r27,r10,1,0,0,0
+     c04:	36 01 6a 5b 	setvl   r27,r10,1,0,0,1
+     c08:	b6 00 6a 5b 	setvl   r27,r10,1,0,1,0
+     c0c:	b6 01 6a 5b 	setvl   r27,r10,1,0,1,1
+     c10:	76 00 6a 5b 	setvl   r27,r10,1,1,0,0
+     c14:	76 01 6a 5b 	setvl   r27,r10,1,1,0,1
+     c18:	f6 00 6a 5b 	setvl   r27,r10,1,1,1,0
+     c1c:	f6 01 6a 5b 	setvl   r27,r10,1,1,1,1
+     c20:	36 28 6a 5b 	setvl   r27,r10,21,0,0,0
+     c24:	36 29 6a 5b 	setvl   r27,r10,21,0,0,1
+     c28:	b6 28 6a 5b 	setvl   r27,r10,21,0,1,0
+     c2c:	b6 29 6a 5b 	setvl   r27,r10,21,0,1,1
+     c30:	76 28 6a 5b 	setvl   r27,r10,21,1,0,0
+     c34:	76 29 6a 5b 	setvl   r27,r10,21,1,0,1
+     c38:	f6 28 6a 5b 	setvl   r27,r10,21,1,1,0
+     c3c:	f6 29 6a 5b 	setvl   r27,r10,21,1,1,1
+     c40:	36 52 6a 5b 	setvl   r27,r10,42,0,0,0
+     c44:	36 53 6a 5b 	setvl   r27,r10,42,0,0,1
+     c48:	b6 52 6a 5b 	setvl   r27,r10,42,0,1,0
+     c4c:	b6 53 6a 5b 	setvl   r27,r10,42,0,1,1
+     c50:	76 52 6a 5b 	setvl   r27,r10,42,1,0,0
+     c54:	76 53 6a 5b 	setvl   r27,r10,42,1,0,1
+     c58:	f6 52 6a 5b 	setvl   r27,r10,42,1,1,0
+     c5c:	f6 53 6a 5b 	setvl   r27,r10,42,1,1,1
+     c60:	36 64 6a 5b 	setvl   r27,r10,51,0,0,0
+     c64:	36 65 6a 5b 	setvl   r27,r10,51,0,0,1
+     c68:	b6 64 6a 5b 	setvl   r27,r10,51,0,1,0
+     c6c:	b6 65 6a 5b 	setvl   r27,r10,51,0,1,1
+     c70:	76 64 6a 5b 	setvl   r27,r10,51,1,0,0
+     c74:	76 65 6a 5b 	setvl   r27,r10,51,1,0,1
+     c78:	f6 64 6a 5b 	setvl   r27,r10,51,1,1,0
+     c7c:	f6 65 6a 5b 	setvl   r27,r10,51,1,1,1
+     c80:	36 7c 6a 5b 	setvl   r27,r10,63,0,0,0
+     c84:	36 7d 6a 5b 	setvl   r27,r10,63,0,0,1
+     c88:	b6 7c 6a 5b 	setvl   r27,r10,63,0,1,0
+     c8c:	b6 7d 6a 5b 	setvl   r27,r10,63,0,1,1
+     c90:	76 7c 6a 5b 	setvl   r27,r10,63,1,0,0
+     c94:	76 7d 6a 5b 	setvl   r27,r10,63,1,0,1
+     c98:	f6 7c 6a 5b 	setvl   r27,r10,63,1,1,0
+     c9c:	f6 7d 6a 5b 	setvl   r27,r10,63,1,1,1
+     ca0:	36 3e 6a 5b 	setvl   r27,r10,32,0,0,0
+     ca4:	36 3f 6a 5b 	setvl   r27,r10,32,0,0,1
+     ca8:	b6 3e 6a 5b 	setvl   r27,r10,32,0,1,0
+     cac:	b6 3f 6a 5b 	setvl   r27,r10,32,0,1,1
+     cb0:	76 3e 6a 5b 	setvl   r27,r10,32,1,0,0
+     cb4:	76 3f 6a 5b 	setvl   r27,r10,32,1,0,1
+     cb8:	f6 3e 6a 5b 	setvl   r27,r10,32,1,1,0
+     cbc:	f6 3f 6a 5b 	setvl   r27,r10,32,1,1,1
+     cc0:	36 00 75 5b 	setvl   r27,r21,1,0,0,0
+     cc4:	36 01 75 5b 	setvl   r27,r21,1,0,0,1
+     cc8:	b6 00 75 5b 	setvl   r27,r21,1,0,1,0
+     ccc:	b6 01 75 5b 	setvl   r27,r21,1,0,1,1
+     cd0:	76 00 75 5b 	setvl   r27,r21,1,1,0,0
+     cd4:	76 01 75 5b 	setvl   r27,r21,1,1,0,1
+     cd8:	f6 00 75 5b 	setvl   r27,r21,1,1,1,0
+     cdc:	f6 01 75 5b 	setvl   r27,r21,1,1,1,1
+     ce0:	36 28 75 5b 	setvl   r27,r21,21,0,0,0
+     ce4:	36 29 75 5b 	setvl   r27,r21,21,0,0,1
+     ce8:	b6 28 75 5b 	setvl   r27,r21,21,0,1,0
+     cec:	b6 29 75 5b 	setvl   r27,r21,21,0,1,1
+     cf0:	76 28 75 5b 	setvl   r27,r21,21,1,0,0
+     cf4:	76 29 75 5b 	setvl   r27,r21,21,1,0,1
+     cf8:	f6 28 75 5b 	setvl   r27,r21,21,1,1,0
+     cfc:	f6 29 75 5b 	setvl   r27,r21,21,1,1,1
+     d00:	36 52 75 5b 	setvl   r27,r21,42,0,0,0
+     d04:	36 53 75 5b 	setvl   r27,r21,42,0,0,1
+     d08:	b6 52 75 5b 	setvl   r27,r21,42,0,1,0
+     d0c:	b6 53 75 5b 	setvl   r27,r21,42,0,1,1
+     d10:	76 52 75 5b 	setvl   r27,r21,42,1,0,0
+     d14:	76 53 75 5b 	setvl   r27,r21,42,1,0,1
+     d18:	f6 52 75 5b 	setvl   r27,r21,42,1,1,0
+     d1c:	f6 53 75 5b 	setvl   r27,r21,42,1,1,1
+     d20:	36 64 75 5b 	setvl   r27,r21,51,0,0,0
+     d24:	36 65 75 5b 	setvl   r27,r21,51,0,0,1
+     d28:	b6 64 75 5b 	setvl   r27,r21,51,0,1,0
+     d2c:	b6 65 75 5b 	setvl   r27,r21,51,0,1,1
+     d30:	76 64 75 5b 	setvl   r27,r21,51,1,0,0
+     d34:	76 65 75 5b 	setvl   r27,r21,51,1,0,1
+     d38:	f6 64 75 5b 	setvl   r27,r21,51,1,1,0
+     d3c:	f6 65 75 5b 	setvl   r27,r21,51,1,1,1
+     d40:	36 7c 75 5b 	setvl   r27,r21,63,0,0,0
+     d44:	36 7d 75 5b 	setvl   r27,r21,63,0,0,1
+     d48:	b6 7c 75 5b 	setvl   r27,r21,63,0,1,0
+     d4c:	b6 7d 75 5b 	setvl   r27,r21,63,0,1,1
+     d50:	76 7c 75 5b 	setvl   r27,r21,63,1,0,0
+     d54:	76 7d 75 5b 	setvl   r27,r21,63,1,0,1
+     d58:	f6 7c 75 5b 	setvl   r27,r21,63,1,1,0
+     d5c:	f6 7d 75 5b 	setvl   r27,r21,63,1,1,1
+     d60:	36 3e 75 5b 	setvl   r27,r21,32,0,0,0
+     d64:	36 3f 75 5b 	setvl   r27,r21,32,0,0,1
+     d68:	b6 3e 75 5b 	setvl   r27,r21,32,0,1,0
+     d6c:	b6 3f 75 5b 	setvl   r27,r21,32,0,1,1
+     d70:	76 3e 75 5b 	setvl   r27,r21,32,1,0,0
+     d74:	76 3f 75 5b 	setvl   r27,r21,32,1,0,1
+     d78:	f6 3e 75 5b 	setvl   r27,r21,32,1,1,0
+     d7c:	f6 3f 75 5b 	setvl   r27,r21,32,1,1,1
+     d80:	36 00 7b 5b 	setvl   r27,r27,1,0,0,0
+     d84:	36 01 7b 5b 	setvl   r27,r27,1,0,0,1
+     d88:	b6 00 7b 5b 	setvl   r27,r27,1,0,1,0
+     d8c:	b6 01 7b 5b 	setvl   r27,r27,1,0,1,1
+     d90:	76 00 7b 5b 	setvl   r27,r27,1,1,0,0
+     d94:	76 01 7b 5b 	setvl   r27,r27,1,1,0,1
+     d98:	f6 00 7b 5b 	setvl   r27,r27,1,1,1,0
+     d9c:	f6 01 7b 5b 	setvl   r27,r27,1,1,1,1
+     da0:	36 28 7b 5b 	setvl   r27,r27,21,0,0,0
+     da4:	36 29 7b 5b 	setvl   r27,r27,21,0,0,1
+     da8:	b6 28 7b 5b 	setvl   r27,r27,21,0,1,0
+     dac:	b6 29 7b 5b 	setvl   r27,r27,21,0,1,1
+     db0:	76 28 7b 5b 	setvl   r27,r27,21,1,0,0
+     db4:	76 29 7b 5b 	setvl   r27,r27,21,1,0,1
+     db8:	f6 28 7b 5b 	setvl   r27,r27,21,1,1,0
+     dbc:	f6 29 7b 5b 	setvl   r27,r27,21,1,1,1
+     dc0:	36 52 7b 5b 	setvl   r27,r27,42,0,0,0
+     dc4:	36 53 7b 5b 	setvl   r27,r27,42,0,0,1
+     dc8:	b6 52 7b 5b 	setvl   r27,r27,42,0,1,0
+     dcc:	b6 53 7b 5b 	setvl   r27,r27,42,0,1,1
+     dd0:	76 52 7b 5b 	setvl   r27,r27,42,1,0,0
+     dd4:	76 53 7b 5b 	setvl   r27,r27,42,1,0,1
+     dd8:	f6 52 7b 5b 	setvl   r27,r27,42,1,1,0
+     ddc:	f6 53 7b 5b 	setvl   r27,r27,42,1,1,1
+     de0:	36 64 7b 5b 	setvl   r27,r27,51,0,0,0
+     de4:	36 65 7b 5b 	setvl   r27,r27,51,0,0,1
+     de8:	b6 64 7b 5b 	setvl   r27,r27,51,0,1,0
+     dec:	b6 65 7b 5b 	setvl   r27,r27,51,0,1,1
+     df0:	76 64 7b 5b 	setvl   r27,r27,51,1,0,0
+     df4:	76 65 7b 5b 	setvl   r27,r27,51,1,0,1
+     df8:	f6 64 7b 5b 	setvl   r27,r27,51,1,1,0
+     dfc:	f6 65 7b 5b 	setvl   r27,r27,51,1,1,1
+     e00:	36 7c 7b 5b 	setvl   r27,r27,63,0,0,0
+     e04:	36 7d 7b 5b 	setvl   r27,r27,63,0,0,1
+     e08:	b6 7c 7b 5b 	setvl   r27,r27,63,0,1,0
+     e0c:	b6 7d 7b 5b 	setvl   r27,r27,63,0,1,1
+     e10:	76 7c 7b 5b 	setvl   r27,r27,63,1,0,0
+     e14:	76 7d 7b 5b 	setvl   r27,r27,63,1,0,1
+     e18:	f6 7c 7b 5b 	setvl   r27,r27,63,1,1,0
+     e1c:	f6 7d 7b 5b 	setvl   r27,r27,63,1,1,1
+     e20:	36 3e 7b 5b 	setvl   r27,r27,32,0,0,0
+     e24:	36 3f 7b 5b 	setvl   r27,r27,32,0,0,1
+     e28:	b6 3e 7b 5b 	setvl   r27,r27,32,0,1,0
+     e2c:	b6 3f 7b 5b 	setvl   r27,r27,32,0,1,1
+     e30:	76 3e 7b 5b 	setvl   r27,r27,32,1,0,0
+     e34:	76 3f 7b 5b 	setvl   r27,r27,32,1,0,1
+     e38:	f6 3e 7b 5b 	setvl   r27,r27,32,1,1,0
+     e3c:	f6 3f 7b 5b 	setvl   r27,r27,32,1,1,1
+     e40:	36 00 7f 5b 	setvl   r27,r31,1,0,0,0
+     e44:	36 01 7f 5b 	setvl   r27,r31,1,0,0,1
+     e48:	b6 00 7f 5b 	setvl   r27,r31,1,0,1,0
+     e4c:	b6 01 7f 5b 	setvl   r27,r31,1,0,1,1
+     e50:	76 00 7f 5b 	setvl   r27,r31,1,1,0,0
+     e54:	76 01 7f 5b 	setvl   r27,r31,1,1,0,1
+     e58:	f6 00 7f 5b 	setvl   r27,r31,1,1,1,0
+     e5c:	f6 01 7f 5b 	setvl   r27,r31,1,1,1,1
+     e60:	36 28 7f 5b 	setvl   r27,r31,21,0,0,0
+     e64:	36 29 7f 5b 	setvl   r27,r31,21,0,0,1
+     e68:	b6 28 7f 5b 	setvl   r27,r31,21,0,1,0
+     e6c:	b6 29 7f 5b 	setvl   r27,r31,21,0,1,1
+     e70:	76 28 7f 5b 	setvl   r27,r31,21,1,0,0
+     e74:	76 29 7f 5b 	setvl   r27,r31,21,1,0,1
+     e78:	f6 28 7f 5b 	setvl   r27,r31,21,1,1,0
+     e7c:	f6 29 7f 5b 	setvl   r27,r31,21,1,1,1
+     e80:	36 52 7f 5b 	setvl   r27,r31,42,0,0,0
+     e84:	36 53 7f 5b 	setvl   r27,r31,42,0,0,1
+     e88:	b6 52 7f 5b 	setvl   r27,r31,42,0,1,0
+     e8c:	b6 53 7f 5b 	setvl   r27,r31,42,0,1,1
+     e90:	76 52 7f 5b 	setvl   r27,r31,42,1,0,0
+     e94:	76 53 7f 5b 	setvl   r27,r31,42,1,0,1
+     e98:	f6 52 7f 5b 	setvl   r27,r31,42,1,1,0
+     e9c:	f6 53 7f 5b 	setvl   r27,r31,42,1,1,1
+     ea0:	36 64 7f 5b 	setvl   r27,r31,51,0,0,0
+     ea4:	36 65 7f 5b 	setvl   r27,r31,51,0,0,1
+     ea8:	b6 64 7f 5b 	setvl   r27,r31,51,0,1,0
+     eac:	b6 65 7f 5b 	setvl   r27,r31,51,0,1,1
+     eb0:	76 64 7f 5b 	setvl   r27,r31,51,1,0,0
+     eb4:	76 65 7f 5b 	setvl   r27,r31,51,1,0,1
+     eb8:	f6 64 7f 5b 	setvl   r27,r31,51,1,1,0
+     ebc:	f6 65 7f 5b 	setvl   r27,r31,51,1,1,1
+     ec0:	36 7c 7f 5b 	setvl   r27,r31,63,0,0,0
+     ec4:	36 7d 7f 5b 	setvl   r27,r31,63,0,0,1
+     ec8:	b6 7c 7f 5b 	setvl   r27,r31,63,0,1,0
+     ecc:	b6 7d 7f 5b 	setvl   r27,r31,63,0,1,1
+     ed0:	76 7c 7f 5b 	setvl   r27,r31,63,1,0,0
+     ed4:	76 7d 7f 5b 	setvl   r27,r31,63,1,0,1
+     ed8:	f6 7c 7f 5b 	setvl   r27,r31,63,1,1,0
+     edc:	f6 7d 7f 5b 	setvl   r27,r31,63,1,1,1
+     ee0:	36 3e 7f 5b 	setvl   r27,r31,32,0,0,0
+     ee4:	36 3f 7f 5b 	setvl   r27,r31,32,0,0,1
+     ee8:	b6 3e 7f 5b 	setvl   r27,r31,32,0,1,0
+     eec:	b6 3f 7f 5b 	setvl   r27,r31,32,0,1,1
+     ef0:	76 3e 7f 5b 	setvl   r27,r31,32,1,0,0
+     ef4:	76 3f 7f 5b 	setvl   r27,r31,32,1,0,1
+     ef8:	f6 3e 7f 5b 	setvl   r27,r31,32,1,1,0
+     efc:	f6 3f 7f 5b 	setvl   r27,r31,32,1,1,1
+     f00:	36 00 e0 5b 	setvl   r31,r0,1,0,0,0
+     f04:	36 01 e0 5b 	setvl   r31,r0,1,0,0,1
+     f08:	b6 00 e0 5b 	setvl   r31,r0,1,0,1,0
+     f0c:	b6 01 e0 5b 	setvl   r31,r0,1,0,1,1
+     f10:	76 00 e0 5b 	setvl   r31,r0,1,1,0,0
+     f14:	76 01 e0 5b 	setvl   r31,r0,1,1,0,1
+     f18:	f6 00 e0 5b 	setvl   r31,r0,1,1,1,0
+     f1c:	f6 01 e0 5b 	setvl   r31,r0,1,1,1,1
+     f20:	36 28 e0 5b 	setvl   r31,r0,21,0,0,0
+     f24:	36 29 e0 5b 	setvl   r31,r0,21,0,0,1
+     f28:	b6 28 e0 5b 	setvl   r31,r0,21,0,1,0
+     f2c:	b6 29 e0 5b 	setvl   r31,r0,21,0,1,1
+     f30:	76 28 e0 5b 	setvl   r31,r0,21,1,0,0
+     f34:	76 29 e0 5b 	setvl   r31,r0,21,1,0,1
+     f38:	f6 28 e0 5b 	setvl   r31,r0,21,1,1,0
+     f3c:	f6 29 e0 5b 	setvl   r31,r0,21,1,1,1
+     f40:	36 52 e0 5b 	setvl   r31,r0,42,0,0,0
+     f44:	36 53 e0 5b 	setvl   r31,r0,42,0,0,1
+     f48:	b6 52 e0 5b 	setvl   r31,r0,42,0,1,0
+     f4c:	b6 53 e0 5b 	setvl   r31,r0,42,0,1,1
+     f50:	76 52 e0 5b 	setvl   r31,r0,42,1,0,0
+     f54:	76 53 e0 5b 	setvl   r31,r0,42,1,0,1
+     f58:	f6 52 e0 5b 	setvl   r31,r0,42,1,1,0
+     f5c:	f6 53 e0 5b 	setvl   r31,r0,42,1,1,1
+     f60:	36 64 e0 5b 	setvl   r31,r0,51,0,0,0
+     f64:	36 65 e0 5b 	setvl   r31,r0,51,0,0,1
+     f68:	b6 64 e0 5b 	setvl   r31,r0,51,0,1,0
+     f6c:	b6 65 e0 5b 	setvl   r31,r0,51,0,1,1
+     f70:	76 64 e0 5b 	setvl   r31,r0,51,1,0,0
+     f74:	76 65 e0 5b 	setvl   r31,r0,51,1,0,1
+     f78:	f6 64 e0 5b 	setvl   r31,r0,51,1,1,0
+     f7c:	f6 65 e0 5b 	setvl   r31,r0,51,1,1,1
+     f80:	36 7c e0 5b 	setvl   r31,r0,63,0,0,0
+     f84:	36 7d e0 5b 	setvl   r31,r0,63,0,0,1
+     f88:	b6 7c e0 5b 	setvl   r31,r0,63,0,1,0
+     f8c:	b6 7d e0 5b 	setvl   r31,r0,63,0,1,1
+     f90:	76 7c e0 5b 	setvl   r31,r0,63,1,0,0
+     f94:	76 7d e0 5b 	setvl   r31,r0,63,1,0,1
+     f98:	f6 7c e0 5b 	setvl   r31,r0,63,1,1,0
+     f9c:	f6 7d e0 5b 	setvl   r31,r0,63,1,1,1
+     fa0:	36 3e e0 5b 	setvl   r31,r0,32,0,0,0
+     fa4:	36 3f e0 5b 	setvl   r31,r0,32,0,0,1
+     fa8:	b6 3e e0 5b 	setvl   r31,r0,32,0,1,0
+     fac:	b6 3f e0 5b 	setvl   r31,r0,32,0,1,1
+     fb0:	76 3e e0 5b 	setvl   r31,r0,32,1,0,0
+     fb4:	76 3f e0 5b 	setvl   r31,r0,32,1,0,1
+     fb8:	f6 3e e0 5b 	setvl   r31,r0,32,1,1,0
+     fbc:	f6 3f e0 5b 	setvl   r31,r0,32,1,1,1
+     fc0:	36 00 ea 5b 	setvl   r31,r10,1,0,0,0
+     fc4:	36 01 ea 5b 	setvl   r31,r10,1,0,0,1
+     fc8:	b6 00 ea 5b 	setvl   r31,r10,1,0,1,0
+     fcc:	b6 01 ea 5b 	setvl   r31,r10,1,0,1,1
+     fd0:	76 00 ea 5b 	setvl   r31,r10,1,1,0,0
+     fd4:	76 01 ea 5b 	setvl   r31,r10,1,1,0,1
+     fd8:	f6 00 ea 5b 	setvl   r31,r10,1,1,1,0
+     fdc:	f6 01 ea 5b 	setvl   r31,r10,1,1,1,1
+     fe0:	36 28 ea 5b 	setvl   r31,r10,21,0,0,0
+     fe4:	36 29 ea 5b 	setvl   r31,r10,21,0,0,1
+     fe8:	b6 28 ea 5b 	setvl   r31,r10,21,0,1,0
+     fec:	b6 29 ea 5b 	setvl   r31,r10,21,0,1,1
+     ff0:	76 28 ea 5b 	setvl   r31,r10,21,1,0,0
+     ff4:	76 29 ea 5b 	setvl   r31,r10,21,1,0,1
+     ff8:	f6 28 ea 5b 	setvl   r31,r10,21,1,1,0
+     ffc:	f6 29 ea 5b 	setvl   r31,r10,21,1,1,1
+    1000:	36 52 ea 5b 	setvl   r31,r10,42,0,0,0
+    1004:	36 53 ea 5b 	setvl   r31,r10,42,0,0,1
+    1008:	b6 52 ea 5b 	setvl   r31,r10,42,0,1,0
+    100c:	b6 53 ea 5b 	setvl   r31,r10,42,0,1,1
+    1010:	76 52 ea 5b 	setvl   r31,r10,42,1,0,0
+    1014:	76 53 ea 5b 	setvl   r31,r10,42,1,0,1
+    1018:	f6 52 ea 5b 	setvl   r31,r10,42,1,1,0
+    101c:	f6 53 ea 5b 	setvl   r31,r10,42,1,1,1
+    1020:	36 64 ea 5b 	setvl   r31,r10,51,0,0,0
+    1024:	36 65 ea 5b 	setvl   r31,r10,51,0,0,1
+    1028:	b6 64 ea 5b 	setvl   r31,r10,51,0,1,0
+    102c:	b6 65 ea 5b 	setvl   r31,r10,51,0,1,1
+    1030:	76 64 ea 5b 	setvl   r31,r10,51,1,0,0
+    1034:	76 65 ea 5b 	setvl   r31,r10,51,1,0,1
+    1038:	f6 64 ea 5b 	setvl   r31,r10,51,1,1,0
+    103c:	f6 65 ea 5b 	setvl   r31,r10,51,1,1,1
+    1040:	36 7c ea 5b 	setvl   r31,r10,63,0,0,0
+    1044:	36 7d ea 5b 	setvl   r31,r10,63,0,0,1
+    1048:	b6 7c ea 5b 	setvl   r31,r10,63,0,1,0
+    104c:	b6 7d ea 5b 	setvl   r31,r10,63,0,1,1
+    1050:	76 7c ea 5b 	setvl   r31,r10,63,1,0,0
+    1054:	76 7d ea 5b 	setvl   r31,r10,63,1,0,1
+    1058:	f6 7c ea 5b 	setvl   r31,r10,63,1,1,0
+    105c:	f6 7d ea 5b 	setvl   r31,r10,63,1,1,1
+    1060:	36 3e ea 5b 	setvl   r31,r10,32,0,0,0
+    1064:	36 3f ea 5b 	setvl   r31,r10,32,0,0,1
+    1068:	b6 3e ea 5b 	setvl   r31,r10,32,0,1,0
+    106c:	b6 3f ea 5b 	setvl   r31,r10,32,0,1,1
+    1070:	76 3e ea 5b 	setvl   r31,r10,32,1,0,0
+    1074:	76 3f ea 5b 	setvl   r31,r10,32,1,0,1
+    1078:	f6 3e ea 5b 	setvl   r31,r10,32,1,1,0
+    107c:	f6 3f ea 5b 	setvl   r31,r10,32,1,1,1
+    1080:	36 00 f5 5b 	setvl   r31,r21,1,0,0,0
+    1084:	36 01 f5 5b 	setvl   r31,r21,1,0,0,1
+    1088:	b6 00 f5 5b 	setvl   r31,r21,1,0,1,0
+    108c:	b6 01 f5 5b 	setvl   r31,r21,1,0,1,1
+    1090:	76 00 f5 5b 	setvl   r31,r21,1,1,0,0
+    1094:	76 01 f5 5b 	setvl   r31,r21,1,1,0,1
+    1098:	f6 00 f5 5b 	setvl   r31,r21,1,1,1,0
+    109c:	f6 01 f5 5b 	setvl   r31,r21,1,1,1,1
+    10a0:	36 28 f5 5b 	setvl   r31,r21,21,0,0,0
+    10a4:	36 29 f5 5b 	setvl   r31,r21,21,0,0,1
+    10a8:	b6 28 f5 5b 	setvl   r31,r21,21,0,1,0
+    10ac:	b6 29 f5 5b 	setvl   r31,r21,21,0,1,1
+    10b0:	76 28 f5 5b 	setvl   r31,r21,21,1,0,0
+    10b4:	76 29 f5 5b 	setvl   r31,r21,21,1,0,1
+    10b8:	f6 28 f5 5b 	setvl   r31,r21,21,1,1,0
+    10bc:	f6 29 f5 5b 	setvl   r31,r21,21,1,1,1
+    10c0:	36 52 f5 5b 	setvl   r31,r21,42,0,0,0
+    10c4:	36 53 f5 5b 	setvl   r31,r21,42,0,0,1
+    10c8:	b6 52 f5 5b 	setvl   r31,r21,42,0,1,0
+    10cc:	b6 53 f5 5b 	setvl   r31,r21,42,0,1,1
+    10d0:	76 52 f5 5b 	setvl   r31,r21,42,1,0,0
+    10d4:	76 53 f5 5b 	setvl   r31,r21,42,1,0,1
+    10d8:	f6 52 f5 5b 	setvl   r31,r21,42,1,1,0
+    10dc:	f6 53 f5 5b 	setvl   r31,r21,42,1,1,1
+    10e0:	36 64 f5 5b 	setvl   r31,r21,51,0,0,0
+    10e4:	36 65 f5 5b 	setvl   r31,r21,51,0,0,1
+    10e8:	b6 64 f5 5b 	setvl   r31,r21,51,0,1,0
+    10ec:	b6 65 f5 5b 	setvl   r31,r21,51,0,1,1
+    10f0:	76 64 f5 5b 	setvl   r31,r21,51,1,0,0
+    10f4:	76 65 f5 5b 	setvl   r31,r21,51,1,0,1
+    10f8:	f6 64 f5 5b 	setvl   r31,r21,51,1,1,0
+    10fc:	f6 65 f5 5b 	setvl   r31,r21,51,1,1,1
+    1100:	36 7c f5 5b 	setvl   r31,r21,63,0,0,0
+    1104:	36 7d f5 5b 	setvl   r31,r21,63,0,0,1
+    1108:	b6 7c f5 5b 	setvl   r31,r21,63,0,1,0
+    110c:	b6 7d f5 5b 	setvl   r31,r21,63,0,1,1
+    1110:	76 7c f5 5b 	setvl   r31,r21,63,1,0,0
+    1114:	76 7d f5 5b 	setvl   r31,r21,63,1,0,1
+    1118:	f6 7c f5 5b 	setvl   r31,r21,63,1,1,0
+    111c:	f6 7d f5 5b 	setvl   r31,r21,63,1,1,1
+    1120:	36 3e f5 5b 	setvl   r31,r21,32,0,0,0
+    1124:	36 3f f5 5b 	setvl   r31,r21,32,0,0,1
+    1128:	b6 3e f5 5b 	setvl   r31,r21,32,0,1,0
+    112c:	b6 3f f5 5b 	setvl   r31,r21,32,0,1,1
+    1130:	76 3e f5 5b 	setvl   r31,r21,32,1,0,0
+    1134:	76 3f f5 5b 	setvl   r31,r21,32,1,0,1
+    1138:	f6 3e f5 5b 	setvl   r31,r21,32,1,1,0
+    113c:	f6 3f f5 5b 	setvl   r31,r21,32,1,1,1
+    1140:	36 00 fb 5b 	setvl   r31,r27,1,0,0,0
+    1144:	36 01 fb 5b 	setvl   r31,r27,1,0,0,1
+    1148:	b6 00 fb 5b 	setvl   r31,r27,1,0,1,0
+    114c:	b6 01 fb 5b 	setvl   r31,r27,1,0,1,1
+    1150:	76 00 fb 5b 	setvl   r31,r27,1,1,0,0
+    1154:	76 01 fb 5b 	setvl   r31,r27,1,1,0,1
+    1158:	f6 00 fb 5b 	setvl   r31,r27,1,1,1,0
+    115c:	f6 01 fb 5b 	setvl   r31,r27,1,1,1,1
+    1160:	36 28 fb 5b 	setvl   r31,r27,21,0,0,0
+    1164:	36 29 fb 5b 	setvl   r31,r27,21,0,0,1
+    1168:	b6 28 fb 5b 	setvl   r31,r27,21,0,1,0
+    116c:	b6 29 fb 5b 	setvl   r31,r27,21,0,1,1
+    1170:	76 28 fb 5b 	setvl   r31,r27,21,1,0,0
+    1174:	76 29 fb 5b 	setvl   r31,r27,21,1,0,1
+    1178:	f6 28 fb 5b 	setvl   r31,r27,21,1,1,0
+    117c:	f6 29 fb 5b 	setvl   r31,r27,21,1,1,1
+    1180:	36 52 fb 5b 	setvl   r31,r27,42,0,0,0
+    1184:	36 53 fb 5b 	setvl   r31,r27,42,0,0,1
+    1188:	b6 52 fb 5b 	setvl   r31,r27,42,0,1,0
+    118c:	b6 53 fb 5b 	setvl   r31,r27,42,0,1,1
+    1190:	76 52 fb 5b 	setvl   r31,r27,42,1,0,0
+    1194:	76 53 fb 5b 	setvl   r31,r27,42,1,0,1
+    1198:	f6 52 fb 5b 	setvl   r31,r27,42,1,1,0
+    119c:	f6 53 fb 5b 	setvl   r31,r27,42,1,1,1
+    11a0:	36 64 fb 5b 	setvl   r31,r27,51,0,0,0
+    11a4:	36 65 fb 5b 	setvl   r31,r27,51,0,0,1
+    11a8:	b6 64 fb 5b 	setvl   r31,r27,51,0,1,0
+    11ac:	b6 65 fb 5b 	setvl   r31,r27,51,0,1,1
+    11b0:	76 64 fb 5b 	setvl   r31,r27,51,1,0,0
+    11b4:	76 65 fb 5b 	setvl   r31,r27,51,1,0,1
+    11b8:	f6 64 fb 5b 	setvl   r31,r27,51,1,1,0
+    11bc:	f6 65 fb 5b 	setvl   r31,r27,51,1,1,1
+    11c0:	36 7c fb 5b 	setvl   r31,r27,63,0,0,0
+    11c4:	36 7d fb 5b 	setvl   r31,r27,63,0,0,1
+    11c8:	b6 7c fb 5b 	setvl   r31,r27,63,0,1,0
+    11cc:	b6 7d fb 5b 	setvl   r31,r27,63,0,1,1
+    11d0:	76 7c fb 5b 	setvl   r31,r27,63,1,0,0
+    11d4:	76 7d fb 5b 	setvl   r31,r27,63,1,0,1
+    11d8:	f6 7c fb 5b 	setvl   r31,r27,63,1,1,0
+    11dc:	f6 7d fb 5b 	setvl   r31,r27,63,1,1,1
+    11e0:	36 3e fb 5b 	setvl   r31,r27,32,0,0,0
+    11e4:	36 3f fb 5b 	setvl   r31,r27,32,0,0,1
+    11e8:	b6 3e fb 5b 	setvl   r31,r27,32,0,1,0
+    11ec:	b6 3f fb 5b 	setvl   r31,r27,32,0,1,1
+    11f0:	76 3e fb 5b 	setvl   r31,r27,32,1,0,0
+    11f4:	76 3f fb 5b 	setvl   r31,r27,32,1,0,1
+    11f8:	f6 3e fb 5b 	setvl   r31,r27,32,1,1,0
+    11fc:	f6 3f fb 5b 	setvl   r31,r27,32,1,1,1
+    1200:	36 00 ff 5b 	setvl   r31,r31,1,0,0,0
+    1204:	36 01 ff 5b 	setvl   r31,r31,1,0,0,1
+    1208:	b6 00 ff 5b 	setvl   r31,r31,1,0,1,0
+    120c:	b6 01 ff 5b 	setvl   r31,r31,1,0,1,1
+    1210:	76 00 ff 5b 	setvl   r31,r31,1,1,0,0
+    1214:	76 01 ff 5b 	setvl   r31,r31,1,1,0,1
+    1218:	f6 00 ff 5b 	setvl   r31,r31,1,1,1,0
+    121c:	f6 01 ff 5b 	setvl   r31,r31,1,1,1,1
+    1220:	36 28 ff 5b 	setvl   r31,r31,21,0,0,0
+    1224:	36 29 ff 5b 	setvl   r31,r31,21,0,0,1
+    1228:	b6 28 ff 5b 	setvl   r31,r31,21,0,1,0
+    122c:	b6 29 ff 5b 	setvl   r31,r31,21,0,1,1
+    1230:	76 28 ff 5b 	setvl   r31,r31,21,1,0,0
+    1234:	76 29 ff 5b 	setvl   r31,r31,21,1,0,1
+    1238:	f6 28 ff 5b 	setvl   r31,r31,21,1,1,0
+    123c:	f6 29 ff 5b 	setvl   r31,r31,21,1,1,1
+    1240:	36 52 ff 5b 	setvl   r31,r31,42,0,0,0
+    1244:	36 53 ff 5b 	setvl   r31,r31,42,0,0,1
+    1248:	b6 52 ff 5b 	setvl   r31,r31,42,0,1,0
+    124c:	b6 53 ff 5b 	setvl   r31,r31,42,0,1,1
+    1250:	76 52 ff 5b 	setvl   r31,r31,42,1,0,0
+    1254:	76 53 ff 5b 	setvl   r31,r31,42,1,0,1
+    1258:	f6 52 ff 5b 	setvl   r31,r31,42,1,1,0
+    125c:	f6 53 ff 5b 	setvl   r31,r31,42,1,1,1
+    1260:	36 64 ff 5b 	setvl   r31,r31,51,0,0,0
+    1264:	36 65 ff 5b 	setvl   r31,r31,51,0,0,1
+    1268:	b6 64 ff 5b 	setvl   r31,r31,51,0,1,0
+    126c:	b6 65 ff 5b 	setvl   r31,r31,51,0,1,1
+    1270:	76 64 ff 5b 	setvl   r31,r31,51,1,0,0
+    1274:	76 65 ff 5b 	setvl   r31,r31,51,1,0,1
+    1278:	f6 64 ff 5b 	setvl   r31,r31,51,1,1,0
+    127c:	f6 65 ff 5b 	setvl   r31,r31,51,1,1,1
+    1280:	36 7c ff 5b 	setvl   r31,r31,63,0,0,0
+    1284:	36 7d ff 5b 	setvl   r31,r31,63,0,0,1
+    1288:	b6 7c ff 5b 	setvl   r31,r31,63,0,1,0
+    128c:	b6 7d ff 5b 	setvl   r31,r31,63,0,1,1
+    1290:	76 7c ff 5b 	setvl   r31,r31,63,1,0,0
+    1294:	76 7d ff 5b 	setvl   r31,r31,63,1,0,1
+    1298:	f6 7c ff 5b 	setvl   r31,r31,63,1,1,0
+    129c:	f6 7d ff 5b 	setvl   r31,r31,63,1,1,1
+    12a0:	36 3e ff 5b 	setvl   r31,r31,32,0,0,0
+    12a4:	36 3f ff 5b 	setvl   r31,r31,32,0,0,1
+    12a8:	b6 3e ff 5b 	setvl   r31,r31,32,0,1,0
+    12ac:	b6 3f ff 5b 	setvl   r31,r31,32,0,1,1
+    12b0:	76 3e ff 5b 	setvl   r31,r31,32,1,0,0
+    12b4:	76 3f ff 5b 	setvl   r31,r31,32,1,0,1
+    12b8:	f6 3e ff 5b 	setvl   r31,r31,32,1,1,0
+    12bc:	f6 3f ff 5b 	setvl   r31,r31,32,1,1,1
+    12c0:	37 00 00 58 	setvl\.  r0,r0,1,0,0,0
+    12c4:	37 01 00 58 	setvl\.  r0,r0,1,0,0,1
+    12c8:	b7 00 00 58 	setvl\.  r0,r0,1,0,1,0
+    12cc:	b7 01 00 58 	setvl\.  r0,r0,1,0,1,1
+    12d0:	77 00 00 58 	setvl\.  r0,r0,1,1,0,0
+    12d4:	77 01 00 58 	setvl\.  r0,r0,1,1,0,1
+    12d8:	f7 00 00 58 	setvl\.  r0,r0,1,1,1,0
+    12dc:	f7 01 00 58 	setvl\.  r0,r0,1,1,1,1
+    12e0:	37 28 00 58 	setvl\.  r0,r0,21,0,0,0
+    12e4:	37 29 00 58 	setvl\.  r0,r0,21,0,0,1
+    12e8:	b7 28 00 58 	setvl\.  r0,r0,21,0,1,0
+    12ec:	b7 29 00 58 	setvl\.  r0,r0,21,0,1,1
+    12f0:	77 28 00 58 	setvl\.  r0,r0,21,1,0,0
+    12f4:	77 29 00 58 	setvl\.  r0,r0,21,1,0,1
+    12f8:	f7 28 00 58 	setvl\.  r0,r0,21,1,1,0
+    12fc:	f7 29 00 58 	setvl\.  r0,r0,21,1,1,1
+    1300:	37 52 00 58 	setvl\.  r0,r0,42,0,0,0
+    1304:	37 53 00 58 	setvl\.  r0,r0,42,0,0,1
+    1308:	b7 52 00 58 	setvl\.  r0,r0,42,0,1,0
+    130c:	b7 53 00 58 	setvl\.  r0,r0,42,0,1,1
+    1310:	77 52 00 58 	setvl\.  r0,r0,42,1,0,0
+    1314:	77 53 00 58 	setvl\.  r0,r0,42,1,0,1
+    1318:	f7 52 00 58 	setvl\.  r0,r0,42,1,1,0
+    131c:	f7 53 00 58 	setvl\.  r0,r0,42,1,1,1
+    1320:	37 64 00 58 	setvl\.  r0,r0,51,0,0,0
+    1324:	37 65 00 58 	setvl\.  r0,r0,51,0,0,1
+    1328:	b7 64 00 58 	setvl\.  r0,r0,51,0,1,0
+    132c:	b7 65 00 58 	setvl\.  r0,r0,51,0,1,1
+    1330:	77 64 00 58 	setvl\.  r0,r0,51,1,0,0
+    1334:	77 65 00 58 	setvl\.  r0,r0,51,1,0,1
+    1338:	f7 64 00 58 	setvl\.  r0,r0,51,1,1,0
+    133c:	f7 65 00 58 	setvl\.  r0,r0,51,1,1,1
+    1340:	37 7c 00 58 	setvl\.  r0,r0,63,0,0,0
+    1344:	37 7d 00 58 	setvl\.  r0,r0,63,0,0,1
+    1348:	b7 7c 00 58 	setvl\.  r0,r0,63,0,1,0
+    134c:	b7 7d 00 58 	setvl\.  r0,r0,63,0,1,1
+    1350:	77 7c 00 58 	setvl\.  r0,r0,63,1,0,0
+    1354:	77 7d 00 58 	setvl\.  r0,r0,63,1,0,1
+    1358:	f7 7c 00 58 	setvl\.  r0,r0,63,1,1,0
+    135c:	f7 7d 00 58 	setvl\.  r0,r0,63,1,1,1
+    1360:	37 3e 00 58 	setvl\.  r0,r0,32,0,0,0
+    1364:	37 3f 00 58 	setvl\.  r0,r0,32,0,0,1
+    1368:	b7 3e 00 58 	setvl\.  r0,r0,32,0,1,0
+    136c:	b7 3f 00 58 	setvl\.  r0,r0,32,0,1,1
+    1370:	77 3e 00 58 	setvl\.  r0,r0,32,1,0,0
+    1374:	77 3f 00 58 	setvl\.  r0,r0,32,1,0,1
+    1378:	f7 3e 00 58 	setvl\.  r0,r0,32,1,1,0
+    137c:	f7 3f 00 58 	setvl\.  r0,r0,32,1,1,1
+    1380:	37 00 0a 58 	setvl\.  r0,r10,1,0,0,0
+    1384:	37 01 0a 58 	setvl\.  r0,r10,1,0,0,1
+    1388:	b7 00 0a 58 	setvl\.  r0,r10,1,0,1,0
+    138c:	b7 01 0a 58 	setvl\.  r0,r10,1,0,1,1
+    1390:	77 00 0a 58 	setvl\.  r0,r10,1,1,0,0
+    1394:	77 01 0a 58 	setvl\.  r0,r10,1,1,0,1
+    1398:	f7 00 0a 58 	setvl\.  r0,r10,1,1,1,0
+    139c:	f7 01 0a 58 	setvl\.  r0,r10,1,1,1,1
+    13a0:	37 28 0a 58 	setvl\.  r0,r10,21,0,0,0
+    13a4:	37 29 0a 58 	setvl\.  r0,r10,21,0,0,1
+    13a8:	b7 28 0a 58 	setvl\.  r0,r10,21,0,1,0
+    13ac:	b7 29 0a 58 	setvl\.  r0,r10,21,0,1,1
+    13b0:	77 28 0a 58 	setvl\.  r0,r10,21,1,0,0
+    13b4:	77 29 0a 58 	setvl\.  r0,r10,21,1,0,1
+    13b8:	f7 28 0a 58 	setvl\.  r0,r10,21,1,1,0
+    13bc:	f7 29 0a 58 	setvl\.  r0,r10,21,1,1,1
+    13c0:	37 52 0a 58 	setvl\.  r0,r10,42,0,0,0
+    13c4:	37 53 0a 58 	setvl\.  r0,r10,42,0,0,1
+    13c8:	b7 52 0a 58 	setvl\.  r0,r10,42,0,1,0
+    13cc:	b7 53 0a 58 	setvl\.  r0,r10,42,0,1,1
+    13d0:	77 52 0a 58 	setvl\.  r0,r10,42,1,0,0
+    13d4:	77 53 0a 58 	setvl\.  r0,r10,42,1,0,1
+    13d8:	f7 52 0a 58 	setvl\.  r0,r10,42,1,1,0
+    13dc:	f7 53 0a 58 	setvl\.  r0,r10,42,1,1,1
+    13e0:	37 64 0a 58 	setvl\.  r0,r10,51,0,0,0
+    13e4:	37 65 0a 58 	setvl\.  r0,r10,51,0,0,1
+    13e8:	b7 64 0a 58 	setvl\.  r0,r10,51,0,1,0
+    13ec:	b7 65 0a 58 	setvl\.  r0,r10,51,0,1,1
+    13f0:	77 64 0a 58 	setvl\.  r0,r10,51,1,0,0
+    13f4:	77 65 0a 58 	setvl\.  r0,r10,51,1,0,1
+    13f8:	f7 64 0a 58 	setvl\.  r0,r10,51,1,1,0
+    13fc:	f7 65 0a 58 	setvl\.  r0,r10,51,1,1,1
+    1400:	37 7c 0a 58 	setvl\.  r0,r10,63,0,0,0
+    1404:	37 7d 0a 58 	setvl\.  r0,r10,63,0,0,1
+    1408:	b7 7c 0a 58 	setvl\.  r0,r10,63,0,1,0
+    140c:	b7 7d 0a 58 	setvl\.  r0,r10,63,0,1,1
+    1410:	77 7c 0a 58 	setvl\.  r0,r10,63,1,0,0
+    1414:	77 7d 0a 58 	setvl\.  r0,r10,63,1,0,1
+    1418:	f7 7c 0a 58 	setvl\.  r0,r10,63,1,1,0
+    141c:	f7 7d 0a 58 	setvl\.  r0,r10,63,1,1,1
+    1420:	37 3e 0a 58 	setvl\.  r0,r10,32,0,0,0
+    1424:	37 3f 0a 58 	setvl\.  r0,r10,32,0,0,1
+    1428:	b7 3e 0a 58 	setvl\.  r0,r10,32,0,1,0
+    142c:	b7 3f 0a 58 	setvl\.  r0,r10,32,0,1,1
+    1430:	77 3e 0a 58 	setvl\.  r0,r10,32,1,0,0
+    1434:	77 3f 0a 58 	setvl\.  r0,r10,32,1,0,1
+    1438:	f7 3e 0a 58 	setvl\.  r0,r10,32,1,1,0
+    143c:	f7 3f 0a 58 	setvl\.  r0,r10,32,1,1,1
+    1440:	37 00 15 58 	setvl\.  r0,r21,1,0,0,0
+    1444:	37 01 15 58 	setvl\.  r0,r21,1,0,0,1
+    1448:	b7 00 15 58 	setvl\.  r0,r21,1,0,1,0
+    144c:	b7 01 15 58 	setvl\.  r0,r21,1,0,1,1
+    1450:	77 00 15 58 	setvl\.  r0,r21,1,1,0,0
+    1454:	77 01 15 58 	setvl\.  r0,r21,1,1,0,1
+    1458:	f7 00 15 58 	setvl\.  r0,r21,1,1,1,0
+    145c:	f7 01 15 58 	setvl\.  r0,r21,1,1,1,1
+    1460:	37 28 15 58 	setvl\.  r0,r21,21,0,0,0
+    1464:	37 29 15 58 	setvl\.  r0,r21,21,0,0,1
+    1468:	b7 28 15 58 	setvl\.  r0,r21,21,0,1,0
+    146c:	b7 29 15 58 	setvl\.  r0,r21,21,0,1,1
+    1470:	77 28 15 58 	setvl\.  r0,r21,21,1,0,0
+    1474:	77 29 15 58 	setvl\.  r0,r21,21,1,0,1
+    1478:	f7 28 15 58 	setvl\.  r0,r21,21,1,1,0
+    147c:	f7 29 15 58 	setvl\.  r0,r21,21,1,1,1
+    1480:	37 52 15 58 	setvl\.  r0,r21,42,0,0,0
+    1484:	37 53 15 58 	setvl\.  r0,r21,42,0,0,1
+    1488:	b7 52 15 58 	setvl\.  r0,r21,42,0,1,0
+    148c:	b7 53 15 58 	setvl\.  r0,r21,42,0,1,1
+    1490:	77 52 15 58 	setvl\.  r0,r21,42,1,0,0
+    1494:	77 53 15 58 	setvl\.  r0,r21,42,1,0,1
+    1498:	f7 52 15 58 	setvl\.  r0,r21,42,1,1,0
+    149c:	f7 53 15 58 	setvl\.  r0,r21,42,1,1,1
+    14a0:	37 64 15 58 	setvl\.  r0,r21,51,0,0,0
+    14a4:	37 65 15 58 	setvl\.  r0,r21,51,0,0,1
+    14a8:	b7 64 15 58 	setvl\.  r0,r21,51,0,1,0
+    14ac:	b7 65 15 58 	setvl\.  r0,r21,51,0,1,1
+    14b0:	77 64 15 58 	setvl\.  r0,r21,51,1,0,0
+    14b4:	77 65 15 58 	setvl\.  r0,r21,51,1,0,1
+    14b8:	f7 64 15 58 	setvl\.  r0,r21,51,1,1,0
+    14bc:	f7 65 15 58 	setvl\.  r0,r21,51,1,1,1
+    14c0:	37 7c 15 58 	setvl\.  r0,r21,63,0,0,0
+    14c4:	37 7d 15 58 	setvl\.  r0,r21,63,0,0,1
+    14c8:	b7 7c 15 58 	setvl\.  r0,r21,63,0,1,0
+    14cc:	b7 7d 15 58 	setvl\.  r0,r21,63,0,1,1
+    14d0:	77 7c 15 58 	setvl\.  r0,r21,63,1,0,0
+    14d4:	77 7d 15 58 	setvl\.  r0,r21,63,1,0,1
+    14d8:	f7 7c 15 58 	setvl\.  r0,r21,63,1,1,0
+    14dc:	f7 7d 15 58 	setvl\.  r0,r21,63,1,1,1
+    14e0:	37 3e 15 58 	setvl\.  r0,r21,32,0,0,0
+    14e4:	37 3f 15 58 	setvl\.  r0,r21,32,0,0,1
+    14e8:	b7 3e 15 58 	setvl\.  r0,r21,32,0,1,0
+    14ec:	b7 3f 15 58 	setvl\.  r0,r21,32,0,1,1
+    14f0:	77 3e 15 58 	setvl\.  r0,r21,32,1,0,0
+    14f4:	77 3f 15 58 	setvl\.  r0,r21,32,1,0,1
+    14f8:	f7 3e 15 58 	setvl\.  r0,r21,32,1,1,0
+    14fc:	f7 3f 15 58 	setvl\.  r0,r21,32,1,1,1
+    1500:	37 00 1b 58 	setvl\.  r0,r27,1,0,0,0
+    1504:	37 01 1b 58 	setvl\.  r0,r27,1,0,0,1
+    1508:	b7 00 1b 58 	setvl\.  r0,r27,1,0,1,0
+    150c:	b7 01 1b 58 	setvl\.  r0,r27,1,0,1,1
+    1510:	77 00 1b 58 	setvl\.  r0,r27,1,1,0,0
+    1514:	77 01 1b 58 	setvl\.  r0,r27,1,1,0,1
+    1518:	f7 00 1b 58 	setvl\.  r0,r27,1,1,1,0
+    151c:	f7 01 1b 58 	setvl\.  r0,r27,1,1,1,1
+    1520:	37 28 1b 58 	setvl\.  r0,r27,21,0,0,0
+    1524:	37 29 1b 58 	setvl\.  r0,r27,21,0,0,1
+    1528:	b7 28 1b 58 	setvl\.  r0,r27,21,0,1,0
+    152c:	b7 29 1b 58 	setvl\.  r0,r27,21,0,1,1
+    1530:	77 28 1b 58 	setvl\.  r0,r27,21,1,0,0
+    1534:	77 29 1b 58 	setvl\.  r0,r27,21,1,0,1
+    1538:	f7 28 1b 58 	setvl\.  r0,r27,21,1,1,0
+    153c:	f7 29 1b 58 	setvl\.  r0,r27,21,1,1,1
+    1540:	37 52 1b 58 	setvl\.  r0,r27,42,0,0,0
+    1544:	37 53 1b 58 	setvl\.  r0,r27,42,0,0,1
+    1548:	b7 52 1b 58 	setvl\.  r0,r27,42,0,1,0
+    154c:	b7 53 1b 58 	setvl\.  r0,r27,42,0,1,1
+    1550:	77 52 1b 58 	setvl\.  r0,r27,42,1,0,0
+    1554:	77 53 1b 58 	setvl\.  r0,r27,42,1,0,1
+    1558:	f7 52 1b 58 	setvl\.  r0,r27,42,1,1,0
+    155c:	f7 53 1b 58 	setvl\.  r0,r27,42,1,1,1
+    1560:	37 64 1b 58 	setvl\.  r0,r27,51,0,0,0
+    1564:	37 65 1b 58 	setvl\.  r0,r27,51,0,0,1
+    1568:	b7 64 1b 58 	setvl\.  r0,r27,51,0,1,0
+    156c:	b7 65 1b 58 	setvl\.  r0,r27,51,0,1,1
+    1570:	77 64 1b 58 	setvl\.  r0,r27,51,1,0,0
+    1574:	77 65 1b 58 	setvl\.  r0,r27,51,1,0,1
+    1578:	f7 64 1b 58 	setvl\.  r0,r27,51,1,1,0
+    157c:	f7 65 1b 58 	setvl\.  r0,r27,51,1,1,1
+    1580:	37 7c 1b 58 	setvl\.  r0,r27,63,0,0,0
+    1584:	37 7d 1b 58 	setvl\.  r0,r27,63,0,0,1
+    1588:	b7 7c 1b 58 	setvl\.  r0,r27,63,0,1,0
+    158c:	b7 7d 1b 58 	setvl\.  r0,r27,63,0,1,1
+    1590:	77 7c 1b 58 	setvl\.  r0,r27,63,1,0,0
+    1594:	77 7d 1b 58 	setvl\.  r0,r27,63,1,0,1
+    1598:	f7 7c 1b 58 	setvl\.  r0,r27,63,1,1,0
+    159c:	f7 7d 1b 58 	setvl\.  r0,r27,63,1,1,1
+    15a0:	37 3e 1b 58 	setvl\.  r0,r27,32,0,0,0
+    15a4:	37 3f 1b 58 	setvl\.  r0,r27,32,0,0,1
+    15a8:	b7 3e 1b 58 	setvl\.  r0,r27,32,0,1,0
+    15ac:	b7 3f 1b 58 	setvl\.  r0,r27,32,0,1,1
+    15b0:	77 3e 1b 58 	setvl\.  r0,r27,32,1,0,0
+    15b4:	77 3f 1b 58 	setvl\.  r0,r27,32,1,0,1
+    15b8:	f7 3e 1b 58 	setvl\.  r0,r27,32,1,1,0
+    15bc:	f7 3f 1b 58 	setvl\.  r0,r27,32,1,1,1
+    15c0:	37 00 1f 58 	setvl\.  r0,r31,1,0,0,0
+    15c4:	37 01 1f 58 	setvl\.  r0,r31,1,0,0,1
+    15c8:	b7 00 1f 58 	setvl\.  r0,r31,1,0,1,0
+    15cc:	b7 01 1f 58 	setvl\.  r0,r31,1,0,1,1
+    15d0:	77 00 1f 58 	setvl\.  r0,r31,1,1,0,0
+    15d4:	77 01 1f 58 	setvl\.  r0,r31,1,1,0,1
+    15d8:	f7 00 1f 58 	setvl\.  r0,r31,1,1,1,0
+    15dc:	f7 01 1f 58 	setvl\.  r0,r31,1,1,1,1
+    15e0:	37 28 1f 58 	setvl\.  r0,r31,21,0,0,0
+    15e4:	37 29 1f 58 	setvl\.  r0,r31,21,0,0,1
+    15e8:	b7 28 1f 58 	setvl\.  r0,r31,21,0,1,0
+    15ec:	b7 29 1f 58 	setvl\.  r0,r31,21,0,1,1
+    15f0:	77 28 1f 58 	setvl\.  r0,r31,21,1,0,0
+    15f4:	77 29 1f 58 	setvl\.  r0,r31,21,1,0,1
+    15f8:	f7 28 1f 58 	setvl\.  r0,r31,21,1,1,0
+    15fc:	f7 29 1f 58 	setvl\.  r0,r31,21,1,1,1
+    1600:	37 52 1f 58 	setvl\.  r0,r31,42,0,0,0
+    1604:	37 53 1f 58 	setvl\.  r0,r31,42,0,0,1
+    1608:	b7 52 1f 58 	setvl\.  r0,r31,42,0,1,0
+    160c:	b7 53 1f 58 	setvl\.  r0,r31,42,0,1,1
+    1610:	77 52 1f 58 	setvl\.  r0,r31,42,1,0,0
+    1614:	77 53 1f 58 	setvl\.  r0,r31,42,1,0,1
+    1618:	f7 52 1f 58 	setvl\.  r0,r31,42,1,1,0
+    161c:	f7 53 1f 58 	setvl\.  r0,r31,42,1,1,1
+    1620:	37 64 1f 58 	setvl\.  r0,r31,51,0,0,0
+    1624:	37 65 1f 58 	setvl\.  r0,r31,51,0,0,1
+    1628:	b7 64 1f 58 	setvl\.  r0,r31,51,0,1,0
+    162c:	b7 65 1f 58 	setvl\.  r0,r31,51,0,1,1
+    1630:	77 64 1f 58 	setvl\.  r0,r31,51,1,0,0
+    1634:	77 65 1f 58 	setvl\.  r0,r31,51,1,0,1
+    1638:	f7 64 1f 58 	setvl\.  r0,r31,51,1,1,0
+    163c:	f7 65 1f 58 	setvl\.  r0,r31,51,1,1,1
+    1640:	37 7c 1f 58 	setvl\.  r0,r31,63,0,0,0
+    1644:	37 7d 1f 58 	setvl\.  r0,r31,63,0,0,1
+    1648:	b7 7c 1f 58 	setvl\.  r0,r31,63,0,1,0
+    164c:	b7 7d 1f 58 	setvl\.  r0,r31,63,0,1,1
+    1650:	77 7c 1f 58 	setvl\.  r0,r31,63,1,0,0
+    1654:	77 7d 1f 58 	setvl\.  r0,r31,63,1,0,1
+    1658:	f7 7c 1f 58 	setvl\.  r0,r31,63,1,1,0
+    165c:	f7 7d 1f 58 	setvl\.  r0,r31,63,1,1,1
+    1660:	37 3e 1f 58 	setvl\.  r0,r31,32,0,0,0
+    1664:	37 3f 1f 58 	setvl\.  r0,r31,32,0,0,1
+    1668:	b7 3e 1f 58 	setvl\.  r0,r31,32,0,1,0
+    166c:	b7 3f 1f 58 	setvl\.  r0,r31,32,0,1,1
+    1670:	77 3e 1f 58 	setvl\.  r0,r31,32,1,0,0
+    1674:	77 3f 1f 58 	setvl\.  r0,r31,32,1,0,1
+    1678:	f7 3e 1f 58 	setvl\.  r0,r31,32,1,1,0
+    167c:	f7 3f 1f 58 	setvl\.  r0,r31,32,1,1,1
+    1680:	37 00 40 59 	setvl\.  r10,r0,1,0,0,0
+    1684:	37 01 40 59 	setvl\.  r10,r0,1,0,0,1
+    1688:	b7 00 40 59 	setvl\.  r10,r0,1,0,1,0
+    168c:	b7 01 40 59 	setvl\.  r10,r0,1,0,1,1
+    1690:	77 00 40 59 	setvl\.  r10,r0,1,1,0,0
+    1694:	77 01 40 59 	setvl\.  r10,r0,1,1,0,1
+    1698:	f7 00 40 59 	setvl\.  r10,r0,1,1,1,0
+    169c:	f7 01 40 59 	setvl\.  r10,r0,1,1,1,1
+    16a0:	37 28 40 59 	setvl\.  r10,r0,21,0,0,0
+    16a4:	37 29 40 59 	setvl\.  r10,r0,21,0,0,1
+    16a8:	b7 28 40 59 	setvl\.  r10,r0,21,0,1,0
+    16ac:	b7 29 40 59 	setvl\.  r10,r0,21,0,1,1
+    16b0:	77 28 40 59 	setvl\.  r10,r0,21,1,0,0
+    16b4:	77 29 40 59 	setvl\.  r10,r0,21,1,0,1
+    16b8:	f7 28 40 59 	setvl\.  r10,r0,21,1,1,0
+    16bc:	f7 29 40 59 	setvl\.  r10,r0,21,1,1,1
+    16c0:	37 52 40 59 	setvl\.  r10,r0,42,0,0,0
+    16c4:	37 53 40 59 	setvl\.  r10,r0,42,0,0,1
+    16c8:	b7 52 40 59 	setvl\.  r10,r0,42,0,1,0
+    16cc:	b7 53 40 59 	setvl\.  r10,r0,42,0,1,1
+    16d0:	77 52 40 59 	setvl\.  r10,r0,42,1,0,0
+    16d4:	77 53 40 59 	setvl\.  r10,r0,42,1,0,1
+    16d8:	f7 52 40 59 	setvl\.  r10,r0,42,1,1,0
+    16dc:	f7 53 40 59 	setvl\.  r10,r0,42,1,1,1
+    16e0:	37 64 40 59 	setvl\.  r10,r0,51,0,0,0
+    16e4:	37 65 40 59 	setvl\.  r10,r0,51,0,0,1
+    16e8:	b7 64 40 59 	setvl\.  r10,r0,51,0,1,0
+    16ec:	b7 65 40 59 	setvl\.  r10,r0,51,0,1,1
+    16f0:	77 64 40 59 	setvl\.  r10,r0,51,1,0,0
+    16f4:	77 65 40 59 	setvl\.  r10,r0,51,1,0,1
+    16f8:	f7 64 40 59 	setvl\.  r10,r0,51,1,1,0
+    16fc:	f7 65 40 59 	setvl\.  r10,r0,51,1,1,1
+    1700:	37 7c 40 59 	setvl\.  r10,r0,63,0,0,0
+    1704:	37 7d 40 59 	setvl\.  r10,r0,63,0,0,1
+    1708:	b7 7c 40 59 	setvl\.  r10,r0,63,0,1,0
+    170c:	b7 7d 40 59 	setvl\.  r10,r0,63,0,1,1
+    1710:	77 7c 40 59 	setvl\.  r10,r0,63,1,0,0
+    1714:	77 7d 40 59 	setvl\.  r10,r0,63,1,0,1
+    1718:	f7 7c 40 59 	setvl\.  r10,r0,63,1,1,0
+    171c:	f7 7d 40 59 	setvl\.  r10,r0,63,1,1,1
+    1720:	37 3e 40 59 	setvl\.  r10,r0,32,0,0,0
+    1724:	37 3f 40 59 	setvl\.  r10,r0,32,0,0,1
+    1728:	b7 3e 40 59 	setvl\.  r10,r0,32,0,1,0
+    172c:	b7 3f 40 59 	setvl\.  r10,r0,32,0,1,1
+    1730:	77 3e 40 59 	setvl\.  r10,r0,32,1,0,0
+    1734:	77 3f 40 59 	setvl\.  r10,r0,32,1,0,1
+    1738:	f7 3e 40 59 	setvl\.  r10,r0,32,1,1,0
+    173c:	f7 3f 40 59 	setvl\.  r10,r0,32,1,1,1
+    1740:	37 00 4a 59 	setvl\.  r10,r10,1,0,0,0
+    1744:	37 01 4a 59 	setvl\.  r10,r10,1,0,0,1
+    1748:	b7 00 4a 59 	setvl\.  r10,r10,1,0,1,0
+    174c:	b7 01 4a 59 	setvl\.  r10,r10,1,0,1,1
+    1750:	77 00 4a 59 	setvl\.  r10,r10,1,1,0,0
+    1754:	77 01 4a 59 	setvl\.  r10,r10,1,1,0,1
+    1758:	f7 00 4a 59 	setvl\.  r10,r10,1,1,1,0
+    175c:	f7 01 4a 59 	setvl\.  r10,r10,1,1,1,1
+    1760:	37 28 4a 59 	setvl\.  r10,r10,21,0,0,0
+    1764:	37 29 4a 59 	setvl\.  r10,r10,21,0,0,1
+    1768:	b7 28 4a 59 	setvl\.  r10,r10,21,0,1,0
+    176c:	b7 29 4a 59 	setvl\.  r10,r10,21,0,1,1
+    1770:	77 28 4a 59 	setvl\.  r10,r10,21,1,0,0
+    1774:	77 29 4a 59 	setvl\.  r10,r10,21,1,0,1
+    1778:	f7 28 4a 59 	setvl\.  r10,r10,21,1,1,0
+    177c:	f7 29 4a 59 	setvl\.  r10,r10,21,1,1,1
+    1780:	37 52 4a 59 	setvl\.  r10,r10,42,0,0,0
+    1784:	37 53 4a 59 	setvl\.  r10,r10,42,0,0,1
+    1788:	b7 52 4a 59 	setvl\.  r10,r10,42,0,1,0
+    178c:	b7 53 4a 59 	setvl\.  r10,r10,42,0,1,1
+    1790:	77 52 4a 59 	setvl\.  r10,r10,42,1,0,0
+    1794:	77 53 4a 59 	setvl\.  r10,r10,42,1,0,1
+    1798:	f7 52 4a 59 	setvl\.  r10,r10,42,1,1,0
+    179c:	f7 53 4a 59 	setvl\.  r10,r10,42,1,1,1
+    17a0:	37 64 4a 59 	setvl\.  r10,r10,51,0,0,0
+    17a4:	37 65 4a 59 	setvl\.  r10,r10,51,0,0,1
+    17a8:	b7 64 4a 59 	setvl\.  r10,r10,51,0,1,0
+    17ac:	b7 65 4a 59 	setvl\.  r10,r10,51,0,1,1
+    17b0:	77 64 4a 59 	setvl\.  r10,r10,51,1,0,0
+    17b4:	77 65 4a 59 	setvl\.  r10,r10,51,1,0,1
+    17b8:	f7 64 4a 59 	setvl\.  r10,r10,51,1,1,0
+    17bc:	f7 65 4a 59 	setvl\.  r10,r10,51,1,1,1
+    17c0:	37 7c 4a 59 	setvl\.  r10,r10,63,0,0,0
+    17c4:	37 7d 4a 59 	setvl\.  r10,r10,63,0,0,1
+    17c8:	b7 7c 4a 59 	setvl\.  r10,r10,63,0,1,0
+    17cc:	b7 7d 4a 59 	setvl\.  r10,r10,63,0,1,1
+    17d0:	77 7c 4a 59 	setvl\.  r10,r10,63,1,0,0
+    17d4:	77 7d 4a 59 	setvl\.  r10,r10,63,1,0,1
+    17d8:	f7 7c 4a 59 	setvl\.  r10,r10,63,1,1,0
+    17dc:	f7 7d 4a 59 	setvl\.  r10,r10,63,1,1,1
+    17e0:	37 3e 4a 59 	setvl\.  r10,r10,32,0,0,0
+    17e4:	37 3f 4a 59 	setvl\.  r10,r10,32,0,0,1
+    17e8:	b7 3e 4a 59 	setvl\.  r10,r10,32,0,1,0
+    17ec:	b7 3f 4a 59 	setvl\.  r10,r10,32,0,1,1
+    17f0:	77 3e 4a 59 	setvl\.  r10,r10,32,1,0,0
+    17f4:	77 3f 4a 59 	setvl\.  r10,r10,32,1,0,1
+    17f8:	f7 3e 4a 59 	setvl\.  r10,r10,32,1,1,0
+    17fc:	f7 3f 4a 59 	setvl\.  r10,r10,32,1,1,1
+    1800:	37 00 55 59 	setvl\.  r10,r21,1,0,0,0
+    1804:	37 01 55 59 	setvl\.  r10,r21,1,0,0,1
+    1808:	b7 00 55 59 	setvl\.  r10,r21,1,0,1,0
+    180c:	b7 01 55 59 	setvl\.  r10,r21,1,0,1,1
+    1810:	77 00 55 59 	setvl\.  r10,r21,1,1,0,0
+    1814:	77 01 55 59 	setvl\.  r10,r21,1,1,0,1
+    1818:	f7 00 55 59 	setvl\.  r10,r21,1,1,1,0
+    181c:	f7 01 55 59 	setvl\.  r10,r21,1,1,1,1
+    1820:	37 28 55 59 	setvl\.  r10,r21,21,0,0,0
+    1824:	37 29 55 59 	setvl\.  r10,r21,21,0,0,1
+    1828:	b7 28 55 59 	setvl\.  r10,r21,21,0,1,0
+    182c:	b7 29 55 59 	setvl\.  r10,r21,21,0,1,1
+    1830:	77 28 55 59 	setvl\.  r10,r21,21,1,0,0
+    1834:	77 29 55 59 	setvl\.  r10,r21,21,1,0,1
+    1838:	f7 28 55 59 	setvl\.  r10,r21,21,1,1,0
+    183c:	f7 29 55 59 	setvl\.  r10,r21,21,1,1,1
+    1840:	37 52 55 59 	setvl\.  r10,r21,42,0,0,0
+    1844:	37 53 55 59 	setvl\.  r10,r21,42,0,0,1
+    1848:	b7 52 55 59 	setvl\.  r10,r21,42,0,1,0
+    184c:	b7 53 55 59 	setvl\.  r10,r21,42,0,1,1
+    1850:	77 52 55 59 	setvl\.  r10,r21,42,1,0,0
+    1854:	77 53 55 59 	setvl\.  r10,r21,42,1,0,1
+    1858:	f7 52 55 59 	setvl\.  r10,r21,42,1,1,0
+    185c:	f7 53 55 59 	setvl\.  r10,r21,42,1,1,1
+    1860:	37 64 55 59 	setvl\.  r10,r21,51,0,0,0
+    1864:	37 65 55 59 	setvl\.  r10,r21,51,0,0,1
+    1868:	b7 64 55 59 	setvl\.  r10,r21,51,0,1,0
+    186c:	b7 65 55 59 	setvl\.  r10,r21,51,0,1,1
+    1870:	77 64 55 59 	setvl\.  r10,r21,51,1,0,0
+    1874:	77 65 55 59 	setvl\.  r10,r21,51,1,0,1
+    1878:	f7 64 55 59 	setvl\.  r10,r21,51,1,1,0
+    187c:	f7 65 55 59 	setvl\.  r10,r21,51,1,1,1
+    1880:	37 7c 55 59 	setvl\.  r10,r21,63,0,0,0
+    1884:	37 7d 55 59 	setvl\.  r10,r21,63,0,0,1
+    1888:	b7 7c 55 59 	setvl\.  r10,r21,63,0,1,0
+    188c:	b7 7d 55 59 	setvl\.  r10,r21,63,0,1,1
+    1890:	77 7c 55 59 	setvl\.  r10,r21,63,1,0,0
+    1894:	77 7d 55 59 	setvl\.  r10,r21,63,1,0,1
+    1898:	f7 7c 55 59 	setvl\.  r10,r21,63,1,1,0
+    189c:	f7 7d 55 59 	setvl\.  r10,r21,63,1,1,1
+    18a0:	37 3e 55 59 	setvl\.  r10,r21,32,0,0,0
+    18a4:	37 3f 55 59 	setvl\.  r10,r21,32,0,0,1
+    18a8:	b7 3e 55 59 	setvl\.  r10,r21,32,0,1,0
+    18ac:	b7 3f 55 59 	setvl\.  r10,r21,32,0,1,1
+    18b0:	77 3e 55 59 	setvl\.  r10,r21,32,1,0,0
+    18b4:	77 3f 55 59 	setvl\.  r10,r21,32,1,0,1
+    18b8:	f7 3e 55 59 	setvl\.  r10,r21,32,1,1,0
+    18bc:	f7 3f 55 59 	setvl\.  r10,r21,32,1,1,1
+    18c0:	37 00 5b 59 	setvl\.  r10,r27,1,0,0,0
+    18c4:	37 01 5b 59 	setvl\.  r10,r27,1,0,0,1
+    18c8:	b7 00 5b 59 	setvl\.  r10,r27,1,0,1,0
+    18cc:	b7 01 5b 59 	setvl\.  r10,r27,1,0,1,1
+    18d0:	77 00 5b 59 	setvl\.  r10,r27,1,1,0,0
+    18d4:	77 01 5b 59 	setvl\.  r10,r27,1,1,0,1
+    18d8:	f7 00 5b 59 	setvl\.  r10,r27,1,1,1,0
+    18dc:	f7 01 5b 59 	setvl\.  r10,r27,1,1,1,1
+    18e0:	37 28 5b 59 	setvl\.  r10,r27,21,0,0,0
+    18e4:	37 29 5b 59 	setvl\.  r10,r27,21,0,0,1
+    18e8:	b7 28 5b 59 	setvl\.  r10,r27,21,0,1,0
+    18ec:	b7 29 5b 59 	setvl\.  r10,r27,21,0,1,1
+    18f0:	77 28 5b 59 	setvl\.  r10,r27,21,1,0,0
+    18f4:	77 29 5b 59 	setvl\.  r10,r27,21,1,0,1
+    18f8:	f7 28 5b 59 	setvl\.  r10,r27,21,1,1,0
+    18fc:	f7 29 5b 59 	setvl\.  r10,r27,21,1,1,1
+    1900:	37 52 5b 59 	setvl\.  r10,r27,42,0,0,0
+    1904:	37 53 5b 59 	setvl\.  r10,r27,42,0,0,1
+    1908:	b7 52 5b 59 	setvl\.  r10,r27,42,0,1,0
+    190c:	b7 53 5b 59 	setvl\.  r10,r27,42,0,1,1
+    1910:	77 52 5b 59 	setvl\.  r10,r27,42,1,0,0
+    1914:	77 53 5b 59 	setvl\.  r10,r27,42,1,0,1
+    1918:	f7 52 5b 59 	setvl\.  r10,r27,42,1,1,0
+    191c:	f7 53 5b 59 	setvl\.  r10,r27,42,1,1,1
+    1920:	37 64 5b 59 	setvl\.  r10,r27,51,0,0,0
+    1924:	37 65 5b 59 	setvl\.  r10,r27,51,0,0,1
+    1928:	b7 64 5b 59 	setvl\.  r10,r27,51,0,1,0
+    192c:	b7 65 5b 59 	setvl\.  r10,r27,51,0,1,1
+    1930:	77 64 5b 59 	setvl\.  r10,r27,51,1,0,0
+    1934:	77 65 5b 59 	setvl\.  r10,r27,51,1,0,1
+    1938:	f7 64 5b 59 	setvl\.  r10,r27,51,1,1,0
+    193c:	f7 65 5b 59 	setvl\.  r10,r27,51,1,1,1
+    1940:	37 7c 5b 59 	setvl\.  r10,r27,63,0,0,0
+    1944:	37 7d 5b 59 	setvl\.  r10,r27,63,0,0,1
+    1948:	b7 7c 5b 59 	setvl\.  r10,r27,63,0,1,0
+    194c:	b7 7d 5b 59 	setvl\.  r10,r27,63,0,1,1
+    1950:	77 7c 5b 59 	setvl\.  r10,r27,63,1,0,0
+    1954:	77 7d 5b 59 	setvl\.  r10,r27,63,1,0,1
+    1958:	f7 7c 5b 59 	setvl\.  r10,r27,63,1,1,0
+    195c:	f7 7d 5b 59 	setvl\.  r10,r27,63,1,1,1
+    1960:	37 3e 5b 59 	setvl\.  r10,r27,32,0,0,0
+    1964:	37 3f 5b 59 	setvl\.  r10,r27,32,0,0,1
+    1968:	b7 3e 5b 59 	setvl\.  r10,r27,32,0,1,0
+    196c:	b7 3f 5b 59 	setvl\.  r10,r27,32,0,1,1
+    1970:	77 3e 5b 59 	setvl\.  r10,r27,32,1,0,0
+    1974:	77 3f 5b 59 	setvl\.  r10,r27,32,1,0,1
+    1978:	f7 3e 5b 59 	setvl\.  r10,r27,32,1,1,0
+    197c:	f7 3f 5b 59 	setvl\.  r10,r27,32,1,1,1
+    1980:	37 00 5f 59 	setvl\.  r10,r31,1,0,0,0
+    1984:	37 01 5f 59 	setvl\.  r10,r31,1,0,0,1
+    1988:	b7 00 5f 59 	setvl\.  r10,r31,1,0,1,0
+    198c:	b7 01 5f 59 	setvl\.  r10,r31,1,0,1,1
+    1990:	77 00 5f 59 	setvl\.  r10,r31,1,1,0,0
+    1994:	77 01 5f 59 	setvl\.  r10,r31,1,1,0,1
+    1998:	f7 00 5f 59 	setvl\.  r10,r31,1,1,1,0
+    199c:	f7 01 5f 59 	setvl\.  r10,r31,1,1,1,1
+    19a0:	37 28 5f 59 	setvl\.  r10,r31,21,0,0,0
+    19a4:	37 29 5f 59 	setvl\.  r10,r31,21,0,0,1
+    19a8:	b7 28 5f 59 	setvl\.  r10,r31,21,0,1,0
+    19ac:	b7 29 5f 59 	setvl\.  r10,r31,21,0,1,1
+    19b0:	77 28 5f 59 	setvl\.  r10,r31,21,1,0,0
+    19b4:	77 29 5f 59 	setvl\.  r10,r31,21,1,0,1
+    19b8:	f7 28 5f 59 	setvl\.  r10,r31,21,1,1,0
+    19bc:	f7 29 5f 59 	setvl\.  r10,r31,21,1,1,1
+    19c0:	37 52 5f 59 	setvl\.  r10,r31,42,0,0,0
+    19c4:	37 53 5f 59 	setvl\.  r10,r31,42,0,0,1
+    19c8:	b7 52 5f 59 	setvl\.  r10,r31,42,0,1,0
+    19cc:	b7 53 5f 59 	setvl\.  r10,r31,42,0,1,1
+    19d0:	77 52 5f 59 	setvl\.  r10,r31,42,1,0,0
+    19d4:	77 53 5f 59 	setvl\.  r10,r31,42,1,0,1
+    19d8:	f7 52 5f 59 	setvl\.  r10,r31,42,1,1,0
+    19dc:	f7 53 5f 59 	setvl\.  r10,r31,42,1,1,1
+    19e0:	37 64 5f 59 	setvl\.  r10,r31,51,0,0,0
+    19e4:	37 65 5f 59 	setvl\.  r10,r31,51,0,0,1
+    19e8:	b7 64 5f 59 	setvl\.  r10,r31,51,0,1,0
+    19ec:	b7 65 5f 59 	setvl\.  r10,r31,51,0,1,1
+    19f0:	77 64 5f 59 	setvl\.  r10,r31,51,1,0,0
+    19f4:	77 65 5f 59 	setvl\.  r10,r31,51,1,0,1
+    19f8:	f7 64 5f 59 	setvl\.  r10,r31,51,1,1,0
+    19fc:	f7 65 5f 59 	setvl\.  r10,r31,51,1,1,1
+    1a00:	37 7c 5f 59 	setvl\.  r10,r31,63,0,0,0
+    1a04:	37 7d 5f 59 	setvl\.  r10,r31,63,0,0,1
+    1a08:	b7 7c 5f 59 	setvl\.  r10,r31,63,0,1,0
+    1a0c:	b7 7d 5f 59 	setvl\.  r10,r31,63,0,1,1
+    1a10:	77 7c 5f 59 	setvl\.  r10,r31,63,1,0,0
+    1a14:	77 7d 5f 59 	setvl\.  r10,r31,63,1,0,1
+    1a18:	f7 7c 5f 59 	setvl\.  r10,r31,63,1,1,0
+    1a1c:	f7 7d 5f 59 	setvl\.  r10,r31,63,1,1,1
+    1a20:	37 3e 5f 59 	setvl\.  r10,r31,32,0,0,0
+    1a24:	37 3f 5f 59 	setvl\.  r10,r31,32,0,0,1
+    1a28:	b7 3e 5f 59 	setvl\.  r10,r31,32,0,1,0
+    1a2c:	b7 3f 5f 59 	setvl\.  r10,r31,32,0,1,1
+    1a30:	77 3e 5f 59 	setvl\.  r10,r31,32,1,0,0
+    1a34:	77 3f 5f 59 	setvl\.  r10,r31,32,1,0,1
+    1a38:	f7 3e 5f 59 	setvl\.  r10,r31,32,1,1,0
+    1a3c:	f7 3f 5f 59 	setvl\.  r10,r31,32,1,1,1
+    1a40:	37 00 a0 5a 	setvl\.  r21,r0,1,0,0,0
+    1a44:	37 01 a0 5a 	setvl\.  r21,r0,1,0,0,1
+    1a48:	b7 00 a0 5a 	setvl\.  r21,r0,1,0,1,0
+    1a4c:	b7 01 a0 5a 	setvl\.  r21,r0,1,0,1,1
+    1a50:	77 00 a0 5a 	setvl\.  r21,r0,1,1,0,0
+    1a54:	77 01 a0 5a 	setvl\.  r21,r0,1,1,0,1
+    1a58:	f7 00 a0 5a 	setvl\.  r21,r0,1,1,1,0
+    1a5c:	f7 01 a0 5a 	setvl\.  r21,r0,1,1,1,1
+    1a60:	37 28 a0 5a 	setvl\.  r21,r0,21,0,0,0
+    1a64:	37 29 a0 5a 	setvl\.  r21,r0,21,0,0,1
+    1a68:	b7 28 a0 5a 	setvl\.  r21,r0,21,0,1,0
+    1a6c:	b7 29 a0 5a 	setvl\.  r21,r0,21,0,1,1
+    1a70:	77 28 a0 5a 	setvl\.  r21,r0,21,1,0,0
+    1a74:	77 29 a0 5a 	setvl\.  r21,r0,21,1,0,1
+    1a78:	f7 28 a0 5a 	setvl\.  r21,r0,21,1,1,0
+    1a7c:	f7 29 a0 5a 	setvl\.  r21,r0,21,1,1,1
+    1a80:	37 52 a0 5a 	setvl\.  r21,r0,42,0,0,0
+    1a84:	37 53 a0 5a 	setvl\.  r21,r0,42,0,0,1
+    1a88:	b7 52 a0 5a 	setvl\.  r21,r0,42,0,1,0
+    1a8c:	b7 53 a0 5a 	setvl\.  r21,r0,42,0,1,1
+    1a90:	77 52 a0 5a 	setvl\.  r21,r0,42,1,0,0
+    1a94:	77 53 a0 5a 	setvl\.  r21,r0,42,1,0,1
+    1a98:	f7 52 a0 5a 	setvl\.  r21,r0,42,1,1,0
+    1a9c:	f7 53 a0 5a 	setvl\.  r21,r0,42,1,1,1
+    1aa0:	37 64 a0 5a 	setvl\.  r21,r0,51,0,0,0
+    1aa4:	37 65 a0 5a 	setvl\.  r21,r0,51,0,0,1
+    1aa8:	b7 64 a0 5a 	setvl\.  r21,r0,51,0,1,0
+    1aac:	b7 65 a0 5a 	setvl\.  r21,r0,51,0,1,1
+    1ab0:	77 64 a0 5a 	setvl\.  r21,r0,51,1,0,0
+    1ab4:	77 65 a0 5a 	setvl\.  r21,r0,51,1,0,1
+    1ab8:	f7 64 a0 5a 	setvl\.  r21,r0,51,1,1,0
+    1abc:	f7 65 a0 5a 	setvl\.  r21,r0,51,1,1,1
+    1ac0:	37 7c a0 5a 	setvl\.  r21,r0,63,0,0,0
+    1ac4:	37 7d a0 5a 	setvl\.  r21,r0,63,0,0,1
+    1ac8:	b7 7c a0 5a 	setvl\.  r21,r0,63,0,1,0
+    1acc:	b7 7d a0 5a 	setvl\.  r21,r0,63,0,1,1
+    1ad0:	77 7c a0 5a 	setvl\.  r21,r0,63,1,0,0
+    1ad4:	77 7d a0 5a 	setvl\.  r21,r0,63,1,0,1
+    1ad8:	f7 7c a0 5a 	setvl\.  r21,r0,63,1,1,0
+    1adc:	f7 7d a0 5a 	setvl\.  r21,r0,63,1,1,1
+    1ae0:	37 3e a0 5a 	setvl\.  r21,r0,32,0,0,0
+    1ae4:	37 3f a0 5a 	setvl\.  r21,r0,32,0,0,1
+    1ae8:	b7 3e a0 5a 	setvl\.  r21,r0,32,0,1,0
+    1aec:	b7 3f a0 5a 	setvl\.  r21,r0,32,0,1,1
+    1af0:	77 3e a0 5a 	setvl\.  r21,r0,32,1,0,0
+    1af4:	77 3f a0 5a 	setvl\.  r21,r0,32,1,0,1
+    1af8:	f7 3e a0 5a 	setvl\.  r21,r0,32,1,1,0
+    1afc:	f7 3f a0 5a 	setvl\.  r21,r0,32,1,1,1
+    1b00:	37 00 aa 5a 	setvl\.  r21,r10,1,0,0,0
+    1b04:	37 01 aa 5a 	setvl\.  r21,r10,1,0,0,1
+    1b08:	b7 00 aa 5a 	setvl\.  r21,r10,1,0,1,0
+    1b0c:	b7 01 aa 5a 	setvl\.  r21,r10,1,0,1,1
+    1b10:	77 00 aa 5a 	setvl\.  r21,r10,1,1,0,0
+    1b14:	77 01 aa 5a 	setvl\.  r21,r10,1,1,0,1
+    1b18:	f7 00 aa 5a 	setvl\.  r21,r10,1,1,1,0
+    1b1c:	f7 01 aa 5a 	setvl\.  r21,r10,1,1,1,1
+    1b20:	37 28 aa 5a 	setvl\.  r21,r10,21,0,0,0
+    1b24:	37 29 aa 5a 	setvl\.  r21,r10,21,0,0,1
+    1b28:	b7 28 aa 5a 	setvl\.  r21,r10,21,0,1,0
+    1b2c:	b7 29 aa 5a 	setvl\.  r21,r10,21,0,1,1
+    1b30:	77 28 aa 5a 	setvl\.  r21,r10,21,1,0,0
+    1b34:	77 29 aa 5a 	setvl\.  r21,r10,21,1,0,1
+    1b38:	f7 28 aa 5a 	setvl\.  r21,r10,21,1,1,0
+    1b3c:	f7 29 aa 5a 	setvl\.  r21,r10,21,1,1,1
+    1b40:	37 52 aa 5a 	setvl\.  r21,r10,42,0,0,0
+    1b44:	37 53 aa 5a 	setvl\.  r21,r10,42,0,0,1
+    1b48:	b7 52 aa 5a 	setvl\.  r21,r10,42,0,1,0
+    1b4c:	b7 53 aa 5a 	setvl\.  r21,r10,42,0,1,1
+    1b50:	77 52 aa 5a 	setvl\.  r21,r10,42,1,0,0
+    1b54:	77 53 aa 5a 	setvl\.  r21,r10,42,1,0,1
+    1b58:	f7 52 aa 5a 	setvl\.  r21,r10,42,1,1,0
+    1b5c:	f7 53 aa 5a 	setvl\.  r21,r10,42,1,1,1
+    1b60:	37 64 aa 5a 	setvl\.  r21,r10,51,0,0,0
+    1b64:	37 65 aa 5a 	setvl\.  r21,r10,51,0,0,1
+    1b68:	b7 64 aa 5a 	setvl\.  r21,r10,51,0,1,0
+    1b6c:	b7 65 aa 5a 	setvl\.  r21,r10,51,0,1,1
+    1b70:	77 64 aa 5a 	setvl\.  r21,r10,51,1,0,0
+    1b74:	77 65 aa 5a 	setvl\.  r21,r10,51,1,0,1
+    1b78:	f7 64 aa 5a 	setvl\.  r21,r10,51,1,1,0
+    1b7c:	f7 65 aa 5a 	setvl\.  r21,r10,51,1,1,1
+    1b80:	37 7c aa 5a 	setvl\.  r21,r10,63,0,0,0
+    1b84:	37 7d aa 5a 	setvl\.  r21,r10,63,0,0,1
+    1b88:	b7 7c aa 5a 	setvl\.  r21,r10,63,0,1,0
+    1b8c:	b7 7d aa 5a 	setvl\.  r21,r10,63,0,1,1
+    1b90:	77 7c aa 5a 	setvl\.  r21,r10,63,1,0,0
+    1b94:	77 7d aa 5a 	setvl\.  r21,r10,63,1,0,1
+    1b98:	f7 7c aa 5a 	setvl\.  r21,r10,63,1,1,0
+    1b9c:	f7 7d aa 5a 	setvl\.  r21,r10,63,1,1,1
+    1ba0:	37 3e aa 5a 	setvl\.  r21,r10,32,0,0,0
+    1ba4:	37 3f aa 5a 	setvl\.  r21,r10,32,0,0,1
+    1ba8:	b7 3e aa 5a 	setvl\.  r21,r10,32,0,1,0
+    1bac:	b7 3f aa 5a 	setvl\.  r21,r10,32,0,1,1
+    1bb0:	77 3e aa 5a 	setvl\.  r21,r10,32,1,0,0
+    1bb4:	77 3f aa 5a 	setvl\.  r21,r10,32,1,0,1
+    1bb8:	f7 3e aa 5a 	setvl\.  r21,r10,32,1,1,0
+    1bbc:	f7 3f aa 5a 	setvl\.  r21,r10,32,1,1,1
+    1bc0:	37 00 b5 5a 	setvl\.  r21,r21,1,0,0,0
+    1bc4:	37 01 b5 5a 	setvl\.  r21,r21,1,0,0,1
+    1bc8:	b7 00 b5 5a 	setvl\.  r21,r21,1,0,1,0
+    1bcc:	b7 01 b5 5a 	setvl\.  r21,r21,1,0,1,1
+    1bd0:	77 00 b5 5a 	setvl\.  r21,r21,1,1,0,0
+    1bd4:	77 01 b5 5a 	setvl\.  r21,r21,1,1,0,1
+    1bd8:	f7 00 b5 5a 	setvl\.  r21,r21,1,1,1,0
+    1bdc:	f7 01 b5 5a 	setvl\.  r21,r21,1,1,1,1
+    1be0:	37 28 b5 5a 	setvl\.  r21,r21,21,0,0,0
+    1be4:	37 29 b5 5a 	setvl\.  r21,r21,21,0,0,1
+    1be8:	b7 28 b5 5a 	setvl\.  r21,r21,21,0,1,0
+    1bec:	b7 29 b5 5a 	setvl\.  r21,r21,21,0,1,1
+    1bf0:	77 28 b5 5a 	setvl\.  r21,r21,21,1,0,0
+    1bf4:	77 29 b5 5a 	setvl\.  r21,r21,21,1,0,1
+    1bf8:	f7 28 b5 5a 	setvl\.  r21,r21,21,1,1,0
+    1bfc:	f7 29 b5 5a 	setvl\.  r21,r21,21,1,1,1
+    1c00:	37 52 b5 5a 	setvl\.  r21,r21,42,0,0,0
+    1c04:	37 53 b5 5a 	setvl\.  r21,r21,42,0,0,1
+    1c08:	b7 52 b5 5a 	setvl\.  r21,r21,42,0,1,0
+    1c0c:	b7 53 b5 5a 	setvl\.  r21,r21,42,0,1,1
+    1c10:	77 52 b5 5a 	setvl\.  r21,r21,42,1,0,0
+    1c14:	77 53 b5 5a 	setvl\.  r21,r21,42,1,0,1
+    1c18:	f7 52 b5 5a 	setvl\.  r21,r21,42,1,1,0
+    1c1c:	f7 53 b5 5a 	setvl\.  r21,r21,42,1,1,1
+    1c20:	37 64 b5 5a 	setvl\.  r21,r21,51,0,0,0
+    1c24:	37 65 b5 5a 	setvl\.  r21,r21,51,0,0,1
+    1c28:	b7 64 b5 5a 	setvl\.  r21,r21,51,0,1,0
+    1c2c:	b7 65 b5 5a 	setvl\.  r21,r21,51,0,1,1
+    1c30:	77 64 b5 5a 	setvl\.  r21,r21,51,1,0,0
+    1c34:	77 65 b5 5a 	setvl\.  r21,r21,51,1,0,1
+    1c38:	f7 64 b5 5a 	setvl\.  r21,r21,51,1,1,0
+    1c3c:	f7 65 b5 5a 	setvl\.  r21,r21,51,1,1,1
+    1c40:	37 7c b5 5a 	setvl\.  r21,r21,63,0,0,0
+    1c44:	37 7d b5 5a 	setvl\.  r21,r21,63,0,0,1
+    1c48:	b7 7c b5 5a 	setvl\.  r21,r21,63,0,1,0
+    1c4c:	b7 7d b5 5a 	setvl\.  r21,r21,63,0,1,1
+    1c50:	77 7c b5 5a 	setvl\.  r21,r21,63,1,0,0
+    1c54:	77 7d b5 5a 	setvl\.  r21,r21,63,1,0,1
+    1c58:	f7 7c b5 5a 	setvl\.  r21,r21,63,1,1,0
+    1c5c:	f7 7d b5 5a 	setvl\.  r21,r21,63,1,1,1
+    1c60:	37 3e b5 5a 	setvl\.  r21,r21,32,0,0,0
+    1c64:	37 3f b5 5a 	setvl\.  r21,r21,32,0,0,1
+    1c68:	b7 3e b5 5a 	setvl\.  r21,r21,32,0,1,0
+    1c6c:	b7 3f b5 5a 	setvl\.  r21,r21,32,0,1,1
+    1c70:	77 3e b5 5a 	setvl\.  r21,r21,32,1,0,0
+    1c74:	77 3f b5 5a 	setvl\.  r21,r21,32,1,0,1
+    1c78:	f7 3e b5 5a 	setvl\.  r21,r21,32,1,1,0
+    1c7c:	f7 3f b5 5a 	setvl\.  r21,r21,32,1,1,1
+    1c80:	37 00 bb 5a 	setvl\.  r21,r27,1,0,0,0
+    1c84:	37 01 bb 5a 	setvl\.  r21,r27,1,0,0,1
+    1c88:	b7 00 bb 5a 	setvl\.  r21,r27,1,0,1,0
+    1c8c:	b7 01 bb 5a 	setvl\.  r21,r27,1,0,1,1
+    1c90:	77 00 bb 5a 	setvl\.  r21,r27,1,1,0,0
+    1c94:	77 01 bb 5a 	setvl\.  r21,r27,1,1,0,1
+    1c98:	f7 00 bb 5a 	setvl\.  r21,r27,1,1,1,0
+    1c9c:	f7 01 bb 5a 	setvl\.  r21,r27,1,1,1,1
+    1ca0:	37 28 bb 5a 	setvl\.  r21,r27,21,0,0,0
+    1ca4:	37 29 bb 5a 	setvl\.  r21,r27,21,0,0,1
+    1ca8:	b7 28 bb 5a 	setvl\.  r21,r27,21,0,1,0
+    1cac:	b7 29 bb 5a 	setvl\.  r21,r27,21,0,1,1
+    1cb0:	77 28 bb 5a 	setvl\.  r21,r27,21,1,0,0
+    1cb4:	77 29 bb 5a 	setvl\.  r21,r27,21,1,0,1
+    1cb8:	f7 28 bb 5a 	setvl\.  r21,r27,21,1,1,0
+    1cbc:	f7 29 bb 5a 	setvl\.  r21,r27,21,1,1,1
+    1cc0:	37 52 bb 5a 	setvl\.  r21,r27,42,0,0,0
+    1cc4:	37 53 bb 5a 	setvl\.  r21,r27,42,0,0,1
+    1cc8:	b7 52 bb 5a 	setvl\.  r21,r27,42,0,1,0
+    1ccc:	b7 53 bb 5a 	setvl\.  r21,r27,42,0,1,1
+    1cd0:	77 52 bb 5a 	setvl\.  r21,r27,42,1,0,0
+    1cd4:	77 53 bb 5a 	setvl\.  r21,r27,42,1,0,1
+    1cd8:	f7 52 bb 5a 	setvl\.  r21,r27,42,1,1,0
+    1cdc:	f7 53 bb 5a 	setvl\.  r21,r27,42,1,1,1
+    1ce0:	37 64 bb 5a 	setvl\.  r21,r27,51,0,0,0
+    1ce4:	37 65 bb 5a 	setvl\.  r21,r27,51,0,0,1
+    1ce8:	b7 64 bb 5a 	setvl\.  r21,r27,51,0,1,0
+    1cec:	b7 65 bb 5a 	setvl\.  r21,r27,51,0,1,1
+    1cf0:	77 64 bb 5a 	setvl\.  r21,r27,51,1,0,0
+    1cf4:	77 65 bb 5a 	setvl\.  r21,r27,51,1,0,1
+    1cf8:	f7 64 bb 5a 	setvl\.  r21,r27,51,1,1,0
+    1cfc:	f7 65 bb 5a 	setvl\.  r21,r27,51,1,1,1
+    1d00:	37 7c bb 5a 	setvl\.  r21,r27,63,0,0,0
+    1d04:	37 7d bb 5a 	setvl\.  r21,r27,63,0,0,1
+    1d08:	b7 7c bb 5a 	setvl\.  r21,r27,63,0,1,0
+    1d0c:	b7 7d bb 5a 	setvl\.  r21,r27,63,0,1,1
+    1d10:	77 7c bb 5a 	setvl\.  r21,r27,63,1,0,0
+    1d14:	77 7d bb 5a 	setvl\.  r21,r27,63,1,0,1
+    1d18:	f7 7c bb 5a 	setvl\.  r21,r27,63,1,1,0
+    1d1c:	f7 7d bb 5a 	setvl\.  r21,r27,63,1,1,1
+    1d20:	37 3e bb 5a 	setvl\.  r21,r27,32,0,0,0
+    1d24:	37 3f bb 5a 	setvl\.  r21,r27,32,0,0,1
+    1d28:	b7 3e bb 5a 	setvl\.  r21,r27,32,0,1,0
+    1d2c:	b7 3f bb 5a 	setvl\.  r21,r27,32,0,1,1
+    1d30:	77 3e bb 5a 	setvl\.  r21,r27,32,1,0,0
+    1d34:	77 3f bb 5a 	setvl\.  r21,r27,32,1,0,1
+    1d38:	f7 3e bb 5a 	setvl\.  r21,r27,32,1,1,0
+    1d3c:	f7 3f bb 5a 	setvl\.  r21,r27,32,1,1,1
+    1d40:	37 00 bf 5a 	setvl\.  r21,r31,1,0,0,0
+    1d44:	37 01 bf 5a 	setvl\.  r21,r31,1,0,0,1
+    1d48:	b7 00 bf 5a 	setvl\.  r21,r31,1,0,1,0
+    1d4c:	b7 01 bf 5a 	setvl\.  r21,r31,1,0,1,1
+    1d50:	77 00 bf 5a 	setvl\.  r21,r31,1,1,0,0
+    1d54:	77 01 bf 5a 	setvl\.  r21,r31,1,1,0,1
+    1d58:	f7 00 bf 5a 	setvl\.  r21,r31,1,1,1,0
+    1d5c:	f7 01 bf 5a 	setvl\.  r21,r31,1,1,1,1
+    1d60:	37 28 bf 5a 	setvl\.  r21,r31,21,0,0,0
+    1d64:	37 29 bf 5a 	setvl\.  r21,r31,21,0,0,1
+    1d68:	b7 28 bf 5a 	setvl\.  r21,r31,21,0,1,0
+    1d6c:	b7 29 bf 5a 	setvl\.  r21,r31,21,0,1,1
+    1d70:	77 28 bf 5a 	setvl\.  r21,r31,21,1,0,0
+    1d74:	77 29 bf 5a 	setvl\.  r21,r31,21,1,0,1
+    1d78:	f7 28 bf 5a 	setvl\.  r21,r31,21,1,1,0
+    1d7c:	f7 29 bf 5a 	setvl\.  r21,r31,21,1,1,1
+    1d80:	37 52 bf 5a 	setvl\.  r21,r31,42,0,0,0
+    1d84:	37 53 bf 5a 	setvl\.  r21,r31,42,0,0,1
+    1d88:	b7 52 bf 5a 	setvl\.  r21,r31,42,0,1,0
+    1d8c:	b7 53 bf 5a 	setvl\.  r21,r31,42,0,1,1
+    1d90:	77 52 bf 5a 	setvl\.  r21,r31,42,1,0,0
+    1d94:	77 53 bf 5a 	setvl\.  r21,r31,42,1,0,1
+    1d98:	f7 52 bf 5a 	setvl\.  r21,r31,42,1,1,0
+    1d9c:	f7 53 bf 5a 	setvl\.  r21,r31,42,1,1,1
+    1da0:	37 64 bf 5a 	setvl\.  r21,r31,51,0,0,0
+    1da4:	37 65 bf 5a 	setvl\.  r21,r31,51,0,0,1
+    1da8:	b7 64 bf 5a 	setvl\.  r21,r31,51,0,1,0
+    1dac:	b7 65 bf 5a 	setvl\.  r21,r31,51,0,1,1
+    1db0:	77 64 bf 5a 	setvl\.  r21,r31,51,1,0,0
+    1db4:	77 65 bf 5a 	setvl\.  r21,r31,51,1,0,1
+    1db8:	f7 64 bf 5a 	setvl\.  r21,r31,51,1,1,0
+    1dbc:	f7 65 bf 5a 	setvl\.  r21,r31,51,1,1,1
+    1dc0:	37 7c bf 5a 	setvl\.  r21,r31,63,0,0,0
+    1dc4:	37 7d bf 5a 	setvl\.  r21,r31,63,0,0,1
+    1dc8:	b7 7c bf 5a 	setvl\.  r21,r31,63,0,1,0
+    1dcc:	b7 7d bf 5a 	setvl\.  r21,r31,63,0,1,1
+    1dd0:	77 7c bf 5a 	setvl\.  r21,r31,63,1,0,0
+    1dd4:	77 7d bf 5a 	setvl\.  r21,r31,63,1,0,1
+    1dd8:	f7 7c bf 5a 	setvl\.  r21,r31,63,1,1,0
+    1ddc:	f7 7d bf 5a 	setvl\.  r21,r31,63,1,1,1
+    1de0:	37 3e bf 5a 	setvl\.  r21,r31,32,0,0,0
+    1de4:	37 3f bf 5a 	setvl\.  r21,r31,32,0,0,1
+    1de8:	b7 3e bf 5a 	setvl\.  r21,r31,32,0,1,0
+    1dec:	b7 3f bf 5a 	setvl\.  r21,r31,32,0,1,1
+    1df0:	77 3e bf 5a 	setvl\.  r21,r31,32,1,0,0
+    1df4:	77 3f bf 5a 	setvl\.  r21,r31,32,1,0,1
+    1df8:	f7 3e bf 5a 	setvl\.  r21,r31,32,1,1,0
+    1dfc:	f7 3f bf 5a 	setvl\.  r21,r31,32,1,1,1
+    1e00:	37 00 60 5b 	setvl\.  r27,r0,1,0,0,0
+    1e04:	37 01 60 5b 	setvl\.  r27,r0,1,0,0,1
+    1e08:	b7 00 60 5b 	setvl\.  r27,r0,1,0,1,0
+    1e0c:	b7 01 60 5b 	setvl\.  r27,r0,1,0,1,1
+    1e10:	77 00 60 5b 	setvl\.  r27,r0,1,1,0,0
+    1e14:	77 01 60 5b 	setvl\.  r27,r0,1,1,0,1
+    1e18:	f7 00 60 5b 	setvl\.  r27,r0,1,1,1,0
+    1e1c:	f7 01 60 5b 	setvl\.  r27,r0,1,1,1,1
+    1e20:	37 28 60 5b 	setvl\.  r27,r0,21,0,0,0
+    1e24:	37 29 60 5b 	setvl\.  r27,r0,21,0,0,1
+    1e28:	b7 28 60 5b 	setvl\.  r27,r0,21,0,1,0
+    1e2c:	b7 29 60 5b 	setvl\.  r27,r0,21,0,1,1
+    1e30:	77 28 60 5b 	setvl\.  r27,r0,21,1,0,0
+    1e34:	77 29 60 5b 	setvl\.  r27,r0,21,1,0,1
+    1e38:	f7 28 60 5b 	setvl\.  r27,r0,21,1,1,0
+    1e3c:	f7 29 60 5b 	setvl\.  r27,r0,21,1,1,1
+    1e40:	37 52 60 5b 	setvl\.  r27,r0,42,0,0,0
+    1e44:	37 53 60 5b 	setvl\.  r27,r0,42,0,0,1
+    1e48:	b7 52 60 5b 	setvl\.  r27,r0,42,0,1,0
+    1e4c:	b7 53 60 5b 	setvl\.  r27,r0,42,0,1,1
+    1e50:	77 52 60 5b 	setvl\.  r27,r0,42,1,0,0
+    1e54:	77 53 60 5b 	setvl\.  r27,r0,42,1,0,1
+    1e58:	f7 52 60 5b 	setvl\.  r27,r0,42,1,1,0
+    1e5c:	f7 53 60 5b 	setvl\.  r27,r0,42,1,1,1
+    1e60:	37 64 60 5b 	setvl\.  r27,r0,51,0,0,0
+    1e64:	37 65 60 5b 	setvl\.  r27,r0,51,0,0,1
+    1e68:	b7 64 60 5b 	setvl\.  r27,r0,51,0,1,0
+    1e6c:	b7 65 60 5b 	setvl\.  r27,r0,51,0,1,1
+    1e70:	77 64 60 5b 	setvl\.  r27,r0,51,1,0,0
+    1e74:	77 65 60 5b 	setvl\.  r27,r0,51,1,0,1
+    1e78:	f7 64 60 5b 	setvl\.  r27,r0,51,1,1,0
+    1e7c:	f7 65 60 5b 	setvl\.  r27,r0,51,1,1,1
+    1e80:	37 7c 60 5b 	setvl\.  r27,r0,63,0,0,0
+    1e84:	37 7d 60 5b 	setvl\.  r27,r0,63,0,0,1
+    1e88:	b7 7c 60 5b 	setvl\.  r27,r0,63,0,1,0
+    1e8c:	b7 7d 60 5b 	setvl\.  r27,r0,63,0,1,1
+    1e90:	77 7c 60 5b 	setvl\.  r27,r0,63,1,0,0
+    1e94:	77 7d 60 5b 	setvl\.  r27,r0,63,1,0,1
+    1e98:	f7 7c 60 5b 	setvl\.  r27,r0,63,1,1,0
+    1e9c:	f7 7d 60 5b 	setvl\.  r27,r0,63,1,1,1
+    1ea0:	37 3e 60 5b 	setvl\.  r27,r0,32,0,0,0
+    1ea4:	37 3f 60 5b 	setvl\.  r27,r0,32,0,0,1
+    1ea8:	b7 3e 60 5b 	setvl\.  r27,r0,32,0,1,0
+    1eac:	b7 3f 60 5b 	setvl\.  r27,r0,32,0,1,1
+    1eb0:	77 3e 60 5b 	setvl\.  r27,r0,32,1,0,0
+    1eb4:	77 3f 60 5b 	setvl\.  r27,r0,32,1,0,1
+    1eb8:	f7 3e 60 5b 	setvl\.  r27,r0,32,1,1,0
+    1ebc:	f7 3f 60 5b 	setvl\.  r27,r0,32,1,1,1
+    1ec0:	37 00 6a 5b 	setvl\.  r27,r10,1,0,0,0
+    1ec4:	37 01 6a 5b 	setvl\.  r27,r10,1,0,0,1
+    1ec8:	b7 00 6a 5b 	setvl\.  r27,r10,1,0,1,0
+    1ecc:	b7 01 6a 5b 	setvl\.  r27,r10,1,0,1,1
+    1ed0:	77 00 6a 5b 	setvl\.  r27,r10,1,1,0,0
+    1ed4:	77 01 6a 5b 	setvl\.  r27,r10,1,1,0,1
+    1ed8:	f7 00 6a 5b 	setvl\.  r27,r10,1,1,1,0
+    1edc:	f7 01 6a 5b 	setvl\.  r27,r10,1,1,1,1
+    1ee0:	37 28 6a 5b 	setvl\.  r27,r10,21,0,0,0
+    1ee4:	37 29 6a 5b 	setvl\.  r27,r10,21,0,0,1
+    1ee8:	b7 28 6a 5b 	setvl\.  r27,r10,21,0,1,0
+    1eec:	b7 29 6a 5b 	setvl\.  r27,r10,21,0,1,1
+    1ef0:	77 28 6a 5b 	setvl\.  r27,r10,21,1,0,0
+    1ef4:	77 29 6a 5b 	setvl\.  r27,r10,21,1,0,1
+    1ef8:	f7 28 6a 5b 	setvl\.  r27,r10,21,1,1,0
+    1efc:	f7 29 6a 5b 	setvl\.  r27,r10,21,1,1,1
+    1f00:	37 52 6a 5b 	setvl\.  r27,r10,42,0,0,0
+    1f04:	37 53 6a 5b 	setvl\.  r27,r10,42,0,0,1
+    1f08:	b7 52 6a 5b 	setvl\.  r27,r10,42,0,1,0
+    1f0c:	b7 53 6a 5b 	setvl\.  r27,r10,42,0,1,1
+    1f10:	77 52 6a 5b 	setvl\.  r27,r10,42,1,0,0
+    1f14:	77 53 6a 5b 	setvl\.  r27,r10,42,1,0,1
+    1f18:	f7 52 6a 5b 	setvl\.  r27,r10,42,1,1,0
+    1f1c:	f7 53 6a 5b 	setvl\.  r27,r10,42,1,1,1
+    1f20:	37 64 6a 5b 	setvl\.  r27,r10,51,0,0,0
+    1f24:	37 65 6a 5b 	setvl\.  r27,r10,51,0,0,1
+    1f28:	b7 64 6a 5b 	setvl\.  r27,r10,51,0,1,0
+    1f2c:	b7 65 6a 5b 	setvl\.  r27,r10,51,0,1,1
+    1f30:	77 64 6a 5b 	setvl\.  r27,r10,51,1,0,0
+    1f34:	77 65 6a 5b 	setvl\.  r27,r10,51,1,0,1
+    1f38:	f7 64 6a 5b 	setvl\.  r27,r10,51,1,1,0
+    1f3c:	f7 65 6a 5b 	setvl\.  r27,r10,51,1,1,1
+    1f40:	37 7c 6a 5b 	setvl\.  r27,r10,63,0,0,0
+    1f44:	37 7d 6a 5b 	setvl\.  r27,r10,63,0,0,1
+    1f48:	b7 7c 6a 5b 	setvl\.  r27,r10,63,0,1,0
+    1f4c:	b7 7d 6a 5b 	setvl\.  r27,r10,63,0,1,1
+    1f50:	77 7c 6a 5b 	setvl\.  r27,r10,63,1,0,0
+    1f54:	77 7d 6a 5b 	setvl\.  r27,r10,63,1,0,1
+    1f58:	f7 7c 6a 5b 	setvl\.  r27,r10,63,1,1,0
+    1f5c:	f7 7d 6a 5b 	setvl\.  r27,r10,63,1,1,1
+    1f60:	37 3e 6a 5b 	setvl\.  r27,r10,32,0,0,0
+    1f64:	37 3f 6a 5b 	setvl\.  r27,r10,32,0,0,1
+    1f68:	b7 3e 6a 5b 	setvl\.  r27,r10,32,0,1,0
+    1f6c:	b7 3f 6a 5b 	setvl\.  r27,r10,32,0,1,1
+    1f70:	77 3e 6a 5b 	setvl\.  r27,r10,32,1,0,0
+    1f74:	77 3f 6a 5b 	setvl\.  r27,r10,32,1,0,1
+    1f78:	f7 3e 6a 5b 	setvl\.  r27,r10,32,1,1,0
+    1f7c:	f7 3f 6a 5b 	setvl\.  r27,r10,32,1,1,1
+    1f80:	37 00 75 5b 	setvl\.  r27,r21,1,0,0,0
+    1f84:	37 01 75 5b 	setvl\.  r27,r21,1,0,0,1
+    1f88:	b7 00 75 5b 	setvl\.  r27,r21,1,0,1,0
+    1f8c:	b7 01 75 5b 	setvl\.  r27,r21,1,0,1,1
+    1f90:	77 00 75 5b 	setvl\.  r27,r21,1,1,0,0
+    1f94:	77 01 75 5b 	setvl\.  r27,r21,1,1,0,1
+    1f98:	f7 00 75 5b 	setvl\.  r27,r21,1,1,1,0
+    1f9c:	f7 01 75 5b 	setvl\.  r27,r21,1,1,1,1
+    1fa0:	37 28 75 5b 	setvl\.  r27,r21,21,0,0,0
+    1fa4:	37 29 75 5b 	setvl\.  r27,r21,21,0,0,1
+    1fa8:	b7 28 75 5b 	setvl\.  r27,r21,21,0,1,0
+    1fac:	b7 29 75 5b 	setvl\.  r27,r21,21,0,1,1
+    1fb0:	77 28 75 5b 	setvl\.  r27,r21,21,1,0,0
+    1fb4:	77 29 75 5b 	setvl\.  r27,r21,21,1,0,1
+    1fb8:	f7 28 75 5b 	setvl\.  r27,r21,21,1,1,0
+    1fbc:	f7 29 75 5b 	setvl\.  r27,r21,21,1,1,1
+    1fc0:	37 52 75 5b 	setvl\.  r27,r21,42,0,0,0
+    1fc4:	37 53 75 5b 	setvl\.  r27,r21,42,0,0,1
+    1fc8:	b7 52 75 5b 	setvl\.  r27,r21,42,0,1,0
+    1fcc:	b7 53 75 5b 	setvl\.  r27,r21,42,0,1,1
+    1fd0:	77 52 75 5b 	setvl\.  r27,r21,42,1,0,0
+    1fd4:	77 53 75 5b 	setvl\.  r27,r21,42,1,0,1
+    1fd8:	f7 52 75 5b 	setvl\.  r27,r21,42,1,1,0
+    1fdc:	f7 53 75 5b 	setvl\.  r27,r21,42,1,1,1
+    1fe0:	37 64 75 5b 	setvl\.  r27,r21,51,0,0,0
+    1fe4:	37 65 75 5b 	setvl\.  r27,r21,51,0,0,1
+    1fe8:	b7 64 75 5b 	setvl\.  r27,r21,51,0,1,0
+    1fec:	b7 65 75 5b 	setvl\.  r27,r21,51,0,1,1
+    1ff0:	77 64 75 5b 	setvl\.  r27,r21,51,1,0,0
+    1ff4:	77 65 75 5b 	setvl\.  r27,r21,51,1,0,1
+    1ff8:	f7 64 75 5b 	setvl\.  r27,r21,51,1,1,0
+    1ffc:	f7 65 75 5b 	setvl\.  r27,r21,51,1,1,1
+    2000:	37 7c 75 5b 	setvl\.  r27,r21,63,0,0,0
+    2004:	37 7d 75 5b 	setvl\.  r27,r21,63,0,0,1
+    2008:	b7 7c 75 5b 	setvl\.  r27,r21,63,0,1,0
+    200c:	b7 7d 75 5b 	setvl\.  r27,r21,63,0,1,1
+    2010:	77 7c 75 5b 	setvl\.  r27,r21,63,1,0,0
+    2014:	77 7d 75 5b 	setvl\.  r27,r21,63,1,0,1
+    2018:	f7 7c 75 5b 	setvl\.  r27,r21,63,1,1,0
+    201c:	f7 7d 75 5b 	setvl\.  r27,r21,63,1,1,1
+    2020:	37 3e 75 5b 	setvl\.  r27,r21,32,0,0,0
+    2024:	37 3f 75 5b 	setvl\.  r27,r21,32,0,0,1
+    2028:	b7 3e 75 5b 	setvl\.  r27,r21,32,0,1,0
+    202c:	b7 3f 75 5b 	setvl\.  r27,r21,32,0,1,1
+    2030:	77 3e 75 5b 	setvl\.  r27,r21,32,1,0,0
+    2034:	77 3f 75 5b 	setvl\.  r27,r21,32,1,0,1
+    2038:	f7 3e 75 5b 	setvl\.  r27,r21,32,1,1,0
+    203c:	f7 3f 75 5b 	setvl\.  r27,r21,32,1,1,1
+    2040:	37 00 7b 5b 	setvl\.  r27,r27,1,0,0,0
+    2044:	37 01 7b 5b 	setvl\.  r27,r27,1,0,0,1
+    2048:	b7 00 7b 5b 	setvl\.  r27,r27,1,0,1,0
+    204c:	b7 01 7b 5b 	setvl\.  r27,r27,1,0,1,1
+    2050:	77 00 7b 5b 	setvl\.  r27,r27,1,1,0,0
+    2054:	77 01 7b 5b 	setvl\.  r27,r27,1,1,0,1
+    2058:	f7 00 7b 5b 	setvl\.  r27,r27,1,1,1,0
+    205c:	f7 01 7b 5b 	setvl\.  r27,r27,1,1,1,1
+    2060:	37 28 7b 5b 	setvl\.  r27,r27,21,0,0,0
+    2064:	37 29 7b 5b 	setvl\.  r27,r27,21,0,0,1
+    2068:	b7 28 7b 5b 	setvl\.  r27,r27,21,0,1,0
+    206c:	b7 29 7b 5b 	setvl\.  r27,r27,21,0,1,1
+    2070:	77 28 7b 5b 	setvl\.  r27,r27,21,1,0,0
+    2074:	77 29 7b 5b 	setvl\.  r27,r27,21,1,0,1
+    2078:	f7 28 7b 5b 	setvl\.  r27,r27,21,1,1,0
+    207c:	f7 29 7b 5b 	setvl\.  r27,r27,21,1,1,1
+    2080:	37 52 7b 5b 	setvl\.  r27,r27,42,0,0,0
+    2084:	37 53 7b 5b 	setvl\.  r27,r27,42,0,0,1
+    2088:	b7 52 7b 5b 	setvl\.  r27,r27,42,0,1,0
+    208c:	b7 53 7b 5b 	setvl\.  r27,r27,42,0,1,1
+    2090:	77 52 7b 5b 	setvl\.  r27,r27,42,1,0,0
+    2094:	77 53 7b 5b 	setvl\.  r27,r27,42,1,0,1
+    2098:	f7 52 7b 5b 	setvl\.  r27,r27,42,1,1,0
+    209c:	f7 53 7b 5b 	setvl\.  r27,r27,42,1,1,1
+    20a0:	37 64 7b 5b 	setvl\.  r27,r27,51,0,0,0
+    20a4:	37 65 7b 5b 	setvl\.  r27,r27,51,0,0,1
+    20a8:	b7 64 7b 5b 	setvl\.  r27,r27,51,0,1,0
+    20ac:	b7 65 7b 5b 	setvl\.  r27,r27,51,0,1,1
+    20b0:	77 64 7b 5b 	setvl\.  r27,r27,51,1,0,0
+    20b4:	77 65 7b 5b 	setvl\.  r27,r27,51,1,0,1
+    20b8:	f7 64 7b 5b 	setvl\.  r27,r27,51,1,1,0
+    20bc:	f7 65 7b 5b 	setvl\.  r27,r27,51,1,1,1
+    20c0:	37 7c 7b 5b 	setvl\.  r27,r27,63,0,0,0
+    20c4:	37 7d 7b 5b 	setvl\.  r27,r27,63,0,0,1
+    20c8:	b7 7c 7b 5b 	setvl\.  r27,r27,63,0,1,0
+    20cc:	b7 7d 7b 5b 	setvl\.  r27,r27,63,0,1,1
+    20d0:	77 7c 7b 5b 	setvl\.  r27,r27,63,1,0,0
+    20d4:	77 7d 7b 5b 	setvl\.  r27,r27,63,1,0,1
+    20d8:	f7 7c 7b 5b 	setvl\.  r27,r27,63,1,1,0
+    20dc:	f7 7d 7b 5b 	setvl\.  r27,r27,63,1,1,1
+    20e0:	37 3e 7b 5b 	setvl\.  r27,r27,32,0,0,0
+    20e4:	37 3f 7b 5b 	setvl\.  r27,r27,32,0,0,1
+    20e8:	b7 3e 7b 5b 	setvl\.  r27,r27,32,0,1,0
+    20ec:	b7 3f 7b 5b 	setvl\.  r27,r27,32,0,1,1
+    20f0:	77 3e 7b 5b 	setvl\.  r27,r27,32,1,0,0
+    20f4:	77 3f 7b 5b 	setvl\.  r27,r27,32,1,0,1
+    20f8:	f7 3e 7b 5b 	setvl\.  r27,r27,32,1,1,0
+    20fc:	f7 3f 7b 5b 	setvl\.  r27,r27,32,1,1,1
+    2100:	37 00 7f 5b 	setvl\.  r27,r31,1,0,0,0
+    2104:	37 01 7f 5b 	setvl\.  r27,r31,1,0,0,1
+    2108:	b7 00 7f 5b 	setvl\.  r27,r31,1,0,1,0
+    210c:	b7 01 7f 5b 	setvl\.  r27,r31,1,0,1,1
+    2110:	77 00 7f 5b 	setvl\.  r27,r31,1,1,0,0
+    2114:	77 01 7f 5b 	setvl\.  r27,r31,1,1,0,1
+    2118:	f7 00 7f 5b 	setvl\.  r27,r31,1,1,1,0
+    211c:	f7 01 7f 5b 	setvl\.  r27,r31,1,1,1,1
+    2120:	37 28 7f 5b 	setvl\.  r27,r31,21,0,0,0
+    2124:	37 29 7f 5b 	setvl\.  r27,r31,21,0,0,1
+    2128:	b7 28 7f 5b 	setvl\.  r27,r31,21,0,1,0
+    212c:	b7 29 7f 5b 	setvl\.  r27,r31,21,0,1,1
+    2130:	77 28 7f 5b 	setvl\.  r27,r31,21,1,0,0
+    2134:	77 29 7f 5b 	setvl\.  r27,r31,21,1,0,1
+    2138:	f7 28 7f 5b 	setvl\.  r27,r31,21,1,1,0
+    213c:	f7 29 7f 5b 	setvl\.  r27,r31,21,1,1,1
+    2140:	37 52 7f 5b 	setvl\.  r27,r31,42,0,0,0
+    2144:	37 53 7f 5b 	setvl\.  r27,r31,42,0,0,1
+    2148:	b7 52 7f 5b 	setvl\.  r27,r31,42,0,1,0
+    214c:	b7 53 7f 5b 	setvl\.  r27,r31,42,0,1,1
+    2150:	77 52 7f 5b 	setvl\.  r27,r31,42,1,0,0
+    2154:	77 53 7f 5b 	setvl\.  r27,r31,42,1,0,1
+    2158:	f7 52 7f 5b 	setvl\.  r27,r31,42,1,1,0
+    215c:	f7 53 7f 5b 	setvl\.  r27,r31,42,1,1,1
+    2160:	37 64 7f 5b 	setvl\.  r27,r31,51,0,0,0
+    2164:	37 65 7f 5b 	setvl\.  r27,r31,51,0,0,1
+    2168:	b7 64 7f 5b 	setvl\.  r27,r31,51,0,1,0
+    216c:	b7 65 7f 5b 	setvl\.  r27,r31,51,0,1,1
+    2170:	77 64 7f 5b 	setvl\.  r27,r31,51,1,0,0
+    2174:	77 65 7f 5b 	setvl\.  r27,r31,51,1,0,1
+    2178:	f7 64 7f 5b 	setvl\.  r27,r31,51,1,1,0
+    217c:	f7 65 7f 5b 	setvl\.  r27,r31,51,1,1,1
+    2180:	37 7c 7f 5b 	setvl\.  r27,r31,63,0,0,0
+    2184:	37 7d 7f 5b 	setvl\.  r27,r31,63,0,0,1
+    2188:	b7 7c 7f 5b 	setvl\.  r27,r31,63,0,1,0
+    218c:	b7 7d 7f 5b 	setvl\.  r27,r31,63,0,1,1
+    2190:	77 7c 7f 5b 	setvl\.  r27,r31,63,1,0,0
+    2194:	77 7d 7f 5b 	setvl\.  r27,r31,63,1,0,1
+    2198:	f7 7c 7f 5b 	setvl\.  r27,r31,63,1,1,0
+    219c:	f7 7d 7f 5b 	setvl\.  r27,r31,63,1,1,1
+    21a0:	37 3e 7f 5b 	setvl\.  r27,r31,32,0,0,0
+    21a4:	37 3f 7f 5b 	setvl\.  r27,r31,32,0,0,1
+    21a8:	b7 3e 7f 5b 	setvl\.  r27,r31,32,0,1,0
+    21ac:	b7 3f 7f 5b 	setvl\.  r27,r31,32,0,1,1
+    21b0:	77 3e 7f 5b 	setvl\.  r27,r31,32,1,0,0
+    21b4:	77 3f 7f 5b 	setvl\.  r27,r31,32,1,0,1
+    21b8:	f7 3e 7f 5b 	setvl\.  r27,r31,32,1,1,0
+    21bc:	f7 3f 7f 5b 	setvl\.  r27,r31,32,1,1,1
+    21c0:	37 00 e0 5b 	setvl\.  r31,r0,1,0,0,0
+    21c4:	37 01 e0 5b 	setvl\.  r31,r0,1,0,0,1
+    21c8:	b7 00 e0 5b 	setvl\.  r31,r0,1,0,1,0
+    21cc:	b7 01 e0 5b 	setvl\.  r31,r0,1,0,1,1
+    21d0:	77 00 e0 5b 	setvl\.  r31,r0,1,1,0,0
+    21d4:	77 01 e0 5b 	setvl\.  r31,r0,1,1,0,1
+    21d8:	f7 00 e0 5b 	setvl\.  r31,r0,1,1,1,0
+    21dc:	f7 01 e0 5b 	setvl\.  r31,r0,1,1,1,1
+    21e0:	37 28 e0 5b 	setvl\.  r31,r0,21,0,0,0
+    21e4:	37 29 e0 5b 	setvl\.  r31,r0,21,0,0,1
+    21e8:	b7 28 e0 5b 	setvl\.  r31,r0,21,0,1,0
+    21ec:	b7 29 e0 5b 	setvl\.  r31,r0,21,0,1,1
+    21f0:	77 28 e0 5b 	setvl\.  r31,r0,21,1,0,0
+    21f4:	77 29 e0 5b 	setvl\.  r31,r0,21,1,0,1
+    21f8:	f7 28 e0 5b 	setvl\.  r31,r0,21,1,1,0
+    21fc:	f7 29 e0 5b 	setvl\.  r31,r0,21,1,1,1
+    2200:	37 52 e0 5b 	setvl\.  r31,r0,42,0,0,0
+    2204:	37 53 e0 5b 	setvl\.  r31,r0,42,0,0,1
+    2208:	b7 52 e0 5b 	setvl\.  r31,r0,42,0,1,0
+    220c:	b7 53 e0 5b 	setvl\.  r31,r0,42,0,1,1
+    2210:	77 52 e0 5b 	setvl\.  r31,r0,42,1,0,0
+    2214:	77 53 e0 5b 	setvl\.  r31,r0,42,1,0,1
+    2218:	f7 52 e0 5b 	setvl\.  r31,r0,42,1,1,0
+    221c:	f7 53 e0 5b 	setvl\.  r31,r0,42,1,1,1
+    2220:	37 64 e0 5b 	setvl\.  r31,r0,51,0,0,0
+    2224:	37 65 e0 5b 	setvl\.  r31,r0,51,0,0,1
+    2228:	b7 64 e0 5b 	setvl\.  r31,r0,51,0,1,0
+    222c:	b7 65 e0 5b 	setvl\.  r31,r0,51,0,1,1
+    2230:	77 64 e0 5b 	setvl\.  r31,r0,51,1,0,0
+    2234:	77 65 e0 5b 	setvl\.  r31,r0,51,1,0,1
+    2238:	f7 64 e0 5b 	setvl\.  r31,r0,51,1,1,0
+    223c:	f7 65 e0 5b 	setvl\.  r31,r0,51,1,1,1
+    2240:	37 7c e0 5b 	setvl\.  r31,r0,63,0,0,0
+    2244:	37 7d e0 5b 	setvl\.  r31,r0,63,0,0,1
+    2248:	b7 7c e0 5b 	setvl\.  r31,r0,63,0,1,0
+    224c:	b7 7d e0 5b 	setvl\.  r31,r0,63,0,1,1
+    2250:	77 7c e0 5b 	setvl\.  r31,r0,63,1,0,0
+    2254:	77 7d e0 5b 	setvl\.  r31,r0,63,1,0,1
+    2258:	f7 7c e0 5b 	setvl\.  r31,r0,63,1,1,0
+    225c:	f7 7d e0 5b 	setvl\.  r31,r0,63,1,1,1
+    2260:	37 3e e0 5b 	setvl\.  r31,r0,32,0,0,0
+    2264:	37 3f e0 5b 	setvl\.  r31,r0,32,0,0,1
+    2268:	b7 3e e0 5b 	setvl\.  r31,r0,32,0,1,0
+    226c:	b7 3f e0 5b 	setvl\.  r31,r0,32,0,1,1
+    2270:	77 3e e0 5b 	setvl\.  r31,r0,32,1,0,0
+    2274:	77 3f e0 5b 	setvl\.  r31,r0,32,1,0,1
+    2278:	f7 3e e0 5b 	setvl\.  r31,r0,32,1,1,0
+    227c:	f7 3f e0 5b 	setvl\.  r31,r0,32,1,1,1
+    2280:	37 00 ea 5b 	setvl\.  r31,r10,1,0,0,0
+    2284:	37 01 ea 5b 	setvl\.  r31,r10,1,0,0,1
+    2288:	b7 00 ea 5b 	setvl\.  r31,r10,1,0,1,0
+    228c:	b7 01 ea 5b 	setvl\.  r31,r10,1,0,1,1
+    2290:	77 00 ea 5b 	setvl\.  r31,r10,1,1,0,0
+    2294:	77 01 ea 5b 	setvl\.  r31,r10,1,1,0,1
+    2298:	f7 00 ea 5b 	setvl\.  r31,r10,1,1,1,0
+    229c:	f7 01 ea 5b 	setvl\.  r31,r10,1,1,1,1
+    22a0:	37 28 ea 5b 	setvl\.  r31,r10,21,0,0,0
+    22a4:	37 29 ea 5b 	setvl\.  r31,r10,21,0,0,1
+    22a8:	b7 28 ea 5b 	setvl\.  r31,r10,21,0,1,0
+    22ac:	b7 29 ea 5b 	setvl\.  r31,r10,21,0,1,1
+    22b0:	77 28 ea 5b 	setvl\.  r31,r10,21,1,0,0
+    22b4:	77 29 ea 5b 	setvl\.  r31,r10,21,1,0,1
+    22b8:	f7 28 ea 5b 	setvl\.  r31,r10,21,1,1,0
+    22bc:	f7 29 ea 5b 	setvl\.  r31,r10,21,1,1,1
+    22c0:	37 52 ea 5b 	setvl\.  r31,r10,42,0,0,0
+    22c4:	37 53 ea 5b 	setvl\.  r31,r10,42,0,0,1
+    22c8:	b7 52 ea 5b 	setvl\.  r31,r10,42,0,1,0
+    22cc:	b7 53 ea 5b 	setvl\.  r31,r10,42,0,1,1
+    22d0:	77 52 ea 5b 	setvl\.  r31,r10,42,1,0,0
+    22d4:	77 53 ea 5b 	setvl\.  r31,r10,42,1,0,1
+    22d8:	f7 52 ea 5b 	setvl\.  r31,r10,42,1,1,0
+    22dc:	f7 53 ea 5b 	setvl\.  r31,r10,42,1,1,1
+    22e0:	37 64 ea 5b 	setvl\.  r31,r10,51,0,0,0
+    22e4:	37 65 ea 5b 	setvl\.  r31,r10,51,0,0,1
+    22e8:	b7 64 ea 5b 	setvl\.  r31,r10,51,0,1,0
+    22ec:	b7 65 ea 5b 	setvl\.  r31,r10,51,0,1,1
+    22f0:	77 64 ea 5b 	setvl\.  r31,r10,51,1,0,0
+    22f4:	77 65 ea 5b 	setvl\.  r31,r10,51,1,0,1
+    22f8:	f7 64 ea 5b 	setvl\.  r31,r10,51,1,1,0
+    22fc:	f7 65 ea 5b 	setvl\.  r31,r10,51,1,1,1
+    2300:	37 7c ea 5b 	setvl\.  r31,r10,63,0,0,0
+    2304:	37 7d ea 5b 	setvl\.  r31,r10,63,0,0,1
+    2308:	b7 7c ea 5b 	setvl\.  r31,r10,63,0,1,0
+    230c:	b7 7d ea 5b 	setvl\.  r31,r10,63,0,1,1
+    2310:	77 7c ea 5b 	setvl\.  r31,r10,63,1,0,0
+    2314:	77 7d ea 5b 	setvl\.  r31,r10,63,1,0,1
+    2318:	f7 7c ea 5b 	setvl\.  r31,r10,63,1,1,0
+    231c:	f7 7d ea 5b 	setvl\.  r31,r10,63,1,1,1
+    2320:	37 3e ea 5b 	setvl\.  r31,r10,32,0,0,0
+    2324:	37 3f ea 5b 	setvl\.  r31,r10,32,0,0,1
+    2328:	b7 3e ea 5b 	setvl\.  r31,r10,32,0,1,0
+    232c:	b7 3f ea 5b 	setvl\.  r31,r10,32,0,1,1
+    2330:	77 3e ea 5b 	setvl\.  r31,r10,32,1,0,0
+    2334:	77 3f ea 5b 	setvl\.  r31,r10,32,1,0,1
+    2338:	f7 3e ea 5b 	setvl\.  r31,r10,32,1,1,0
+    233c:	f7 3f ea 5b 	setvl\.  r31,r10,32,1,1,1
+    2340:	37 00 f5 5b 	setvl\.  r31,r21,1,0,0,0
+    2344:	37 01 f5 5b 	setvl\.  r31,r21,1,0,0,1
+    2348:	b7 00 f5 5b 	setvl\.  r31,r21,1,0,1,0
+    234c:	b7 01 f5 5b 	setvl\.  r31,r21,1,0,1,1
+    2350:	77 00 f5 5b 	setvl\.  r31,r21,1,1,0,0
+    2354:	77 01 f5 5b 	setvl\.  r31,r21,1,1,0,1
+    2358:	f7 00 f5 5b 	setvl\.  r31,r21,1,1,1,0
+    235c:	f7 01 f5 5b 	setvl\.  r31,r21,1,1,1,1
+    2360:	37 28 f5 5b 	setvl\.  r31,r21,21,0,0,0
+    2364:	37 29 f5 5b 	setvl\.  r31,r21,21,0,0,1
+    2368:	b7 28 f5 5b 	setvl\.  r31,r21,21,0,1,0
+    236c:	b7 29 f5 5b 	setvl\.  r31,r21,21,0,1,1
+    2370:	77 28 f5 5b 	setvl\.  r31,r21,21,1,0,0
+    2374:	77 29 f5 5b 	setvl\.  r31,r21,21,1,0,1
+    2378:	f7 28 f5 5b 	setvl\.  r31,r21,21,1,1,0
+    237c:	f7 29 f5 5b 	setvl\.  r31,r21,21,1,1,1
+    2380:	37 52 f5 5b 	setvl\.  r31,r21,42,0,0,0
+    2384:	37 53 f5 5b 	setvl\.  r31,r21,42,0,0,1
+    2388:	b7 52 f5 5b 	setvl\.  r31,r21,42,0,1,0
+    238c:	b7 53 f5 5b 	setvl\.  r31,r21,42,0,1,1
+    2390:	77 52 f5 5b 	setvl\.  r31,r21,42,1,0,0
+    2394:	77 53 f5 5b 	setvl\.  r31,r21,42,1,0,1
+    2398:	f7 52 f5 5b 	setvl\.  r31,r21,42,1,1,0
+    239c:	f7 53 f5 5b 	setvl\.  r31,r21,42,1,1,1
+    23a0:	37 64 f5 5b 	setvl\.  r31,r21,51,0,0,0
+    23a4:	37 65 f5 5b 	setvl\.  r31,r21,51,0,0,1
+    23a8:	b7 64 f5 5b 	setvl\.  r31,r21,51,0,1,0
+    23ac:	b7 65 f5 5b 	setvl\.  r31,r21,51,0,1,1
+    23b0:	77 64 f5 5b 	setvl\.  r31,r21,51,1,0,0
+    23b4:	77 65 f5 5b 	setvl\.  r31,r21,51,1,0,1
+    23b8:	f7 64 f5 5b 	setvl\.  r31,r21,51,1,1,0
+    23bc:	f7 65 f5 5b 	setvl\.  r31,r21,51,1,1,1
+    23c0:	37 7c f5 5b 	setvl\.  r31,r21,63,0,0,0
+    23c4:	37 7d f5 5b 	setvl\.  r31,r21,63,0,0,1
+    23c8:	b7 7c f5 5b 	setvl\.  r31,r21,63,0,1,0
+    23cc:	b7 7d f5 5b 	setvl\.  r31,r21,63,0,1,1
+    23d0:	77 7c f5 5b 	setvl\.  r31,r21,63,1,0,0
+    23d4:	77 7d f5 5b 	setvl\.  r31,r21,63,1,0,1
+    23d8:	f7 7c f5 5b 	setvl\.  r31,r21,63,1,1,0
+    23dc:	f7 7d f5 5b 	setvl\.  r31,r21,63,1,1,1
+    23e0:	37 3e f5 5b 	setvl\.  r31,r21,32,0,0,0
+    23e4:	37 3f f5 5b 	setvl\.  r31,r21,32,0,0,1
+    23e8:	b7 3e f5 5b 	setvl\.  r31,r21,32,0,1,0
+    23ec:	b7 3f f5 5b 	setvl\.  r31,r21,32,0,1,1
+    23f0:	77 3e f5 5b 	setvl\.  r31,r21,32,1,0,0
+    23f4:	77 3f f5 5b 	setvl\.  r31,r21,32,1,0,1
+    23f8:	f7 3e f5 5b 	setvl\.  r31,r21,32,1,1,0
+    23fc:	f7 3f f5 5b 	setvl\.  r31,r21,32,1,1,1
+    2400:	37 00 fb 5b 	setvl\.  r31,r27,1,0,0,0
+    2404:	37 01 fb 5b 	setvl\.  r31,r27,1,0,0,1
+    2408:	b7 00 fb 5b 	setvl\.  r31,r27,1,0,1,0
+    240c:	b7 01 fb 5b 	setvl\.  r31,r27,1,0,1,1
+    2410:	77 00 fb 5b 	setvl\.  r31,r27,1,1,0,0
+    2414:	77 01 fb 5b 	setvl\.  r31,r27,1,1,0,1
+    2418:	f7 00 fb 5b 	setvl\.  r31,r27,1,1,1,0
+    241c:	f7 01 fb 5b 	setvl\.  r31,r27,1,1,1,1
+    2420:	37 28 fb 5b 	setvl\.  r31,r27,21,0,0,0
+    2424:	37 29 fb 5b 	setvl\.  r31,r27,21,0,0,1
+    2428:	b7 28 fb 5b 	setvl\.  r31,r27,21,0,1,0
+    242c:	b7 29 fb 5b 	setvl\.  r31,r27,21,0,1,1
+    2430:	77 28 fb 5b 	setvl\.  r31,r27,21,1,0,0
+    2434:	77 29 fb 5b 	setvl\.  r31,r27,21,1,0,1
+    2438:	f7 28 fb 5b 	setvl\.  r31,r27,21,1,1,0
+    243c:	f7 29 fb 5b 	setvl\.  r31,r27,21,1,1,1
+    2440:	37 52 fb 5b 	setvl\.  r31,r27,42,0,0,0
+    2444:	37 53 fb 5b 	setvl\.  r31,r27,42,0,0,1
+    2448:	b7 52 fb 5b 	setvl\.  r31,r27,42,0,1,0
+    244c:	b7 53 fb 5b 	setvl\.  r31,r27,42,0,1,1
+    2450:	77 52 fb 5b 	setvl\.  r31,r27,42,1,0,0
+    2454:	77 53 fb 5b 	setvl\.  r31,r27,42,1,0,1
+    2458:	f7 52 fb 5b 	setvl\.  r31,r27,42,1,1,0
+    245c:	f7 53 fb 5b 	setvl\.  r31,r27,42,1,1,1
+    2460:	37 64 fb 5b 	setvl\.  r31,r27,51,0,0,0
+    2464:	37 65 fb 5b 	setvl\.  r31,r27,51,0,0,1
+    2468:	b7 64 fb 5b 	setvl\.  r31,r27,51,0,1,0
+    246c:	b7 65 fb 5b 	setvl\.  r31,r27,51,0,1,1
+    2470:	77 64 fb 5b 	setvl\.  r31,r27,51,1,0,0
+    2474:	77 65 fb 5b 	setvl\.  r31,r27,51,1,0,1
+    2478:	f7 64 fb 5b 	setvl\.  r31,r27,51,1,1,0
+    247c:	f7 65 fb 5b 	setvl\.  r31,r27,51,1,1,1
+    2480:	37 7c fb 5b 	setvl\.  r31,r27,63,0,0,0
+    2484:	37 7d fb 5b 	setvl\.  r31,r27,63,0,0,1
+    2488:	b7 7c fb 5b 	setvl\.  r31,r27,63,0,1,0
+    248c:	b7 7d fb 5b 	setvl\.  r31,r27,63,0,1,1
+    2490:	77 7c fb 5b 	setvl\.  r31,r27,63,1,0,0
+    2494:	77 7d fb 5b 	setvl\.  r31,r27,63,1,0,1
+    2498:	f7 7c fb 5b 	setvl\.  r31,r27,63,1,1,0
+    249c:	f7 7d fb 5b 	setvl\.  r31,r27,63,1,1,1
+    24a0:	37 3e fb 5b 	setvl\.  r31,r27,32,0,0,0
+    24a4:	37 3f fb 5b 	setvl\.  r31,r27,32,0,0,1
+    24a8:	b7 3e fb 5b 	setvl\.  r31,r27,32,0,1,0
+    24ac:	b7 3f fb 5b 	setvl\.  r31,r27,32,0,1,1
+    24b0:	77 3e fb 5b 	setvl\.  r31,r27,32,1,0,0
+    24b4:	77 3f fb 5b 	setvl\.  r31,r27,32,1,0,1
+    24b8:	f7 3e fb 5b 	setvl\.  r31,r27,32,1,1,0
+    24bc:	f7 3f fb 5b 	setvl\.  r31,r27,32,1,1,1
+    24c0:	37 00 ff 5b 	setvl\.  r31,r31,1,0,0,0
+    24c4:	37 01 ff 5b 	setvl\.  r31,r31,1,0,0,1
+    24c8:	b7 00 ff 5b 	setvl\.  r31,r31,1,0,1,0
+    24cc:	b7 01 ff 5b 	setvl\.  r31,r31,1,0,1,1
+    24d0:	77 00 ff 5b 	setvl\.  r31,r31,1,1,0,0
+    24d4:	77 01 ff 5b 	setvl\.  r31,r31,1,1,0,1
+    24d8:	f7 00 ff 5b 	setvl\.  r31,r31,1,1,1,0
+    24dc:	f7 01 ff 5b 	setvl\.  r31,r31,1,1,1,1
+    24e0:	37 28 ff 5b 	setvl\.  r31,r31,21,0,0,0
+    24e4:	37 29 ff 5b 	setvl\.  r31,r31,21,0,0,1
+    24e8:	b7 28 ff 5b 	setvl\.  r31,r31,21,0,1,0
+    24ec:	b7 29 ff 5b 	setvl\.  r31,r31,21,0,1,1
+    24f0:	77 28 ff 5b 	setvl\.  r31,r31,21,1,0,0
+    24f4:	77 29 ff 5b 	setvl\.  r31,r31,21,1,0,1
+    24f8:	f7 28 ff 5b 	setvl\.  r31,r31,21,1,1,0
+    24fc:	f7 29 ff 5b 	setvl\.  r31,r31,21,1,1,1
+    2500:	37 52 ff 5b 	setvl\.  r31,r31,42,0,0,0
+    2504:	37 53 ff 5b 	setvl\.  r31,r31,42,0,0,1
+    2508:	b7 52 ff 5b 	setvl\.  r31,r31,42,0,1,0
+    250c:	b7 53 ff 5b 	setvl\.  r31,r31,42,0,1,1
+    2510:	77 52 ff 5b 	setvl\.  r31,r31,42,1,0,0
+    2514:	77 53 ff 5b 	setvl\.  r31,r31,42,1,0,1
+    2518:	f7 52 ff 5b 	setvl\.  r31,r31,42,1,1,0
+    251c:	f7 53 ff 5b 	setvl\.  r31,r31,42,1,1,1
+    2520:	37 64 ff 5b 	setvl\.  r31,r31,51,0,0,0
+    2524:	37 65 ff 5b 	setvl\.  r31,r31,51,0,0,1
+    2528:	b7 64 ff 5b 	setvl\.  r31,r31,51,0,1,0
+    252c:	b7 65 ff 5b 	setvl\.  r31,r31,51,0,1,1
+    2530:	77 64 ff 5b 	setvl\.  r31,r31,51,1,0,0
+    2534:	77 65 ff 5b 	setvl\.  r31,r31,51,1,0,1
+    2538:	f7 64 ff 5b 	setvl\.  r31,r31,51,1,1,0
+    253c:	f7 65 ff 5b 	setvl\.  r31,r31,51,1,1,1
+    2540:	37 7c ff 5b 	setvl\.  r31,r31,63,0,0,0
+    2544:	37 7d ff 5b 	setvl\.  r31,r31,63,0,0,1
+    2548:	b7 7c ff 5b 	setvl\.  r31,r31,63,0,1,0
+    254c:	b7 7d ff 5b 	setvl\.  r31,r31,63,0,1,1
+    2550:	77 7c ff 5b 	setvl\.  r31,r31,63,1,0,0
+    2554:	77 7d ff 5b 	setvl\.  r31,r31,63,1,0,1
+    2558:	f7 7c ff 5b 	setvl\.  r31,r31,63,1,1,0
+    255c:	f7 7d ff 5b 	setvl\.  r31,r31,63,1,1,1
+    2560:	37 3e ff 5b 	setvl\.  r31,r31,32,0,0,0
+    2564:	37 3f ff 5b 	setvl\.  r31,r31,32,0,0,1
+    2568:	b7 3e ff 5b 	setvl\.  r31,r31,32,0,1,0
+    256c:	b7 3f ff 5b 	setvl\.  r31,r31,32,0,1,1
+    2570:	77 3e ff 5b 	setvl\.  r31,r31,32,1,0,0
+    2574:	77 3f ff 5b 	setvl\.  r31,r31,32,1,0,1
+    2578:	f7 3e ff 5b 	setvl\.  r31,r31,32,1,1,0
+    257c:	f7 3f ff 5b 	setvl\.  r31,r31,32,1,1,1
diff --git a/gas/testsuite/gas/ppc/setvl.s b/gas/testsuite/gas/ppc/setvl.s
new file mode 100644
index 0000000000..944f8afc08
--- /dev/null
+++ b/gas/testsuite/gas/ppc/setvl.s
@@ -0,0 +1,2400 @@
+setvl 0,0,1,0,0,0
+setvl 0,0,1,0,0,1
+setvl 0,0,1,0,1,0
+setvl 0,0,1,0,1,1
+setvl 0,0,1,1,0,0
+setvl 0,0,1,1,0,1
+setvl 0,0,1,1,1,0
+setvl 0,0,1,1,1,1
+setvl 0,0,21,0,0,0
+setvl 0,0,21,0,0,1
+setvl 0,0,21,0,1,0
+setvl 0,0,21,0,1,1
+setvl 0,0,21,1,0,0
+setvl 0,0,21,1,0,1
+setvl 0,0,21,1,1,0
+setvl 0,0,21,1,1,1
+setvl 0,0,42,0,0,0
+setvl 0,0,42,0,0,1
+setvl 0,0,42,0,1,0
+setvl 0,0,42,0,1,1
+setvl 0,0,42,1,0,0
+setvl 0,0,42,1,0,1
+setvl 0,0,42,1,1,0
+setvl 0,0,42,1,1,1
+setvl 0,0,51,0,0,0
+setvl 0,0,51,0,0,1
+setvl 0,0,51,0,1,0
+setvl 0,0,51,0,1,1
+setvl 0,0,51,1,0,0
+setvl 0,0,51,1,0,1
+setvl 0,0,51,1,1,0
+setvl 0,0,51,1,1,1
+setvl 0,0,63,0,0,0
+setvl 0,0,63,0,0,1
+setvl 0,0,63,0,1,0
+setvl 0,0,63,0,1,1
+setvl 0,0,63,1,0,0
+setvl 0,0,63,1,0,1
+setvl 0,0,63,1,1,0
+setvl 0,0,63,1,1,1
+setvl 0,0,32,0,0,0
+setvl 0,0,32,0,0,1
+setvl 0,0,32,0,1,0
+setvl 0,0,32,0,1,1
+setvl 0,0,32,1,0,0
+setvl 0,0,32,1,0,1
+setvl 0,0,32,1,1,0
+setvl 0,0,32,1,1,1
+setvl 0,10,1,0,0,0
+setvl 0,10,1,0,0,1
+setvl 0,10,1,0,1,0
+setvl 0,10,1,0,1,1
+setvl 0,10,1,1,0,0
+setvl 0,10,1,1,0,1
+setvl 0,10,1,1,1,0
+setvl 0,10,1,1,1,1
+setvl 0,10,21,0,0,0
+setvl 0,10,21,0,0,1
+setvl 0,10,21,0,1,0
+setvl 0,10,21,0,1,1
+setvl 0,10,21,1,0,0
+setvl 0,10,21,1,0,1
+setvl 0,10,21,1,1,0
+setvl 0,10,21,1,1,1
+setvl 0,10,42,0,0,0
+setvl 0,10,42,0,0,1
+setvl 0,10,42,0,1,0
+setvl 0,10,42,0,1,1
+setvl 0,10,42,1,0,0
+setvl 0,10,42,1,0,1
+setvl 0,10,42,1,1,0
+setvl 0,10,42,1,1,1
+setvl 0,10,51,0,0,0
+setvl 0,10,51,0,0,1
+setvl 0,10,51,0,1,0
+setvl 0,10,51,0,1,1
+setvl 0,10,51,1,0,0
+setvl 0,10,51,1,0,1
+setvl 0,10,51,1,1,0
+setvl 0,10,51,1,1,1
+setvl 0,10,63,0,0,0
+setvl 0,10,63,0,0,1
+setvl 0,10,63,0,1,0
+setvl 0,10,63,0,1,1
+setvl 0,10,63,1,0,0
+setvl 0,10,63,1,0,1
+setvl 0,10,63,1,1,0
+setvl 0,10,63,1,1,1
+setvl 0,10,32,0,0,0
+setvl 0,10,32,0,0,1
+setvl 0,10,32,0,1,0
+setvl 0,10,32,0,1,1
+setvl 0,10,32,1,0,0
+setvl 0,10,32,1,0,1
+setvl 0,10,32,1,1,0
+setvl 0,10,32,1,1,1
+setvl 0,21,1,0,0,0
+setvl 0,21,1,0,0,1
+setvl 0,21,1,0,1,0
+setvl 0,21,1,0,1,1
+setvl 0,21,1,1,0,0
+setvl 0,21,1,1,0,1
+setvl 0,21,1,1,1,0
+setvl 0,21,1,1,1,1
+setvl 0,21,21,0,0,0
+setvl 0,21,21,0,0,1
+setvl 0,21,21,0,1,0
+setvl 0,21,21,0,1,1
+setvl 0,21,21,1,0,0
+setvl 0,21,21,1,0,1
+setvl 0,21,21,1,1,0
+setvl 0,21,21,1,1,1
+setvl 0,21,42,0,0,0
+setvl 0,21,42,0,0,1
+setvl 0,21,42,0,1,0
+setvl 0,21,42,0,1,1
+setvl 0,21,42,1,0,0
+setvl 0,21,42,1,0,1
+setvl 0,21,42,1,1,0
+setvl 0,21,42,1,1,1
+setvl 0,21,51,0,0,0
+setvl 0,21,51,0,0,1
+setvl 0,21,51,0,1,0
+setvl 0,21,51,0,1,1
+setvl 0,21,51,1,0,0
+setvl 0,21,51,1,0,1
+setvl 0,21,51,1,1,0
+setvl 0,21,51,1,1,1
+setvl 0,21,63,0,0,0
+setvl 0,21,63,0,0,1
+setvl 0,21,63,0,1,0
+setvl 0,21,63,0,1,1
+setvl 0,21,63,1,0,0
+setvl 0,21,63,1,0,1
+setvl 0,21,63,1,1,0
+setvl 0,21,63,1,1,1
+setvl 0,21,32,0,0,0
+setvl 0,21,32,0,0,1
+setvl 0,21,32,0,1,0
+setvl 0,21,32,0,1,1
+setvl 0,21,32,1,0,0
+setvl 0,21,32,1,0,1
+setvl 0,21,32,1,1,0
+setvl 0,21,32,1,1,1
+setvl 0,27,1,0,0,0
+setvl 0,27,1,0,0,1
+setvl 0,27,1,0,1,0
+setvl 0,27,1,0,1,1
+setvl 0,27,1,1,0,0
+setvl 0,27,1,1,0,1
+setvl 0,27,1,1,1,0
+setvl 0,27,1,1,1,1
+setvl 0,27,21,0,0,0
+setvl 0,27,21,0,0,1
+setvl 0,27,21,0,1,0
+setvl 0,27,21,0,1,1
+setvl 0,27,21,1,0,0
+setvl 0,27,21,1,0,1
+setvl 0,27,21,1,1,0
+setvl 0,27,21,1,1,1
+setvl 0,27,42,0,0,0
+setvl 0,27,42,0,0,1
+setvl 0,27,42,0,1,0
+setvl 0,27,42,0,1,1
+setvl 0,27,42,1,0,0
+setvl 0,27,42,1,0,1
+setvl 0,27,42,1,1,0
+setvl 0,27,42,1,1,1
+setvl 0,27,51,0,0,0
+setvl 0,27,51,0,0,1
+setvl 0,27,51,0,1,0
+setvl 0,27,51,0,1,1
+setvl 0,27,51,1,0,0
+setvl 0,27,51,1,0,1
+setvl 0,27,51,1,1,0
+setvl 0,27,51,1,1,1
+setvl 0,27,63,0,0,0
+setvl 0,27,63,0,0,1
+setvl 0,27,63,0,1,0
+setvl 0,27,63,0,1,1
+setvl 0,27,63,1,0,0
+setvl 0,27,63,1,0,1
+setvl 0,27,63,1,1,0
+setvl 0,27,63,1,1,1
+setvl 0,27,32,0,0,0
+setvl 0,27,32,0,0,1
+setvl 0,27,32,0,1,0
+setvl 0,27,32,0,1,1
+setvl 0,27,32,1,0,0
+setvl 0,27,32,1,0,1
+setvl 0,27,32,1,1,0
+setvl 0,27,32,1,1,1
+setvl 0,31,1,0,0,0
+setvl 0,31,1,0,0,1
+setvl 0,31,1,0,1,0
+setvl 0,31,1,0,1,1
+setvl 0,31,1,1,0,0
+setvl 0,31,1,1,0,1
+setvl 0,31,1,1,1,0
+setvl 0,31,1,1,1,1
+setvl 0,31,21,0,0,0
+setvl 0,31,21,0,0,1
+setvl 0,31,21,0,1,0
+setvl 0,31,21,0,1,1
+setvl 0,31,21,1,0,0
+setvl 0,31,21,1,0,1
+setvl 0,31,21,1,1,0
+setvl 0,31,21,1,1,1
+setvl 0,31,42,0,0,0
+setvl 0,31,42,0,0,1
+setvl 0,31,42,0,1,0
+setvl 0,31,42,0,1,1
+setvl 0,31,42,1,0,0
+setvl 0,31,42,1,0,1
+setvl 0,31,42,1,1,0
+setvl 0,31,42,1,1,1
+setvl 0,31,51,0,0,0
+setvl 0,31,51,0,0,1
+setvl 0,31,51,0,1,0
+setvl 0,31,51,0,1,1
+setvl 0,31,51,1,0,0
+setvl 0,31,51,1,0,1
+setvl 0,31,51,1,1,0
+setvl 0,31,51,1,1,1
+setvl 0,31,63,0,0,0
+setvl 0,31,63,0,0,1
+setvl 0,31,63,0,1,0
+setvl 0,31,63,0,1,1
+setvl 0,31,63,1,0,0
+setvl 0,31,63,1,0,1
+setvl 0,31,63,1,1,0
+setvl 0,31,63,1,1,1
+setvl 0,31,32,0,0,0
+setvl 0,31,32,0,0,1
+setvl 0,31,32,0,1,0
+setvl 0,31,32,0,1,1
+setvl 0,31,32,1,0,0
+setvl 0,31,32,1,0,1
+setvl 0,31,32,1,1,0
+setvl 0,31,32,1,1,1
+setvl 10,0,1,0,0,0
+setvl 10,0,1,0,0,1
+setvl 10,0,1,0,1,0
+setvl 10,0,1,0,1,1
+setvl 10,0,1,1,0,0
+setvl 10,0,1,1,0,1
+setvl 10,0,1,1,1,0
+setvl 10,0,1,1,1,1
+setvl 10,0,21,0,0,0
+setvl 10,0,21,0,0,1
+setvl 10,0,21,0,1,0
+setvl 10,0,21,0,1,1
+setvl 10,0,21,1,0,0
+setvl 10,0,21,1,0,1
+setvl 10,0,21,1,1,0
+setvl 10,0,21,1,1,1
+setvl 10,0,42,0,0,0
+setvl 10,0,42,0,0,1
+setvl 10,0,42,0,1,0
+setvl 10,0,42,0,1,1
+setvl 10,0,42,1,0,0
+setvl 10,0,42,1,0,1
+setvl 10,0,42,1,1,0
+setvl 10,0,42,1,1,1
+setvl 10,0,51,0,0,0
+setvl 10,0,51,0,0,1
+setvl 10,0,51,0,1,0
+setvl 10,0,51,0,1,1
+setvl 10,0,51,1,0,0
+setvl 10,0,51,1,0,1
+setvl 10,0,51,1,1,0
+setvl 10,0,51,1,1,1
+setvl 10,0,63,0,0,0
+setvl 10,0,63,0,0,1
+setvl 10,0,63,0,1,0
+setvl 10,0,63,0,1,1
+setvl 10,0,63,1,0,0
+setvl 10,0,63,1,0,1
+setvl 10,0,63,1,1,0
+setvl 10,0,63,1,1,1
+setvl 10,0,32,0,0,0
+setvl 10,0,32,0,0,1
+setvl 10,0,32,0,1,0
+setvl 10,0,32,0,1,1
+setvl 10,0,32,1,0,0
+setvl 10,0,32,1,0,1
+setvl 10,0,32,1,1,0
+setvl 10,0,32,1,1,1
+setvl 10,10,1,0,0,0
+setvl 10,10,1,0,0,1
+setvl 10,10,1,0,1,0
+setvl 10,10,1,0,1,1
+setvl 10,10,1,1,0,0
+setvl 10,10,1,1,0,1
+setvl 10,10,1,1,1,0
+setvl 10,10,1,1,1,1
+setvl 10,10,21,0,0,0
+setvl 10,10,21,0,0,1
+setvl 10,10,21,0,1,0
+setvl 10,10,21,0,1,1
+setvl 10,10,21,1,0,0
+setvl 10,10,21,1,0,1
+setvl 10,10,21,1,1,0
+setvl 10,10,21,1,1,1
+setvl 10,10,42,0,0,0
+setvl 10,10,42,0,0,1
+setvl 10,10,42,0,1,0
+setvl 10,10,42,0,1,1
+setvl 10,10,42,1,0,0
+setvl 10,10,42,1,0,1
+setvl 10,10,42,1,1,0
+setvl 10,10,42,1,1,1
+setvl 10,10,51,0,0,0
+setvl 10,10,51,0,0,1
+setvl 10,10,51,0,1,0
+setvl 10,10,51,0,1,1
+setvl 10,10,51,1,0,0
+setvl 10,10,51,1,0,1
+setvl 10,10,51,1,1,0
+setvl 10,10,51,1,1,1
+setvl 10,10,63,0,0,0
+setvl 10,10,63,0,0,1
+setvl 10,10,63,0,1,0
+setvl 10,10,63,0,1,1
+setvl 10,10,63,1,0,0
+setvl 10,10,63,1,0,1
+setvl 10,10,63,1,1,0
+setvl 10,10,63,1,1,1
+setvl 10,10,32,0,0,0
+setvl 10,10,32,0,0,1
+setvl 10,10,32,0,1,0
+setvl 10,10,32,0,1,1
+setvl 10,10,32,1,0,0
+setvl 10,10,32,1,0,1
+setvl 10,10,32,1,1,0
+setvl 10,10,32,1,1,1
+setvl 10,21,1,0,0,0
+setvl 10,21,1,0,0,1
+setvl 10,21,1,0,1,0
+setvl 10,21,1,0,1,1
+setvl 10,21,1,1,0,0
+setvl 10,21,1,1,0,1
+setvl 10,21,1,1,1,0
+setvl 10,21,1,1,1,1
+setvl 10,21,21,0,0,0
+setvl 10,21,21,0,0,1
+setvl 10,21,21,0,1,0
+setvl 10,21,21,0,1,1
+setvl 10,21,21,1,0,0
+setvl 10,21,21,1,0,1
+setvl 10,21,21,1,1,0
+setvl 10,21,21,1,1,1
+setvl 10,21,42,0,0,0
+setvl 10,21,42,0,0,1
+setvl 10,21,42,0,1,0
+setvl 10,21,42,0,1,1
+setvl 10,21,42,1,0,0
+setvl 10,21,42,1,0,1
+setvl 10,21,42,1,1,0
+setvl 10,21,42,1,1,1
+setvl 10,21,51,0,0,0
+setvl 10,21,51,0,0,1
+setvl 10,21,51,0,1,0
+setvl 10,21,51,0,1,1
+setvl 10,21,51,1,0,0
+setvl 10,21,51,1,0,1
+setvl 10,21,51,1,1,0
+setvl 10,21,51,1,1,1
+setvl 10,21,63,0,0,0
+setvl 10,21,63,0,0,1
+setvl 10,21,63,0,1,0
+setvl 10,21,63,0,1,1
+setvl 10,21,63,1,0,0
+setvl 10,21,63,1,0,1
+setvl 10,21,63,1,1,0
+setvl 10,21,63,1,1,1
+setvl 10,21,32,0,0,0
+setvl 10,21,32,0,0,1
+setvl 10,21,32,0,1,0
+setvl 10,21,32,0,1,1
+setvl 10,21,32,1,0,0
+setvl 10,21,32,1,0,1
+setvl 10,21,32,1,1,0
+setvl 10,21,32,1,1,1
+setvl 10,27,1,0,0,0
+setvl 10,27,1,0,0,1
+setvl 10,27,1,0,1,0
+setvl 10,27,1,0,1,1
+setvl 10,27,1,1,0,0
+setvl 10,27,1,1,0,1
+setvl 10,27,1,1,1,0
+setvl 10,27,1,1,1,1
+setvl 10,27,21,0,0,0
+setvl 10,27,21,0,0,1
+setvl 10,27,21,0,1,0
+setvl 10,27,21,0,1,1
+setvl 10,27,21,1,0,0
+setvl 10,27,21,1,0,1
+setvl 10,27,21,1,1,0
+setvl 10,27,21,1,1,1
+setvl 10,27,42,0,0,0
+setvl 10,27,42,0,0,1
+setvl 10,27,42,0,1,0
+setvl 10,27,42,0,1,1
+setvl 10,27,42,1,0,0
+setvl 10,27,42,1,0,1
+setvl 10,27,42,1,1,0
+setvl 10,27,42,1,1,1
+setvl 10,27,51,0,0,0
+setvl 10,27,51,0,0,1
+setvl 10,27,51,0,1,0
+setvl 10,27,51,0,1,1
+setvl 10,27,51,1,0,0
+setvl 10,27,51,1,0,1
+setvl 10,27,51,1,1,0
+setvl 10,27,51,1,1,1
+setvl 10,27,63,0,0,0
+setvl 10,27,63,0,0,1
+setvl 10,27,63,0,1,0
+setvl 10,27,63,0,1,1
+setvl 10,27,63,1,0,0
+setvl 10,27,63,1,0,1
+setvl 10,27,63,1,1,0
+setvl 10,27,63,1,1,1
+setvl 10,27,32,0,0,0
+setvl 10,27,32,0,0,1
+setvl 10,27,32,0,1,0
+setvl 10,27,32,0,1,1
+setvl 10,27,32,1,0,0
+setvl 10,27,32,1,0,1
+setvl 10,27,32,1,1,0
+setvl 10,27,32,1,1,1
+setvl 10,31,1,0,0,0
+setvl 10,31,1,0,0,1
+setvl 10,31,1,0,1,0
+setvl 10,31,1,0,1,1
+setvl 10,31,1,1,0,0
+setvl 10,31,1,1,0,1
+setvl 10,31,1,1,1,0
+setvl 10,31,1,1,1,1
+setvl 10,31,21,0,0,0
+setvl 10,31,21,0,0,1
+setvl 10,31,21,0,1,0
+setvl 10,31,21,0,1,1
+setvl 10,31,21,1,0,0
+setvl 10,31,21,1,0,1
+setvl 10,31,21,1,1,0
+setvl 10,31,21,1,1,1
+setvl 10,31,42,0,0,0
+setvl 10,31,42,0,0,1
+setvl 10,31,42,0,1,0
+setvl 10,31,42,0,1,1
+setvl 10,31,42,1,0,0
+setvl 10,31,42,1,0,1
+setvl 10,31,42,1,1,0
+setvl 10,31,42,1,1,1
+setvl 10,31,51,0,0,0
+setvl 10,31,51,0,0,1
+setvl 10,31,51,0,1,0
+setvl 10,31,51,0,1,1
+setvl 10,31,51,1,0,0
+setvl 10,31,51,1,0,1
+setvl 10,31,51,1,1,0
+setvl 10,31,51,1,1,1
+setvl 10,31,63,0,0,0
+setvl 10,31,63,0,0,1
+setvl 10,31,63,0,1,0
+setvl 10,31,63,0,1,1
+setvl 10,31,63,1,0,0
+setvl 10,31,63,1,0,1
+setvl 10,31,63,1,1,0
+setvl 10,31,63,1,1,1
+setvl 10,31,32,0,0,0
+setvl 10,31,32,0,0,1
+setvl 10,31,32,0,1,0
+setvl 10,31,32,0,1,1
+setvl 10,31,32,1,0,0
+setvl 10,31,32,1,0,1
+setvl 10,31,32,1,1,0
+setvl 10,31,32,1,1,1
+setvl 21,0,1,0,0,0
+setvl 21,0,1,0,0,1
+setvl 21,0,1,0,1,0
+setvl 21,0,1,0,1,1
+setvl 21,0,1,1,0,0
+setvl 21,0,1,1,0,1
+setvl 21,0,1,1,1,0
+setvl 21,0,1,1,1,1
+setvl 21,0,21,0,0,0
+setvl 21,0,21,0,0,1
+setvl 21,0,21,0,1,0
+setvl 21,0,21,0,1,1
+setvl 21,0,21,1,0,0
+setvl 21,0,21,1,0,1
+setvl 21,0,21,1,1,0
+setvl 21,0,21,1,1,1
+setvl 21,0,42,0,0,0
+setvl 21,0,42,0,0,1
+setvl 21,0,42,0,1,0
+setvl 21,0,42,0,1,1
+setvl 21,0,42,1,0,0
+setvl 21,0,42,1,0,1
+setvl 21,0,42,1,1,0
+setvl 21,0,42,1,1,1
+setvl 21,0,51,0,0,0
+setvl 21,0,51,0,0,1
+setvl 21,0,51,0,1,0
+setvl 21,0,51,0,1,1
+setvl 21,0,51,1,0,0
+setvl 21,0,51,1,0,1
+setvl 21,0,51,1,1,0
+setvl 21,0,51,1,1,1
+setvl 21,0,63,0,0,0
+setvl 21,0,63,0,0,1
+setvl 21,0,63,0,1,0
+setvl 21,0,63,0,1,1
+setvl 21,0,63,1,0,0
+setvl 21,0,63,1,0,1
+setvl 21,0,63,1,1,0
+setvl 21,0,63,1,1,1
+setvl 21,0,32,0,0,0
+setvl 21,0,32,0,0,1
+setvl 21,0,32,0,1,0
+setvl 21,0,32,0,1,1
+setvl 21,0,32,1,0,0
+setvl 21,0,32,1,0,1
+setvl 21,0,32,1,1,0
+setvl 21,0,32,1,1,1
+setvl 21,10,1,0,0,0
+setvl 21,10,1,0,0,1
+setvl 21,10,1,0,1,0
+setvl 21,10,1,0,1,1
+setvl 21,10,1,1,0,0
+setvl 21,10,1,1,0,1
+setvl 21,10,1,1,1,0
+setvl 21,10,1,1,1,1
+setvl 21,10,21,0,0,0
+setvl 21,10,21,0,0,1
+setvl 21,10,21,0,1,0
+setvl 21,10,21,0,1,1
+setvl 21,10,21,1,0,0
+setvl 21,10,21,1,0,1
+setvl 21,10,21,1,1,0
+setvl 21,10,21,1,1,1
+setvl 21,10,42,0,0,0
+setvl 21,10,42,0,0,1
+setvl 21,10,42,0,1,0
+setvl 21,10,42,0,1,1
+setvl 21,10,42,1,0,0
+setvl 21,10,42,1,0,1
+setvl 21,10,42,1,1,0
+setvl 21,10,42,1,1,1
+setvl 21,10,51,0,0,0
+setvl 21,10,51,0,0,1
+setvl 21,10,51,0,1,0
+setvl 21,10,51,0,1,1
+setvl 21,10,51,1,0,0
+setvl 21,10,51,1,0,1
+setvl 21,10,51,1,1,0
+setvl 21,10,51,1,1,1
+setvl 21,10,63,0,0,0
+setvl 21,10,63,0,0,1
+setvl 21,10,63,0,1,0
+setvl 21,10,63,0,1,1
+setvl 21,10,63,1,0,0
+setvl 21,10,63,1,0,1
+setvl 21,10,63,1,1,0
+setvl 21,10,63,1,1,1
+setvl 21,10,32,0,0,0
+setvl 21,10,32,0,0,1
+setvl 21,10,32,0,1,0
+setvl 21,10,32,0,1,1
+setvl 21,10,32,1,0,0
+setvl 21,10,32,1,0,1
+setvl 21,10,32,1,1,0
+setvl 21,10,32,1,1,1
+setvl 21,21,1,0,0,0
+setvl 21,21,1,0,0,1
+setvl 21,21,1,0,1,0
+setvl 21,21,1,0,1,1
+setvl 21,21,1,1,0,0
+setvl 21,21,1,1,0,1
+setvl 21,21,1,1,1,0
+setvl 21,21,1,1,1,1
+setvl 21,21,21,0,0,0
+setvl 21,21,21,0,0,1
+setvl 21,21,21,0,1,0
+setvl 21,21,21,0,1,1
+setvl 21,21,21,1,0,0
+setvl 21,21,21,1,0,1
+setvl 21,21,21,1,1,0
+setvl 21,21,21,1,1,1
+setvl 21,21,42,0,0,0
+setvl 21,21,42,0,0,1
+setvl 21,21,42,0,1,0
+setvl 21,21,42,0,1,1
+setvl 21,21,42,1,0,0
+setvl 21,21,42,1,0,1
+setvl 21,21,42,1,1,0
+setvl 21,21,42,1,1,1
+setvl 21,21,51,0,0,0
+setvl 21,21,51,0,0,1
+setvl 21,21,51,0,1,0
+setvl 21,21,51,0,1,1
+setvl 21,21,51,1,0,0
+setvl 21,21,51,1,0,1
+setvl 21,21,51,1,1,0
+setvl 21,21,51,1,1,1
+setvl 21,21,63,0,0,0
+setvl 21,21,63,0,0,1
+setvl 21,21,63,0,1,0
+setvl 21,21,63,0,1,1
+setvl 21,21,63,1,0,0
+setvl 21,21,63,1,0,1
+setvl 21,21,63,1,1,0
+setvl 21,21,63,1,1,1
+setvl 21,21,32,0,0,0
+setvl 21,21,32,0,0,1
+setvl 21,21,32,0,1,0
+setvl 21,21,32,0,1,1
+setvl 21,21,32,1,0,0
+setvl 21,21,32,1,0,1
+setvl 21,21,32,1,1,0
+setvl 21,21,32,1,1,1
+setvl 21,27,1,0,0,0
+setvl 21,27,1,0,0,1
+setvl 21,27,1,0,1,0
+setvl 21,27,1,0,1,1
+setvl 21,27,1,1,0,0
+setvl 21,27,1,1,0,1
+setvl 21,27,1,1,1,0
+setvl 21,27,1,1,1,1
+setvl 21,27,21,0,0,0
+setvl 21,27,21,0,0,1
+setvl 21,27,21,0,1,0
+setvl 21,27,21,0,1,1
+setvl 21,27,21,1,0,0
+setvl 21,27,21,1,0,1
+setvl 21,27,21,1,1,0
+setvl 21,27,21,1,1,1
+setvl 21,27,42,0,0,0
+setvl 21,27,42,0,0,1
+setvl 21,27,42,0,1,0
+setvl 21,27,42,0,1,1
+setvl 21,27,42,1,0,0
+setvl 21,27,42,1,0,1
+setvl 21,27,42,1,1,0
+setvl 21,27,42,1,1,1
+setvl 21,27,51,0,0,0
+setvl 21,27,51,0,0,1
+setvl 21,27,51,0,1,0
+setvl 21,27,51,0,1,1
+setvl 21,27,51,1,0,0
+setvl 21,27,51,1,0,1
+setvl 21,27,51,1,1,0
+setvl 21,27,51,1,1,1
+setvl 21,27,63,0,0,0
+setvl 21,27,63,0,0,1
+setvl 21,27,63,0,1,0
+setvl 21,27,63,0,1,1
+setvl 21,27,63,1,0,0
+setvl 21,27,63,1,0,1
+setvl 21,27,63,1,1,0
+setvl 21,27,63,1,1,1
+setvl 21,27,32,0,0,0
+setvl 21,27,32,0,0,1
+setvl 21,27,32,0,1,0
+setvl 21,27,32,0,1,1
+setvl 21,27,32,1,0,0
+setvl 21,27,32,1,0,1
+setvl 21,27,32,1,1,0
+setvl 21,27,32,1,1,1
+setvl 21,31,1,0,0,0
+setvl 21,31,1,0,0,1
+setvl 21,31,1,0,1,0
+setvl 21,31,1,0,1,1
+setvl 21,31,1,1,0,0
+setvl 21,31,1,1,0,1
+setvl 21,31,1,1,1,0
+setvl 21,31,1,1,1,1
+setvl 21,31,21,0,0,0
+setvl 21,31,21,0,0,1
+setvl 21,31,21,0,1,0
+setvl 21,31,21,0,1,1
+setvl 21,31,21,1,0,0
+setvl 21,31,21,1,0,1
+setvl 21,31,21,1,1,0
+setvl 21,31,21,1,1,1
+setvl 21,31,42,0,0,0
+setvl 21,31,42,0,0,1
+setvl 21,31,42,0,1,0
+setvl 21,31,42,0,1,1
+setvl 21,31,42,1,0,0
+setvl 21,31,42,1,0,1
+setvl 21,31,42,1,1,0
+setvl 21,31,42,1,1,1
+setvl 21,31,51,0,0,0
+setvl 21,31,51,0,0,1
+setvl 21,31,51,0,1,0
+setvl 21,31,51,0,1,1
+setvl 21,31,51,1,0,0
+setvl 21,31,51,1,0,1
+setvl 21,31,51,1,1,0
+setvl 21,31,51,1,1,1
+setvl 21,31,63,0,0,0
+setvl 21,31,63,0,0,1
+setvl 21,31,63,0,1,0
+setvl 21,31,63,0,1,1
+setvl 21,31,63,1,0,0
+setvl 21,31,63,1,0,1
+setvl 21,31,63,1,1,0
+setvl 21,31,63,1,1,1
+setvl 21,31,32,0,0,0
+setvl 21,31,32,0,0,1
+setvl 21,31,32,0,1,0
+setvl 21,31,32,0,1,1
+setvl 21,31,32,1,0,0
+setvl 21,31,32,1,0,1
+setvl 21,31,32,1,1,0
+setvl 21,31,32,1,1,1
+setvl 27,0,1,0,0,0
+setvl 27,0,1,0,0,1
+setvl 27,0,1,0,1,0
+setvl 27,0,1,0,1,1
+setvl 27,0,1,1,0,0
+setvl 27,0,1,1,0,1
+setvl 27,0,1,1,1,0
+setvl 27,0,1,1,1,1
+setvl 27,0,21,0,0,0
+setvl 27,0,21,0,0,1
+setvl 27,0,21,0,1,0
+setvl 27,0,21,0,1,1
+setvl 27,0,21,1,0,0
+setvl 27,0,21,1,0,1
+setvl 27,0,21,1,1,0
+setvl 27,0,21,1,1,1
+setvl 27,0,42,0,0,0
+setvl 27,0,42,0,0,1
+setvl 27,0,42,0,1,0
+setvl 27,0,42,0,1,1
+setvl 27,0,42,1,0,0
+setvl 27,0,42,1,0,1
+setvl 27,0,42,1,1,0
+setvl 27,0,42,1,1,1
+setvl 27,0,51,0,0,0
+setvl 27,0,51,0,0,1
+setvl 27,0,51,0,1,0
+setvl 27,0,51,0,1,1
+setvl 27,0,51,1,0,0
+setvl 27,0,51,1,0,1
+setvl 27,0,51,1,1,0
+setvl 27,0,51,1,1,1
+setvl 27,0,63,0,0,0
+setvl 27,0,63,0,0,1
+setvl 27,0,63,0,1,0
+setvl 27,0,63,0,1,1
+setvl 27,0,63,1,0,0
+setvl 27,0,63,1,0,1
+setvl 27,0,63,1,1,0
+setvl 27,0,63,1,1,1
+setvl 27,0,32,0,0,0
+setvl 27,0,32,0,0,1
+setvl 27,0,32,0,1,0
+setvl 27,0,32,0,1,1
+setvl 27,0,32,1,0,0
+setvl 27,0,32,1,0,1
+setvl 27,0,32,1,1,0
+setvl 27,0,32,1,1,1
+setvl 27,10,1,0,0,0
+setvl 27,10,1,0,0,1
+setvl 27,10,1,0,1,0
+setvl 27,10,1,0,1,1
+setvl 27,10,1,1,0,0
+setvl 27,10,1,1,0,1
+setvl 27,10,1,1,1,0
+setvl 27,10,1,1,1,1
+setvl 27,10,21,0,0,0
+setvl 27,10,21,0,0,1
+setvl 27,10,21,0,1,0
+setvl 27,10,21,0,1,1
+setvl 27,10,21,1,0,0
+setvl 27,10,21,1,0,1
+setvl 27,10,21,1,1,0
+setvl 27,10,21,1,1,1
+setvl 27,10,42,0,0,0
+setvl 27,10,42,0,0,1
+setvl 27,10,42,0,1,0
+setvl 27,10,42,0,1,1
+setvl 27,10,42,1,0,0
+setvl 27,10,42,1,0,1
+setvl 27,10,42,1,1,0
+setvl 27,10,42,1,1,1
+setvl 27,10,51,0,0,0
+setvl 27,10,51,0,0,1
+setvl 27,10,51,0,1,0
+setvl 27,10,51,0,1,1
+setvl 27,10,51,1,0,0
+setvl 27,10,51,1,0,1
+setvl 27,10,51,1,1,0
+setvl 27,10,51,1,1,1
+setvl 27,10,63,0,0,0
+setvl 27,10,63,0,0,1
+setvl 27,10,63,0,1,0
+setvl 27,10,63,0,1,1
+setvl 27,10,63,1,0,0
+setvl 27,10,63,1,0,1
+setvl 27,10,63,1,1,0
+setvl 27,10,63,1,1,1
+setvl 27,10,32,0,0,0
+setvl 27,10,32,0,0,1
+setvl 27,10,32,0,1,0
+setvl 27,10,32,0,1,1
+setvl 27,10,32,1,0,0
+setvl 27,10,32,1,0,1
+setvl 27,10,32,1,1,0
+setvl 27,10,32,1,1,1
+setvl 27,21,1,0,0,0
+setvl 27,21,1,0,0,1
+setvl 27,21,1,0,1,0
+setvl 27,21,1,0,1,1
+setvl 27,21,1,1,0,0
+setvl 27,21,1,1,0,1
+setvl 27,21,1,1,1,0
+setvl 27,21,1,1,1,1
+setvl 27,21,21,0,0,0
+setvl 27,21,21,0,0,1
+setvl 27,21,21,0,1,0
+setvl 27,21,21,0,1,1
+setvl 27,21,21,1,0,0
+setvl 27,21,21,1,0,1
+setvl 27,21,21,1,1,0
+setvl 27,21,21,1,1,1
+setvl 27,21,42,0,0,0
+setvl 27,21,42,0,0,1
+setvl 27,21,42,0,1,0
+setvl 27,21,42,0,1,1
+setvl 27,21,42,1,0,0
+setvl 27,21,42,1,0,1
+setvl 27,21,42,1,1,0
+setvl 27,21,42,1,1,1
+setvl 27,21,51,0,0,0
+setvl 27,21,51,0,0,1
+setvl 27,21,51,0,1,0
+setvl 27,21,51,0,1,1
+setvl 27,21,51,1,0,0
+setvl 27,21,51,1,0,1
+setvl 27,21,51,1,1,0
+setvl 27,21,51,1,1,1
+setvl 27,21,63,0,0,0
+setvl 27,21,63,0,0,1
+setvl 27,21,63,0,1,0
+setvl 27,21,63,0,1,1
+setvl 27,21,63,1,0,0
+setvl 27,21,63,1,0,1
+setvl 27,21,63,1,1,0
+setvl 27,21,63,1,1,1
+setvl 27,21,32,0,0,0
+setvl 27,21,32,0,0,1
+setvl 27,21,32,0,1,0
+setvl 27,21,32,0,1,1
+setvl 27,21,32,1,0,0
+setvl 27,21,32,1,0,1
+setvl 27,21,32,1,1,0
+setvl 27,21,32,1,1,1
+setvl 27,27,1,0,0,0
+setvl 27,27,1,0,0,1
+setvl 27,27,1,0,1,0
+setvl 27,27,1,0,1,1
+setvl 27,27,1,1,0,0
+setvl 27,27,1,1,0,1
+setvl 27,27,1,1,1,0
+setvl 27,27,1,1,1,1
+setvl 27,27,21,0,0,0
+setvl 27,27,21,0,0,1
+setvl 27,27,21,0,1,0
+setvl 27,27,21,0,1,1
+setvl 27,27,21,1,0,0
+setvl 27,27,21,1,0,1
+setvl 27,27,21,1,1,0
+setvl 27,27,21,1,1,1
+setvl 27,27,42,0,0,0
+setvl 27,27,42,0,0,1
+setvl 27,27,42,0,1,0
+setvl 27,27,42,0,1,1
+setvl 27,27,42,1,0,0
+setvl 27,27,42,1,0,1
+setvl 27,27,42,1,1,0
+setvl 27,27,42,1,1,1
+setvl 27,27,51,0,0,0
+setvl 27,27,51,0,0,1
+setvl 27,27,51,0,1,0
+setvl 27,27,51,0,1,1
+setvl 27,27,51,1,0,0
+setvl 27,27,51,1,0,1
+setvl 27,27,51,1,1,0
+setvl 27,27,51,1,1,1
+setvl 27,27,63,0,0,0
+setvl 27,27,63,0,0,1
+setvl 27,27,63,0,1,0
+setvl 27,27,63,0,1,1
+setvl 27,27,63,1,0,0
+setvl 27,27,63,1,0,1
+setvl 27,27,63,1,1,0
+setvl 27,27,63,1,1,1
+setvl 27,27,32,0,0,0
+setvl 27,27,32,0,0,1
+setvl 27,27,32,0,1,0
+setvl 27,27,32,0,1,1
+setvl 27,27,32,1,0,0
+setvl 27,27,32,1,0,1
+setvl 27,27,32,1,1,0
+setvl 27,27,32,1,1,1
+setvl 27,31,1,0,0,0
+setvl 27,31,1,0,0,1
+setvl 27,31,1,0,1,0
+setvl 27,31,1,0,1,1
+setvl 27,31,1,1,0,0
+setvl 27,31,1,1,0,1
+setvl 27,31,1,1,1,0
+setvl 27,31,1,1,1,1
+setvl 27,31,21,0,0,0
+setvl 27,31,21,0,0,1
+setvl 27,31,21,0,1,0
+setvl 27,31,21,0,1,1
+setvl 27,31,21,1,0,0
+setvl 27,31,21,1,0,1
+setvl 27,31,21,1,1,0
+setvl 27,31,21,1,1,1
+setvl 27,31,42,0,0,0
+setvl 27,31,42,0,0,1
+setvl 27,31,42,0,1,0
+setvl 27,31,42,0,1,1
+setvl 27,31,42,1,0,0
+setvl 27,31,42,1,0,1
+setvl 27,31,42,1,1,0
+setvl 27,31,42,1,1,1
+setvl 27,31,51,0,0,0
+setvl 27,31,51,0,0,1
+setvl 27,31,51,0,1,0
+setvl 27,31,51,0,1,1
+setvl 27,31,51,1,0,0
+setvl 27,31,51,1,0,1
+setvl 27,31,51,1,1,0
+setvl 27,31,51,1,1,1
+setvl 27,31,63,0,0,0
+setvl 27,31,63,0,0,1
+setvl 27,31,63,0,1,0
+setvl 27,31,63,0,1,1
+setvl 27,31,63,1,0,0
+setvl 27,31,63,1,0,1
+setvl 27,31,63,1,1,0
+setvl 27,31,63,1,1,1
+setvl 27,31,32,0,0,0
+setvl 27,31,32,0,0,1
+setvl 27,31,32,0,1,0
+setvl 27,31,32,0,1,1
+setvl 27,31,32,1,0,0
+setvl 27,31,32,1,0,1
+setvl 27,31,32,1,1,0
+setvl 27,31,32,1,1,1
+setvl 31,0,1,0,0,0
+setvl 31,0,1,0,0,1
+setvl 31,0,1,0,1,0
+setvl 31,0,1,0,1,1
+setvl 31,0,1,1,0,0
+setvl 31,0,1,1,0,1
+setvl 31,0,1,1,1,0
+setvl 31,0,1,1,1,1
+setvl 31,0,21,0,0,0
+setvl 31,0,21,0,0,1
+setvl 31,0,21,0,1,0
+setvl 31,0,21,0,1,1
+setvl 31,0,21,1,0,0
+setvl 31,0,21,1,0,1
+setvl 31,0,21,1,1,0
+setvl 31,0,21,1,1,1
+setvl 31,0,42,0,0,0
+setvl 31,0,42,0,0,1
+setvl 31,0,42,0,1,0
+setvl 31,0,42,0,1,1
+setvl 31,0,42,1,0,0
+setvl 31,0,42,1,0,1
+setvl 31,0,42,1,1,0
+setvl 31,0,42,1,1,1
+setvl 31,0,51,0,0,0
+setvl 31,0,51,0,0,1
+setvl 31,0,51,0,1,0
+setvl 31,0,51,0,1,1
+setvl 31,0,51,1,0,0
+setvl 31,0,51,1,0,1
+setvl 31,0,51,1,1,0
+setvl 31,0,51,1,1,1
+setvl 31,0,63,0,0,0
+setvl 31,0,63,0,0,1
+setvl 31,0,63,0,1,0
+setvl 31,0,63,0,1,1
+setvl 31,0,63,1,0,0
+setvl 31,0,63,1,0,1
+setvl 31,0,63,1,1,0
+setvl 31,0,63,1,1,1
+setvl 31,0,32,0,0,0
+setvl 31,0,32,0,0,1
+setvl 31,0,32,0,1,0
+setvl 31,0,32,0,1,1
+setvl 31,0,32,1,0,0
+setvl 31,0,32,1,0,1
+setvl 31,0,32,1,1,0
+setvl 31,0,32,1,1,1
+setvl 31,10,1,0,0,0
+setvl 31,10,1,0,0,1
+setvl 31,10,1,0,1,0
+setvl 31,10,1,0,1,1
+setvl 31,10,1,1,0,0
+setvl 31,10,1,1,0,1
+setvl 31,10,1,1,1,0
+setvl 31,10,1,1,1,1
+setvl 31,10,21,0,0,0
+setvl 31,10,21,0,0,1
+setvl 31,10,21,0,1,0
+setvl 31,10,21,0,1,1
+setvl 31,10,21,1,0,0
+setvl 31,10,21,1,0,1
+setvl 31,10,21,1,1,0
+setvl 31,10,21,1,1,1
+setvl 31,10,42,0,0,0
+setvl 31,10,42,0,0,1
+setvl 31,10,42,0,1,0
+setvl 31,10,42,0,1,1
+setvl 31,10,42,1,0,0
+setvl 31,10,42,1,0,1
+setvl 31,10,42,1,1,0
+setvl 31,10,42,1,1,1
+setvl 31,10,51,0,0,0
+setvl 31,10,51,0,0,1
+setvl 31,10,51,0,1,0
+setvl 31,10,51,0,1,1
+setvl 31,10,51,1,0,0
+setvl 31,10,51,1,0,1
+setvl 31,10,51,1,1,0
+setvl 31,10,51,1,1,1
+setvl 31,10,63,0,0,0
+setvl 31,10,63,0,0,1
+setvl 31,10,63,0,1,0
+setvl 31,10,63,0,1,1
+setvl 31,10,63,1,0,0
+setvl 31,10,63,1,0,1
+setvl 31,10,63,1,1,0
+setvl 31,10,63,1,1,1
+setvl 31,10,32,0,0,0
+setvl 31,10,32,0,0,1
+setvl 31,10,32,0,1,0
+setvl 31,10,32,0,1,1
+setvl 31,10,32,1,0,0
+setvl 31,10,32,1,0,1
+setvl 31,10,32,1,1,0
+setvl 31,10,32,1,1,1
+setvl 31,21,1,0,0,0
+setvl 31,21,1,0,0,1
+setvl 31,21,1,0,1,0
+setvl 31,21,1,0,1,1
+setvl 31,21,1,1,0,0
+setvl 31,21,1,1,0,1
+setvl 31,21,1,1,1,0
+setvl 31,21,1,1,1,1
+setvl 31,21,21,0,0,0
+setvl 31,21,21,0,0,1
+setvl 31,21,21,0,1,0
+setvl 31,21,21,0,1,1
+setvl 31,21,21,1,0,0
+setvl 31,21,21,1,0,1
+setvl 31,21,21,1,1,0
+setvl 31,21,21,1,1,1
+setvl 31,21,42,0,0,0
+setvl 31,21,42,0,0,1
+setvl 31,21,42,0,1,0
+setvl 31,21,42,0,1,1
+setvl 31,21,42,1,0,0
+setvl 31,21,42,1,0,1
+setvl 31,21,42,1,1,0
+setvl 31,21,42,1,1,1
+setvl 31,21,51,0,0,0
+setvl 31,21,51,0,0,1
+setvl 31,21,51,0,1,0
+setvl 31,21,51,0,1,1
+setvl 31,21,51,1,0,0
+setvl 31,21,51,1,0,1
+setvl 31,21,51,1,1,0
+setvl 31,21,51,1,1,1
+setvl 31,21,63,0,0,0
+setvl 31,21,63,0,0,1
+setvl 31,21,63,0,1,0
+setvl 31,21,63,0,1,1
+setvl 31,21,63,1,0,0
+setvl 31,21,63,1,0,1
+setvl 31,21,63,1,1,0
+setvl 31,21,63,1,1,1
+setvl 31,21,32,0,0,0
+setvl 31,21,32,0,0,1
+setvl 31,21,32,0,1,0
+setvl 31,21,32,0,1,1
+setvl 31,21,32,1,0,0
+setvl 31,21,32,1,0,1
+setvl 31,21,32,1,1,0
+setvl 31,21,32,1,1,1
+setvl 31,27,1,0,0,0
+setvl 31,27,1,0,0,1
+setvl 31,27,1,0,1,0
+setvl 31,27,1,0,1,1
+setvl 31,27,1,1,0,0
+setvl 31,27,1,1,0,1
+setvl 31,27,1,1,1,0
+setvl 31,27,1,1,1,1
+setvl 31,27,21,0,0,0
+setvl 31,27,21,0,0,1
+setvl 31,27,21,0,1,0
+setvl 31,27,21,0,1,1
+setvl 31,27,21,1,0,0
+setvl 31,27,21,1,0,1
+setvl 31,27,21,1,1,0
+setvl 31,27,21,1,1,1
+setvl 31,27,42,0,0,0
+setvl 31,27,42,0,0,1
+setvl 31,27,42,0,1,0
+setvl 31,27,42,0,1,1
+setvl 31,27,42,1,0,0
+setvl 31,27,42,1,0,1
+setvl 31,27,42,1,1,0
+setvl 31,27,42,1,1,1
+setvl 31,27,51,0,0,0
+setvl 31,27,51,0,0,1
+setvl 31,27,51,0,1,0
+setvl 31,27,51,0,1,1
+setvl 31,27,51,1,0,0
+setvl 31,27,51,1,0,1
+setvl 31,27,51,1,1,0
+setvl 31,27,51,1,1,1
+setvl 31,27,63,0,0,0
+setvl 31,27,63,0,0,1
+setvl 31,27,63,0,1,0
+setvl 31,27,63,0,1,1
+setvl 31,27,63,1,0,0
+setvl 31,27,63,1,0,1
+setvl 31,27,63,1,1,0
+setvl 31,27,63,1,1,1
+setvl 31,27,32,0,0,0
+setvl 31,27,32,0,0,1
+setvl 31,27,32,0,1,0
+setvl 31,27,32,0,1,1
+setvl 31,27,32,1,0,0
+setvl 31,27,32,1,0,1
+setvl 31,27,32,1,1,0
+setvl 31,27,32,1,1,1
+setvl 31,31,1,0,0,0
+setvl 31,31,1,0,0,1
+setvl 31,31,1,0,1,0
+setvl 31,31,1,0,1,1
+setvl 31,31,1,1,0,0
+setvl 31,31,1,1,0,1
+setvl 31,31,1,1,1,0
+setvl 31,31,1,1,1,1
+setvl 31,31,21,0,0,0
+setvl 31,31,21,0,0,1
+setvl 31,31,21,0,1,0
+setvl 31,31,21,0,1,1
+setvl 31,31,21,1,0,0
+setvl 31,31,21,1,0,1
+setvl 31,31,21,1,1,0
+setvl 31,31,21,1,1,1
+setvl 31,31,42,0,0,0
+setvl 31,31,42,0,0,1
+setvl 31,31,42,0,1,0
+setvl 31,31,42,0,1,1
+setvl 31,31,42,1,0,0
+setvl 31,31,42,1,0,1
+setvl 31,31,42,1,1,0
+setvl 31,31,42,1,1,1
+setvl 31,31,51,0,0,0
+setvl 31,31,51,0,0,1
+setvl 31,31,51,0,1,0
+setvl 31,31,51,0,1,1
+setvl 31,31,51,1,0,0
+setvl 31,31,51,1,0,1
+setvl 31,31,51,1,1,0
+setvl 31,31,51,1,1,1
+setvl 31,31,63,0,0,0
+setvl 31,31,63,0,0,1
+setvl 31,31,63,0,1,0
+setvl 31,31,63,0,1,1
+setvl 31,31,63,1,0,0
+setvl 31,31,63,1,0,1
+setvl 31,31,63,1,1,0
+setvl 31,31,63,1,1,1
+setvl 31,31,32,0,0,0
+setvl 31,31,32,0,0,1
+setvl 31,31,32,0,1,0
+setvl 31,31,32,0,1,1
+setvl 31,31,32,1,0,0
+setvl 31,31,32,1,0,1
+setvl 31,31,32,1,1,0
+setvl 31,31,32,1,1,1
+setvl. 0,0,1,0,0,0
+setvl. 0,0,1,0,0,1
+setvl. 0,0,1,0,1,0
+setvl. 0,0,1,0,1,1
+setvl. 0,0,1,1,0,0
+setvl. 0,0,1,1,0,1
+setvl. 0,0,1,1,1,0
+setvl. 0,0,1,1,1,1
+setvl. 0,0,21,0,0,0
+setvl. 0,0,21,0,0,1
+setvl. 0,0,21,0,1,0
+setvl. 0,0,21,0,1,1
+setvl. 0,0,21,1,0,0
+setvl. 0,0,21,1,0,1
+setvl. 0,0,21,1,1,0
+setvl. 0,0,21,1,1,1
+setvl. 0,0,42,0,0,0
+setvl. 0,0,42,0,0,1
+setvl. 0,0,42,0,1,0
+setvl. 0,0,42,0,1,1
+setvl. 0,0,42,1,0,0
+setvl. 0,0,42,1,0,1
+setvl. 0,0,42,1,1,0
+setvl. 0,0,42,1,1,1
+setvl. 0,0,51,0,0,0
+setvl. 0,0,51,0,0,1
+setvl. 0,0,51,0,1,0
+setvl. 0,0,51,0,1,1
+setvl. 0,0,51,1,0,0
+setvl. 0,0,51,1,0,1
+setvl. 0,0,51,1,1,0
+setvl. 0,0,51,1,1,1
+setvl. 0,0,63,0,0,0
+setvl. 0,0,63,0,0,1
+setvl. 0,0,63,0,1,0
+setvl. 0,0,63,0,1,1
+setvl. 0,0,63,1,0,0
+setvl. 0,0,63,1,0,1
+setvl. 0,0,63,1,1,0
+setvl. 0,0,63,1,1,1
+setvl. 0,0,32,0,0,0
+setvl. 0,0,32,0,0,1
+setvl. 0,0,32,0,1,0
+setvl. 0,0,32,0,1,1
+setvl. 0,0,32,1,0,0
+setvl. 0,0,32,1,0,1
+setvl. 0,0,32,1,1,0
+setvl. 0,0,32,1,1,1
+setvl. 0,10,1,0,0,0
+setvl. 0,10,1,0,0,1
+setvl. 0,10,1,0,1,0
+setvl. 0,10,1,0,1,1
+setvl. 0,10,1,1,0,0
+setvl. 0,10,1,1,0,1
+setvl. 0,10,1,1,1,0
+setvl. 0,10,1,1,1,1
+setvl. 0,10,21,0,0,0
+setvl. 0,10,21,0,0,1
+setvl. 0,10,21,0,1,0
+setvl. 0,10,21,0,1,1
+setvl. 0,10,21,1,0,0
+setvl. 0,10,21,1,0,1
+setvl. 0,10,21,1,1,0
+setvl. 0,10,21,1,1,1
+setvl. 0,10,42,0,0,0
+setvl. 0,10,42,0,0,1
+setvl. 0,10,42,0,1,0
+setvl. 0,10,42,0,1,1
+setvl. 0,10,42,1,0,0
+setvl. 0,10,42,1,0,1
+setvl. 0,10,42,1,1,0
+setvl. 0,10,42,1,1,1
+setvl. 0,10,51,0,0,0
+setvl. 0,10,51,0,0,1
+setvl. 0,10,51,0,1,0
+setvl. 0,10,51,0,1,1
+setvl. 0,10,51,1,0,0
+setvl. 0,10,51,1,0,1
+setvl. 0,10,51,1,1,0
+setvl. 0,10,51,1,1,1
+setvl. 0,10,63,0,0,0
+setvl. 0,10,63,0,0,1
+setvl. 0,10,63,0,1,0
+setvl. 0,10,63,0,1,1
+setvl. 0,10,63,1,0,0
+setvl. 0,10,63,1,0,1
+setvl. 0,10,63,1,1,0
+setvl. 0,10,63,1,1,1
+setvl. 0,10,32,0,0,0
+setvl. 0,10,32,0,0,1
+setvl. 0,10,32,0,1,0
+setvl. 0,10,32,0,1,1
+setvl. 0,10,32,1,0,0
+setvl. 0,10,32,1,0,1
+setvl. 0,10,32,1,1,0
+setvl. 0,10,32,1,1,1
+setvl. 0,21,1,0,0,0
+setvl. 0,21,1,0,0,1
+setvl. 0,21,1,0,1,0
+setvl. 0,21,1,0,1,1
+setvl. 0,21,1,1,0,0
+setvl. 0,21,1,1,0,1
+setvl. 0,21,1,1,1,0
+setvl. 0,21,1,1,1,1
+setvl. 0,21,21,0,0,0
+setvl. 0,21,21,0,0,1
+setvl. 0,21,21,0,1,0
+setvl. 0,21,21,0,1,1
+setvl. 0,21,21,1,0,0
+setvl. 0,21,21,1,0,1
+setvl. 0,21,21,1,1,0
+setvl. 0,21,21,1,1,1
+setvl. 0,21,42,0,0,0
+setvl. 0,21,42,0,0,1
+setvl. 0,21,42,0,1,0
+setvl. 0,21,42,0,1,1
+setvl. 0,21,42,1,0,0
+setvl. 0,21,42,1,0,1
+setvl. 0,21,42,1,1,0
+setvl. 0,21,42,1,1,1
+setvl. 0,21,51,0,0,0
+setvl. 0,21,51,0,0,1
+setvl. 0,21,51,0,1,0
+setvl. 0,21,51,0,1,1
+setvl. 0,21,51,1,0,0
+setvl. 0,21,51,1,0,1
+setvl. 0,21,51,1,1,0
+setvl. 0,21,51,1,1,1
+setvl. 0,21,63,0,0,0
+setvl. 0,21,63,0,0,1
+setvl. 0,21,63,0,1,0
+setvl. 0,21,63,0,1,1
+setvl. 0,21,63,1,0,0
+setvl. 0,21,63,1,0,1
+setvl. 0,21,63,1,1,0
+setvl. 0,21,63,1,1,1
+setvl. 0,21,32,0,0,0
+setvl. 0,21,32,0,0,1
+setvl. 0,21,32,0,1,0
+setvl. 0,21,32,0,1,1
+setvl. 0,21,32,1,0,0
+setvl. 0,21,32,1,0,1
+setvl. 0,21,32,1,1,0
+setvl. 0,21,32,1,1,1
+setvl. 0,27,1,0,0,0
+setvl. 0,27,1,0,0,1
+setvl. 0,27,1,0,1,0
+setvl. 0,27,1,0,1,1
+setvl. 0,27,1,1,0,0
+setvl. 0,27,1,1,0,1
+setvl. 0,27,1,1,1,0
+setvl. 0,27,1,1,1,1
+setvl. 0,27,21,0,0,0
+setvl. 0,27,21,0,0,1
+setvl. 0,27,21,0,1,0
+setvl. 0,27,21,0,1,1
+setvl. 0,27,21,1,0,0
+setvl. 0,27,21,1,0,1
+setvl. 0,27,21,1,1,0
+setvl. 0,27,21,1,1,1
+setvl. 0,27,42,0,0,0
+setvl. 0,27,42,0,0,1
+setvl. 0,27,42,0,1,0
+setvl. 0,27,42,0,1,1
+setvl. 0,27,42,1,0,0
+setvl. 0,27,42,1,0,1
+setvl. 0,27,42,1,1,0
+setvl. 0,27,42,1,1,1
+setvl. 0,27,51,0,0,0
+setvl. 0,27,51,0,0,1
+setvl. 0,27,51,0,1,0
+setvl. 0,27,51,0,1,1
+setvl. 0,27,51,1,0,0
+setvl. 0,27,51,1,0,1
+setvl. 0,27,51,1,1,0
+setvl. 0,27,51,1,1,1
+setvl. 0,27,63,0,0,0
+setvl. 0,27,63,0,0,1
+setvl. 0,27,63,0,1,0
+setvl. 0,27,63,0,1,1
+setvl. 0,27,63,1,0,0
+setvl. 0,27,63,1,0,1
+setvl. 0,27,63,1,1,0
+setvl. 0,27,63,1,1,1
+setvl. 0,27,32,0,0,0
+setvl. 0,27,32,0,0,1
+setvl. 0,27,32,0,1,0
+setvl. 0,27,32,0,1,1
+setvl. 0,27,32,1,0,0
+setvl. 0,27,32,1,0,1
+setvl. 0,27,32,1,1,0
+setvl. 0,27,32,1,1,1
+setvl. 0,31,1,0,0,0
+setvl. 0,31,1,0,0,1
+setvl. 0,31,1,0,1,0
+setvl. 0,31,1,0,1,1
+setvl. 0,31,1,1,0,0
+setvl. 0,31,1,1,0,1
+setvl. 0,31,1,1,1,0
+setvl. 0,31,1,1,1,1
+setvl. 0,31,21,0,0,0
+setvl. 0,31,21,0,0,1
+setvl. 0,31,21,0,1,0
+setvl. 0,31,21,0,1,1
+setvl. 0,31,21,1,0,0
+setvl. 0,31,21,1,0,1
+setvl. 0,31,21,1,1,0
+setvl. 0,31,21,1,1,1
+setvl. 0,31,42,0,0,0
+setvl. 0,31,42,0,0,1
+setvl. 0,31,42,0,1,0
+setvl. 0,31,42,0,1,1
+setvl. 0,31,42,1,0,0
+setvl. 0,31,42,1,0,1
+setvl. 0,31,42,1,1,0
+setvl. 0,31,42,1,1,1
+setvl. 0,31,51,0,0,0
+setvl. 0,31,51,0,0,1
+setvl. 0,31,51,0,1,0
+setvl. 0,31,51,0,1,1
+setvl. 0,31,51,1,0,0
+setvl. 0,31,51,1,0,1
+setvl. 0,31,51,1,1,0
+setvl. 0,31,51,1,1,1
+setvl. 0,31,63,0,0,0
+setvl. 0,31,63,0,0,1
+setvl. 0,31,63,0,1,0
+setvl. 0,31,63,0,1,1
+setvl. 0,31,63,1,0,0
+setvl. 0,31,63,1,0,1
+setvl. 0,31,63,1,1,0
+setvl. 0,31,63,1,1,1
+setvl. 0,31,32,0,0,0
+setvl. 0,31,32,0,0,1
+setvl. 0,31,32,0,1,0
+setvl. 0,31,32,0,1,1
+setvl. 0,31,32,1,0,0
+setvl. 0,31,32,1,0,1
+setvl. 0,31,32,1,1,0
+setvl. 0,31,32,1,1,1
+setvl. 10,0,1,0,0,0
+setvl. 10,0,1,0,0,1
+setvl. 10,0,1,0,1,0
+setvl. 10,0,1,0,1,1
+setvl. 10,0,1,1,0,0
+setvl. 10,0,1,1,0,1
+setvl. 10,0,1,1,1,0
+setvl. 10,0,1,1,1,1
+setvl. 10,0,21,0,0,0
+setvl. 10,0,21,0,0,1
+setvl. 10,0,21,0,1,0
+setvl. 10,0,21,0,1,1
+setvl. 10,0,21,1,0,0
+setvl. 10,0,21,1,0,1
+setvl. 10,0,21,1,1,0
+setvl. 10,0,21,1,1,1
+setvl. 10,0,42,0,0,0
+setvl. 10,0,42,0,0,1
+setvl. 10,0,42,0,1,0
+setvl. 10,0,42,0,1,1
+setvl. 10,0,42,1,0,0
+setvl. 10,0,42,1,0,1
+setvl. 10,0,42,1,1,0
+setvl. 10,0,42,1,1,1
+setvl. 10,0,51,0,0,0
+setvl. 10,0,51,0,0,1
+setvl. 10,0,51,0,1,0
+setvl. 10,0,51,0,1,1
+setvl. 10,0,51,1,0,0
+setvl. 10,0,51,1,0,1
+setvl. 10,0,51,1,1,0
+setvl. 10,0,51,1,1,1
+setvl. 10,0,63,0,0,0
+setvl. 10,0,63,0,0,1
+setvl. 10,0,63,0,1,0
+setvl. 10,0,63,0,1,1
+setvl. 10,0,63,1,0,0
+setvl. 10,0,63,1,0,1
+setvl. 10,0,63,1,1,0
+setvl. 10,0,63,1,1,1
+setvl. 10,0,32,0,0,0
+setvl. 10,0,32,0,0,1
+setvl. 10,0,32,0,1,0
+setvl. 10,0,32,0,1,1
+setvl. 10,0,32,1,0,0
+setvl. 10,0,32,1,0,1
+setvl. 10,0,32,1,1,0
+setvl. 10,0,32,1,1,1
+setvl. 10,10,1,0,0,0
+setvl. 10,10,1,0,0,1
+setvl. 10,10,1,0,1,0
+setvl. 10,10,1,0,1,1
+setvl. 10,10,1,1,0,0
+setvl. 10,10,1,1,0,1
+setvl. 10,10,1,1,1,0
+setvl. 10,10,1,1,1,1
+setvl. 10,10,21,0,0,0
+setvl. 10,10,21,0,0,1
+setvl. 10,10,21,0,1,0
+setvl. 10,10,21,0,1,1
+setvl. 10,10,21,1,0,0
+setvl. 10,10,21,1,0,1
+setvl. 10,10,21,1,1,0
+setvl. 10,10,21,1,1,1
+setvl. 10,10,42,0,0,0
+setvl. 10,10,42,0,0,1
+setvl. 10,10,42,0,1,0
+setvl. 10,10,42,0,1,1
+setvl. 10,10,42,1,0,0
+setvl. 10,10,42,1,0,1
+setvl. 10,10,42,1,1,0
+setvl. 10,10,42,1,1,1
+setvl. 10,10,51,0,0,0
+setvl. 10,10,51,0,0,1
+setvl. 10,10,51,0,1,0
+setvl. 10,10,51,0,1,1
+setvl. 10,10,51,1,0,0
+setvl. 10,10,51,1,0,1
+setvl. 10,10,51,1,1,0
+setvl. 10,10,51,1,1,1
+setvl. 10,10,63,0,0,0
+setvl. 10,10,63,0,0,1
+setvl. 10,10,63,0,1,0
+setvl. 10,10,63,0,1,1
+setvl. 10,10,63,1,0,0
+setvl. 10,10,63,1,0,1
+setvl. 10,10,63,1,1,0
+setvl. 10,10,63,1,1,1
+setvl. 10,10,32,0,0,0
+setvl. 10,10,32,0,0,1
+setvl. 10,10,32,0,1,0
+setvl. 10,10,32,0,1,1
+setvl. 10,10,32,1,0,0
+setvl. 10,10,32,1,0,1
+setvl. 10,10,32,1,1,0
+setvl. 10,10,32,1,1,1
+setvl. 10,21,1,0,0,0
+setvl. 10,21,1,0,0,1
+setvl. 10,21,1,0,1,0
+setvl. 10,21,1,0,1,1
+setvl. 10,21,1,1,0,0
+setvl. 10,21,1,1,0,1
+setvl. 10,21,1,1,1,0
+setvl. 10,21,1,1,1,1
+setvl. 10,21,21,0,0,0
+setvl. 10,21,21,0,0,1
+setvl. 10,21,21,0,1,0
+setvl. 10,21,21,0,1,1
+setvl. 10,21,21,1,0,0
+setvl. 10,21,21,1,0,1
+setvl. 10,21,21,1,1,0
+setvl. 10,21,21,1,1,1
+setvl. 10,21,42,0,0,0
+setvl. 10,21,42,0,0,1
+setvl. 10,21,42,0,1,0
+setvl. 10,21,42,0,1,1
+setvl. 10,21,42,1,0,0
+setvl. 10,21,42,1,0,1
+setvl. 10,21,42,1,1,0
+setvl. 10,21,42,1,1,1
+setvl. 10,21,51,0,0,0
+setvl. 10,21,51,0,0,1
+setvl. 10,21,51,0,1,0
+setvl. 10,21,51,0,1,1
+setvl. 10,21,51,1,0,0
+setvl. 10,21,51,1,0,1
+setvl. 10,21,51,1,1,0
+setvl. 10,21,51,1,1,1
+setvl. 10,21,63,0,0,0
+setvl. 10,21,63,0,0,1
+setvl. 10,21,63,0,1,0
+setvl. 10,21,63,0,1,1
+setvl. 10,21,63,1,0,0
+setvl. 10,21,63,1,0,1
+setvl. 10,21,63,1,1,0
+setvl. 10,21,63,1,1,1
+setvl. 10,21,32,0,0,0
+setvl. 10,21,32,0,0,1
+setvl. 10,21,32,0,1,0
+setvl. 10,21,32,0,1,1
+setvl. 10,21,32,1,0,0
+setvl. 10,21,32,1,0,1
+setvl. 10,21,32,1,1,0
+setvl. 10,21,32,1,1,1
+setvl. 10,27,1,0,0,0
+setvl. 10,27,1,0,0,1
+setvl. 10,27,1,0,1,0
+setvl. 10,27,1,0,1,1
+setvl. 10,27,1,1,0,0
+setvl. 10,27,1,1,0,1
+setvl. 10,27,1,1,1,0
+setvl. 10,27,1,1,1,1
+setvl. 10,27,21,0,0,0
+setvl. 10,27,21,0,0,1
+setvl. 10,27,21,0,1,0
+setvl. 10,27,21,0,1,1
+setvl. 10,27,21,1,0,0
+setvl. 10,27,21,1,0,1
+setvl. 10,27,21,1,1,0
+setvl. 10,27,21,1,1,1
+setvl. 10,27,42,0,0,0
+setvl. 10,27,42,0,0,1
+setvl. 10,27,42,0,1,0
+setvl. 10,27,42,0,1,1
+setvl. 10,27,42,1,0,0
+setvl. 10,27,42,1,0,1
+setvl. 10,27,42,1,1,0
+setvl. 10,27,42,1,1,1
+setvl. 10,27,51,0,0,0
+setvl. 10,27,51,0,0,1
+setvl. 10,27,51,0,1,0
+setvl. 10,27,51,0,1,1
+setvl. 10,27,51,1,0,0
+setvl. 10,27,51,1,0,1
+setvl. 10,27,51,1,1,0
+setvl. 10,27,51,1,1,1
+setvl. 10,27,63,0,0,0
+setvl. 10,27,63,0,0,1
+setvl. 10,27,63,0,1,0
+setvl. 10,27,63,0,1,1
+setvl. 10,27,63,1,0,0
+setvl. 10,27,63,1,0,1
+setvl. 10,27,63,1,1,0
+setvl. 10,27,63,1,1,1
+setvl. 10,27,32,0,0,0
+setvl. 10,27,32,0,0,1
+setvl. 10,27,32,0,1,0
+setvl. 10,27,32,0,1,1
+setvl. 10,27,32,1,0,0
+setvl. 10,27,32,1,0,1
+setvl. 10,27,32,1,1,0
+setvl. 10,27,32,1,1,1
+setvl. 10,31,1,0,0,0
+setvl. 10,31,1,0,0,1
+setvl. 10,31,1,0,1,0
+setvl. 10,31,1,0,1,1
+setvl. 10,31,1,1,0,0
+setvl. 10,31,1,1,0,1
+setvl. 10,31,1,1,1,0
+setvl. 10,31,1,1,1,1
+setvl. 10,31,21,0,0,0
+setvl. 10,31,21,0,0,1
+setvl. 10,31,21,0,1,0
+setvl. 10,31,21,0,1,1
+setvl. 10,31,21,1,0,0
+setvl. 10,31,21,1,0,1
+setvl. 10,31,21,1,1,0
+setvl. 10,31,21,1,1,1
+setvl. 10,31,42,0,0,0
+setvl. 10,31,42,0,0,1
+setvl. 10,31,42,0,1,0
+setvl. 10,31,42,0,1,1
+setvl. 10,31,42,1,0,0
+setvl. 10,31,42,1,0,1
+setvl. 10,31,42,1,1,0
+setvl. 10,31,42,1,1,1
+setvl. 10,31,51,0,0,0
+setvl. 10,31,51,0,0,1
+setvl. 10,31,51,0,1,0
+setvl. 10,31,51,0,1,1
+setvl. 10,31,51,1,0,0
+setvl. 10,31,51,1,0,1
+setvl. 10,31,51,1,1,0
+setvl. 10,31,51,1,1,1
+setvl. 10,31,63,0,0,0
+setvl. 10,31,63,0,0,1
+setvl. 10,31,63,0,1,0
+setvl. 10,31,63,0,1,1
+setvl. 10,31,63,1,0,0
+setvl. 10,31,63,1,0,1
+setvl. 10,31,63,1,1,0
+setvl. 10,31,63,1,1,1
+setvl. 10,31,32,0,0,0
+setvl. 10,31,32,0,0,1
+setvl. 10,31,32,0,1,0
+setvl. 10,31,32,0,1,1
+setvl. 10,31,32,1,0,0
+setvl. 10,31,32,1,0,1
+setvl. 10,31,32,1,1,0
+setvl. 10,31,32,1,1,1
+setvl. 21,0,1,0,0,0
+setvl. 21,0,1,0,0,1
+setvl. 21,0,1,0,1,0
+setvl. 21,0,1,0,1,1
+setvl. 21,0,1,1,0,0
+setvl. 21,0,1,1,0,1
+setvl. 21,0,1,1,1,0
+setvl. 21,0,1,1,1,1
+setvl. 21,0,21,0,0,0
+setvl. 21,0,21,0,0,1
+setvl. 21,0,21,0,1,0
+setvl. 21,0,21,0,1,1
+setvl. 21,0,21,1,0,0
+setvl. 21,0,21,1,0,1
+setvl. 21,0,21,1,1,0
+setvl. 21,0,21,1,1,1
+setvl. 21,0,42,0,0,0
+setvl. 21,0,42,0,0,1
+setvl. 21,0,42,0,1,0
+setvl. 21,0,42,0,1,1
+setvl. 21,0,42,1,0,0
+setvl. 21,0,42,1,0,1
+setvl. 21,0,42,1,1,0
+setvl. 21,0,42,1,1,1
+setvl. 21,0,51,0,0,0
+setvl. 21,0,51,0,0,1
+setvl. 21,0,51,0,1,0
+setvl. 21,0,51,0,1,1
+setvl. 21,0,51,1,0,0
+setvl. 21,0,51,1,0,1
+setvl. 21,0,51,1,1,0
+setvl. 21,0,51,1,1,1
+setvl. 21,0,63,0,0,0
+setvl. 21,0,63,0,0,1
+setvl. 21,0,63,0,1,0
+setvl. 21,0,63,0,1,1
+setvl. 21,0,63,1,0,0
+setvl. 21,0,63,1,0,1
+setvl. 21,0,63,1,1,0
+setvl. 21,0,63,1,1,1
+setvl. 21,0,32,0,0,0
+setvl. 21,0,32,0,0,1
+setvl. 21,0,32,0,1,0
+setvl. 21,0,32,0,1,1
+setvl. 21,0,32,1,0,0
+setvl. 21,0,32,1,0,1
+setvl. 21,0,32,1,1,0
+setvl. 21,0,32,1,1,1
+setvl. 21,10,1,0,0,0
+setvl. 21,10,1,0,0,1
+setvl. 21,10,1,0,1,0
+setvl. 21,10,1,0,1,1
+setvl. 21,10,1,1,0,0
+setvl. 21,10,1,1,0,1
+setvl. 21,10,1,1,1,0
+setvl. 21,10,1,1,1,1
+setvl. 21,10,21,0,0,0
+setvl. 21,10,21,0,0,1
+setvl. 21,10,21,0,1,0
+setvl. 21,10,21,0,1,1
+setvl. 21,10,21,1,0,0
+setvl. 21,10,21,1,0,1
+setvl. 21,10,21,1,1,0
+setvl. 21,10,21,1,1,1
+setvl. 21,10,42,0,0,0
+setvl. 21,10,42,0,0,1
+setvl. 21,10,42,0,1,0
+setvl. 21,10,42,0,1,1
+setvl. 21,10,42,1,0,0
+setvl. 21,10,42,1,0,1
+setvl. 21,10,42,1,1,0
+setvl. 21,10,42,1,1,1
+setvl. 21,10,51,0,0,0
+setvl. 21,10,51,0,0,1
+setvl. 21,10,51,0,1,0
+setvl. 21,10,51,0,1,1
+setvl. 21,10,51,1,0,0
+setvl. 21,10,51,1,0,1
+setvl. 21,10,51,1,1,0
+setvl. 21,10,51,1,1,1
+setvl. 21,10,63,0,0,0
+setvl. 21,10,63,0,0,1
+setvl. 21,10,63,0,1,0
+setvl. 21,10,63,0,1,1
+setvl. 21,10,63,1,0,0
+setvl. 21,10,63,1,0,1
+setvl. 21,10,63,1,1,0
+setvl. 21,10,63,1,1,1
+setvl. 21,10,32,0,0,0
+setvl. 21,10,32,0,0,1
+setvl. 21,10,32,0,1,0
+setvl. 21,10,32,0,1,1
+setvl. 21,10,32,1,0,0
+setvl. 21,10,32,1,0,1
+setvl. 21,10,32,1,1,0
+setvl. 21,10,32,1,1,1
+setvl. 21,21,1,0,0,0
+setvl. 21,21,1,0,0,1
+setvl. 21,21,1,0,1,0
+setvl. 21,21,1,0,1,1
+setvl. 21,21,1,1,0,0
+setvl. 21,21,1,1,0,1
+setvl. 21,21,1,1,1,0
+setvl. 21,21,1,1,1,1
+setvl. 21,21,21,0,0,0
+setvl. 21,21,21,0,0,1
+setvl. 21,21,21,0,1,0
+setvl. 21,21,21,0,1,1
+setvl. 21,21,21,1,0,0
+setvl. 21,21,21,1,0,1
+setvl. 21,21,21,1,1,0
+setvl. 21,21,21,1,1,1
+setvl. 21,21,42,0,0,0
+setvl. 21,21,42,0,0,1
+setvl. 21,21,42,0,1,0
+setvl. 21,21,42,0,1,1
+setvl. 21,21,42,1,0,0
+setvl. 21,21,42,1,0,1
+setvl. 21,21,42,1,1,0
+setvl. 21,21,42,1,1,1
+setvl. 21,21,51,0,0,0
+setvl. 21,21,51,0,0,1
+setvl. 21,21,51,0,1,0
+setvl. 21,21,51,0,1,1
+setvl. 21,21,51,1,0,0
+setvl. 21,21,51,1,0,1
+setvl. 21,21,51,1,1,0
+setvl. 21,21,51,1,1,1
+setvl. 21,21,63,0,0,0
+setvl. 21,21,63,0,0,1
+setvl. 21,21,63,0,1,0
+setvl. 21,21,63,0,1,1
+setvl. 21,21,63,1,0,0
+setvl. 21,21,63,1,0,1
+setvl. 21,21,63,1,1,0
+setvl. 21,21,63,1,1,1
+setvl. 21,21,32,0,0,0
+setvl. 21,21,32,0,0,1
+setvl. 21,21,32,0,1,0
+setvl. 21,21,32,0,1,1
+setvl. 21,21,32,1,0,0
+setvl. 21,21,32,1,0,1
+setvl. 21,21,32,1,1,0
+setvl. 21,21,32,1,1,1
+setvl. 21,27,1,0,0,0
+setvl. 21,27,1,0,0,1
+setvl. 21,27,1,0,1,0
+setvl. 21,27,1,0,1,1
+setvl. 21,27,1,1,0,0
+setvl. 21,27,1,1,0,1
+setvl. 21,27,1,1,1,0
+setvl. 21,27,1,1,1,1
+setvl. 21,27,21,0,0,0
+setvl. 21,27,21,0,0,1
+setvl. 21,27,21,0,1,0
+setvl. 21,27,21,0,1,1
+setvl. 21,27,21,1,0,0
+setvl. 21,27,21,1,0,1
+setvl. 21,27,21,1,1,0
+setvl. 21,27,21,1,1,1
+setvl. 21,27,42,0,0,0
+setvl. 21,27,42,0,0,1
+setvl. 21,27,42,0,1,0
+setvl. 21,27,42,0,1,1
+setvl. 21,27,42,1,0,0
+setvl. 21,27,42,1,0,1
+setvl. 21,27,42,1,1,0
+setvl. 21,27,42,1,1,1
+setvl. 21,27,51,0,0,0
+setvl. 21,27,51,0,0,1
+setvl. 21,27,51,0,1,0
+setvl. 21,27,51,0,1,1
+setvl. 21,27,51,1,0,0
+setvl. 21,27,51,1,0,1
+setvl. 21,27,51,1,1,0
+setvl. 21,27,51,1,1,1
+setvl. 21,27,63,0,0,0
+setvl. 21,27,63,0,0,1
+setvl. 21,27,63,0,1,0
+setvl. 21,27,63,0,1,1
+setvl. 21,27,63,1,0,0
+setvl. 21,27,63,1,0,1
+setvl. 21,27,63,1,1,0
+setvl. 21,27,63,1,1,1
+setvl. 21,27,32,0,0,0
+setvl. 21,27,32,0,0,1
+setvl. 21,27,32,0,1,0
+setvl. 21,27,32,0,1,1
+setvl. 21,27,32,1,0,0
+setvl. 21,27,32,1,0,1
+setvl. 21,27,32,1,1,0
+setvl. 21,27,32,1,1,1
+setvl. 21,31,1,0,0,0
+setvl. 21,31,1,0,0,1
+setvl. 21,31,1,0,1,0
+setvl. 21,31,1,0,1,1
+setvl. 21,31,1,1,0,0
+setvl. 21,31,1,1,0,1
+setvl. 21,31,1,1,1,0
+setvl. 21,31,1,1,1,1
+setvl. 21,31,21,0,0,0
+setvl. 21,31,21,0,0,1
+setvl. 21,31,21,0,1,0
+setvl. 21,31,21,0,1,1
+setvl. 21,31,21,1,0,0
+setvl. 21,31,21,1,0,1
+setvl. 21,31,21,1,1,0
+setvl. 21,31,21,1,1,1
+setvl. 21,31,42,0,0,0
+setvl. 21,31,42,0,0,1
+setvl. 21,31,42,0,1,0
+setvl. 21,31,42,0,1,1
+setvl. 21,31,42,1,0,0
+setvl. 21,31,42,1,0,1
+setvl. 21,31,42,1,1,0
+setvl. 21,31,42,1,1,1
+setvl. 21,31,51,0,0,0
+setvl. 21,31,51,0,0,1
+setvl. 21,31,51,0,1,0
+setvl. 21,31,51,0,1,1
+setvl. 21,31,51,1,0,0
+setvl. 21,31,51,1,0,1
+setvl. 21,31,51,1,1,0
+setvl. 21,31,51,1,1,1
+setvl. 21,31,63,0,0,0
+setvl. 21,31,63,0,0,1
+setvl. 21,31,63,0,1,0
+setvl. 21,31,63,0,1,1
+setvl. 21,31,63,1,0,0
+setvl. 21,31,63,1,0,1
+setvl. 21,31,63,1,1,0
+setvl. 21,31,63,1,1,1
+setvl. 21,31,32,0,0,0
+setvl. 21,31,32,0,0,1
+setvl. 21,31,32,0,1,0
+setvl. 21,31,32,0,1,1
+setvl. 21,31,32,1,0,0
+setvl. 21,31,32,1,0,1
+setvl. 21,31,32,1,1,0
+setvl. 21,31,32,1,1,1
+setvl. 27,0,1,0,0,0
+setvl. 27,0,1,0,0,1
+setvl. 27,0,1,0,1,0
+setvl. 27,0,1,0,1,1
+setvl. 27,0,1,1,0,0
+setvl. 27,0,1,1,0,1
+setvl. 27,0,1,1,1,0
+setvl. 27,0,1,1,1,1
+setvl. 27,0,21,0,0,0
+setvl. 27,0,21,0,0,1
+setvl. 27,0,21,0,1,0
+setvl. 27,0,21,0,1,1
+setvl. 27,0,21,1,0,0
+setvl. 27,0,21,1,0,1
+setvl. 27,0,21,1,1,0
+setvl. 27,0,21,1,1,1
+setvl. 27,0,42,0,0,0
+setvl. 27,0,42,0,0,1
+setvl. 27,0,42,0,1,0
+setvl. 27,0,42,0,1,1
+setvl. 27,0,42,1,0,0
+setvl. 27,0,42,1,0,1
+setvl. 27,0,42,1,1,0
+setvl. 27,0,42,1,1,1
+setvl. 27,0,51,0,0,0
+setvl. 27,0,51,0,0,1
+setvl. 27,0,51,0,1,0
+setvl. 27,0,51,0,1,1
+setvl. 27,0,51,1,0,0
+setvl. 27,0,51,1,0,1
+setvl. 27,0,51,1,1,0
+setvl. 27,0,51,1,1,1
+setvl. 27,0,63,0,0,0
+setvl. 27,0,63,0,0,1
+setvl. 27,0,63,0,1,0
+setvl. 27,0,63,0,1,1
+setvl. 27,0,63,1,0,0
+setvl. 27,0,63,1,0,1
+setvl. 27,0,63,1,1,0
+setvl. 27,0,63,1,1,1
+setvl. 27,0,32,0,0,0
+setvl. 27,0,32,0,0,1
+setvl. 27,0,32,0,1,0
+setvl. 27,0,32,0,1,1
+setvl. 27,0,32,1,0,0
+setvl. 27,0,32,1,0,1
+setvl. 27,0,32,1,1,0
+setvl. 27,0,32,1,1,1
+setvl. 27,10,1,0,0,0
+setvl. 27,10,1,0,0,1
+setvl. 27,10,1,0,1,0
+setvl. 27,10,1,0,1,1
+setvl. 27,10,1,1,0,0
+setvl. 27,10,1,1,0,1
+setvl. 27,10,1,1,1,0
+setvl. 27,10,1,1,1,1
+setvl. 27,10,21,0,0,0
+setvl. 27,10,21,0,0,1
+setvl. 27,10,21,0,1,0
+setvl. 27,10,21,0,1,1
+setvl. 27,10,21,1,0,0
+setvl. 27,10,21,1,0,1
+setvl. 27,10,21,1,1,0
+setvl. 27,10,21,1,1,1
+setvl. 27,10,42,0,0,0
+setvl. 27,10,42,0,0,1
+setvl. 27,10,42,0,1,0
+setvl. 27,10,42,0,1,1
+setvl. 27,10,42,1,0,0
+setvl. 27,10,42,1,0,1
+setvl. 27,10,42,1,1,0
+setvl. 27,10,42,1,1,1
+setvl. 27,10,51,0,0,0
+setvl. 27,10,51,0,0,1
+setvl. 27,10,51,0,1,0
+setvl. 27,10,51,0,1,1
+setvl. 27,10,51,1,0,0
+setvl. 27,10,51,1,0,1
+setvl. 27,10,51,1,1,0
+setvl. 27,10,51,1,1,1
+setvl. 27,10,63,0,0,0
+setvl. 27,10,63,0,0,1
+setvl. 27,10,63,0,1,0
+setvl. 27,10,63,0,1,1
+setvl. 27,10,63,1,0,0
+setvl. 27,10,63,1,0,1
+setvl. 27,10,63,1,1,0
+setvl. 27,10,63,1,1,1
+setvl. 27,10,32,0,0,0
+setvl. 27,10,32,0,0,1
+setvl. 27,10,32,0,1,0
+setvl. 27,10,32,0,1,1
+setvl. 27,10,32,1,0,0
+setvl. 27,10,32,1,0,1
+setvl. 27,10,32,1,1,0
+setvl. 27,10,32,1,1,1
+setvl. 27,21,1,0,0,0
+setvl. 27,21,1,0,0,1
+setvl. 27,21,1,0,1,0
+setvl. 27,21,1,0,1,1
+setvl. 27,21,1,1,0,0
+setvl. 27,21,1,1,0,1
+setvl. 27,21,1,1,1,0
+setvl. 27,21,1,1,1,1
+setvl. 27,21,21,0,0,0
+setvl. 27,21,21,0,0,1
+setvl. 27,21,21,0,1,0
+setvl. 27,21,21,0,1,1
+setvl. 27,21,21,1,0,0
+setvl. 27,21,21,1,0,1
+setvl. 27,21,21,1,1,0
+setvl. 27,21,21,1,1,1
+setvl. 27,21,42,0,0,0
+setvl. 27,21,42,0,0,1
+setvl. 27,21,42,0,1,0
+setvl. 27,21,42,0,1,1
+setvl. 27,21,42,1,0,0
+setvl. 27,21,42,1,0,1
+setvl. 27,21,42,1,1,0
+setvl. 27,21,42,1,1,1
+setvl. 27,21,51,0,0,0
+setvl. 27,21,51,0,0,1
+setvl. 27,21,51,0,1,0
+setvl. 27,21,51,0,1,1
+setvl. 27,21,51,1,0,0
+setvl. 27,21,51,1,0,1
+setvl. 27,21,51,1,1,0
+setvl. 27,21,51,1,1,1
+setvl. 27,21,63,0,0,0
+setvl. 27,21,63,0,0,1
+setvl. 27,21,63,0,1,0
+setvl. 27,21,63,0,1,1
+setvl. 27,21,63,1,0,0
+setvl. 27,21,63,1,0,1
+setvl. 27,21,63,1,1,0
+setvl. 27,21,63,1,1,1
+setvl. 27,21,32,0,0,0
+setvl. 27,21,32,0,0,1
+setvl. 27,21,32,0,1,0
+setvl. 27,21,32,0,1,1
+setvl. 27,21,32,1,0,0
+setvl. 27,21,32,1,0,1
+setvl. 27,21,32,1,1,0
+setvl. 27,21,32,1,1,1
+setvl. 27,27,1,0,0,0
+setvl. 27,27,1,0,0,1
+setvl. 27,27,1,0,1,0
+setvl. 27,27,1,0,1,1
+setvl. 27,27,1,1,0,0
+setvl. 27,27,1,1,0,1
+setvl. 27,27,1,1,1,0
+setvl. 27,27,1,1,1,1
+setvl. 27,27,21,0,0,0
+setvl. 27,27,21,0,0,1
+setvl. 27,27,21,0,1,0
+setvl. 27,27,21,0,1,1
+setvl. 27,27,21,1,0,0
+setvl. 27,27,21,1,0,1
+setvl. 27,27,21,1,1,0
+setvl. 27,27,21,1,1,1
+setvl. 27,27,42,0,0,0
+setvl. 27,27,42,0,0,1
+setvl. 27,27,42,0,1,0
+setvl. 27,27,42,0,1,1
+setvl. 27,27,42,1,0,0
+setvl. 27,27,42,1,0,1
+setvl. 27,27,42,1,1,0
+setvl. 27,27,42,1,1,1
+setvl. 27,27,51,0,0,0
+setvl. 27,27,51,0,0,1
+setvl. 27,27,51,0,1,0
+setvl. 27,27,51,0,1,1
+setvl. 27,27,51,1,0,0
+setvl. 27,27,51,1,0,1
+setvl. 27,27,51,1,1,0
+setvl. 27,27,51,1,1,1
+setvl. 27,27,63,0,0,0
+setvl. 27,27,63,0,0,1
+setvl. 27,27,63,0,1,0
+setvl. 27,27,63,0,1,1
+setvl. 27,27,63,1,0,0
+setvl. 27,27,63,1,0,1
+setvl. 27,27,63,1,1,0
+setvl. 27,27,63,1,1,1
+setvl. 27,27,32,0,0,0
+setvl. 27,27,32,0,0,1
+setvl. 27,27,32,0,1,0
+setvl. 27,27,32,0,1,1
+setvl. 27,27,32,1,0,0
+setvl. 27,27,32,1,0,1
+setvl. 27,27,32,1,1,0
+setvl. 27,27,32,1,1,1
+setvl. 27,31,1,0,0,0
+setvl. 27,31,1,0,0,1
+setvl. 27,31,1,0,1,0
+setvl. 27,31,1,0,1,1
+setvl. 27,31,1,1,0,0
+setvl. 27,31,1,1,0,1
+setvl. 27,31,1,1,1,0
+setvl. 27,31,1,1,1,1
+setvl. 27,31,21,0,0,0
+setvl. 27,31,21,0,0,1
+setvl. 27,31,21,0,1,0
+setvl. 27,31,21,0,1,1
+setvl. 27,31,21,1,0,0
+setvl. 27,31,21,1,0,1
+setvl. 27,31,21,1,1,0
+setvl. 27,31,21,1,1,1
+setvl. 27,31,42,0,0,0
+setvl. 27,31,42,0,0,1
+setvl. 27,31,42,0,1,0
+setvl. 27,31,42,0,1,1
+setvl. 27,31,42,1,0,0
+setvl. 27,31,42,1,0,1
+setvl. 27,31,42,1,1,0
+setvl. 27,31,42,1,1,1
+setvl. 27,31,51,0,0,0
+setvl. 27,31,51,0,0,1
+setvl. 27,31,51,0,1,0
+setvl. 27,31,51,0,1,1
+setvl. 27,31,51,1,0,0
+setvl. 27,31,51,1,0,1
+setvl. 27,31,51,1,1,0
+setvl. 27,31,51,1,1,1
+setvl. 27,31,63,0,0,0
+setvl. 27,31,63,0,0,1
+setvl. 27,31,63,0,1,0
+setvl. 27,31,63,0,1,1
+setvl. 27,31,63,1,0,0
+setvl. 27,31,63,1,0,1
+setvl. 27,31,63,1,1,0
+setvl. 27,31,63,1,1,1
+setvl. 27,31,32,0,0,0
+setvl. 27,31,32,0,0,1
+setvl. 27,31,32,0,1,0
+setvl. 27,31,32,0,1,1
+setvl. 27,31,32,1,0,0
+setvl. 27,31,32,1,0,1
+setvl. 27,31,32,1,1,0
+setvl. 27,31,32,1,1,1
+setvl. 31,0,1,0,0,0
+setvl. 31,0,1,0,0,1
+setvl. 31,0,1,0,1,0
+setvl. 31,0,1,0,1,1
+setvl. 31,0,1,1,0,0
+setvl. 31,0,1,1,0,1
+setvl. 31,0,1,1,1,0
+setvl. 31,0,1,1,1,1
+setvl. 31,0,21,0,0,0
+setvl. 31,0,21,0,0,1
+setvl. 31,0,21,0,1,0
+setvl. 31,0,21,0,1,1
+setvl. 31,0,21,1,0,0
+setvl. 31,0,21,1,0,1
+setvl. 31,0,21,1,1,0
+setvl. 31,0,21,1,1,1
+setvl. 31,0,42,0,0,0
+setvl. 31,0,42,0,0,1
+setvl. 31,0,42,0,1,0
+setvl. 31,0,42,0,1,1
+setvl. 31,0,42,1,0,0
+setvl. 31,0,42,1,0,1
+setvl. 31,0,42,1,1,0
+setvl. 31,0,42,1,1,1
+setvl. 31,0,51,0,0,0
+setvl. 31,0,51,0,0,1
+setvl. 31,0,51,0,1,0
+setvl. 31,0,51,0,1,1
+setvl. 31,0,51,1,0,0
+setvl. 31,0,51,1,0,1
+setvl. 31,0,51,1,1,0
+setvl. 31,0,51,1,1,1
+setvl. 31,0,63,0,0,0
+setvl. 31,0,63,0,0,1
+setvl. 31,0,63,0,1,0
+setvl. 31,0,63,0,1,1
+setvl. 31,0,63,1,0,0
+setvl. 31,0,63,1,0,1
+setvl. 31,0,63,1,1,0
+setvl. 31,0,63,1,1,1
+setvl. 31,0,32,0,0,0
+setvl. 31,0,32,0,0,1
+setvl. 31,0,32,0,1,0
+setvl. 31,0,32,0,1,1
+setvl. 31,0,32,1,0,0
+setvl. 31,0,32,1,0,1
+setvl. 31,0,32,1,1,0
+setvl. 31,0,32,1,1,1
+setvl. 31,10,1,0,0,0
+setvl. 31,10,1,0,0,1
+setvl. 31,10,1,0,1,0
+setvl. 31,10,1,0,1,1
+setvl. 31,10,1,1,0,0
+setvl. 31,10,1,1,0,1
+setvl. 31,10,1,1,1,0
+setvl. 31,10,1,1,1,1
+setvl. 31,10,21,0,0,0
+setvl. 31,10,21,0,0,1
+setvl. 31,10,21,0,1,0
+setvl. 31,10,21,0,1,1
+setvl. 31,10,21,1,0,0
+setvl. 31,10,21,1,0,1
+setvl. 31,10,21,1,1,0
+setvl. 31,10,21,1,1,1
+setvl. 31,10,42,0,0,0
+setvl. 31,10,42,0,0,1
+setvl. 31,10,42,0,1,0
+setvl. 31,10,42,0,1,1
+setvl. 31,10,42,1,0,0
+setvl. 31,10,42,1,0,1
+setvl. 31,10,42,1,1,0
+setvl. 31,10,42,1,1,1
+setvl. 31,10,51,0,0,0
+setvl. 31,10,51,0,0,1
+setvl. 31,10,51,0,1,0
+setvl. 31,10,51,0,1,1
+setvl. 31,10,51,1,0,0
+setvl. 31,10,51,1,0,1
+setvl. 31,10,51,1,1,0
+setvl. 31,10,51,1,1,1
+setvl. 31,10,63,0,0,0
+setvl. 31,10,63,0,0,1
+setvl. 31,10,63,0,1,0
+setvl. 31,10,63,0,1,1
+setvl. 31,10,63,1,0,0
+setvl. 31,10,63,1,0,1
+setvl. 31,10,63,1,1,0
+setvl. 31,10,63,1,1,1
+setvl. 31,10,32,0,0,0
+setvl. 31,10,32,0,0,1
+setvl. 31,10,32,0,1,0
+setvl. 31,10,32,0,1,1
+setvl. 31,10,32,1,0,0
+setvl. 31,10,32,1,0,1
+setvl. 31,10,32,1,1,0
+setvl. 31,10,32,1,1,1
+setvl. 31,21,1,0,0,0
+setvl. 31,21,1,0,0,1
+setvl. 31,21,1,0,1,0
+setvl. 31,21,1,0,1,1
+setvl. 31,21,1,1,0,0
+setvl. 31,21,1,1,0,1
+setvl. 31,21,1,1,1,0
+setvl. 31,21,1,1,1,1
+setvl. 31,21,21,0,0,0
+setvl. 31,21,21,0,0,1
+setvl. 31,21,21,0,1,0
+setvl. 31,21,21,0,1,1
+setvl. 31,21,21,1,0,0
+setvl. 31,21,21,1,0,1
+setvl. 31,21,21,1,1,0
+setvl. 31,21,21,1,1,1
+setvl. 31,21,42,0,0,0
+setvl. 31,21,42,0,0,1
+setvl. 31,21,42,0,1,0
+setvl. 31,21,42,0,1,1
+setvl. 31,21,42,1,0,0
+setvl. 31,21,42,1,0,1
+setvl. 31,21,42,1,1,0
+setvl. 31,21,42,1,1,1
+setvl. 31,21,51,0,0,0
+setvl. 31,21,51,0,0,1
+setvl. 31,21,51,0,1,0
+setvl. 31,21,51,0,1,1
+setvl. 31,21,51,1,0,0
+setvl. 31,21,51,1,0,1
+setvl. 31,21,51,1,1,0
+setvl. 31,21,51,1,1,1
+setvl. 31,21,63,0,0,0
+setvl. 31,21,63,0,0,1
+setvl. 31,21,63,0,1,0
+setvl. 31,21,63,0,1,1
+setvl. 31,21,63,1,0,0
+setvl. 31,21,63,1,0,1
+setvl. 31,21,63,1,1,0
+setvl. 31,21,63,1,1,1
+setvl. 31,21,32,0,0,0
+setvl. 31,21,32,0,0,1
+setvl. 31,21,32,0,1,0
+setvl. 31,21,32,0,1,1
+setvl. 31,21,32,1,0,0
+setvl. 31,21,32,1,0,1
+setvl. 31,21,32,1,1,0
+setvl. 31,21,32,1,1,1
+setvl. 31,27,1,0,0,0
+setvl. 31,27,1,0,0,1
+setvl. 31,27,1,0,1,0
+setvl. 31,27,1,0,1,1
+setvl. 31,27,1,1,0,0
+setvl. 31,27,1,1,0,1
+setvl. 31,27,1,1,1,0
+setvl. 31,27,1,1,1,1
+setvl. 31,27,21,0,0,0
+setvl. 31,27,21,0,0,1
+setvl. 31,27,21,0,1,0
+setvl. 31,27,21,0,1,1
+setvl. 31,27,21,1,0,0
+setvl. 31,27,21,1,0,1
+setvl. 31,27,21,1,1,0
+setvl. 31,27,21,1,1,1
+setvl. 31,27,42,0,0,0
+setvl. 31,27,42,0,0,1
+setvl. 31,27,42,0,1,0
+setvl. 31,27,42,0,1,1
+setvl. 31,27,42,1,0,0
+setvl. 31,27,42,1,0,1
+setvl. 31,27,42,1,1,0
+setvl. 31,27,42,1,1,1
+setvl. 31,27,51,0,0,0
+setvl. 31,27,51,0,0,1
+setvl. 31,27,51,0,1,0
+setvl. 31,27,51,0,1,1
+setvl. 31,27,51,1,0,0
+setvl. 31,27,51,1,0,1
+setvl. 31,27,51,1,1,0
+setvl. 31,27,51,1,1,1
+setvl. 31,27,63,0,0,0
+setvl. 31,27,63,0,0,1
+setvl. 31,27,63,0,1,0
+setvl. 31,27,63,0,1,1
+setvl. 31,27,63,1,0,0
+setvl. 31,27,63,1,0,1
+setvl. 31,27,63,1,1,0
+setvl. 31,27,63,1,1,1
+setvl. 31,27,32,0,0,0
+setvl. 31,27,32,0,0,1
+setvl. 31,27,32,0,1,0
+setvl. 31,27,32,0,1,1
+setvl. 31,27,32,1,0,0
+setvl. 31,27,32,1,0,1
+setvl. 31,27,32,1,1,0
+setvl. 31,27,32,1,1,1
+setvl. 31,31,1,0,0,0
+setvl. 31,31,1,0,0,1
+setvl. 31,31,1,0,1,0
+setvl. 31,31,1,0,1,1
+setvl. 31,31,1,1,0,0
+setvl. 31,31,1,1,0,1
+setvl. 31,31,1,1,1,0
+setvl. 31,31,1,1,1,1
+setvl. 31,31,21,0,0,0
+setvl. 31,31,21,0,0,1
+setvl. 31,31,21,0,1,0
+setvl. 31,31,21,0,1,1
+setvl. 31,31,21,1,0,0
+setvl. 31,31,21,1,0,1
+setvl. 31,31,21,1,1,0
+setvl. 31,31,21,1,1,1
+setvl. 31,31,42,0,0,0
+setvl. 31,31,42,0,0,1
+setvl. 31,31,42,0,1,0
+setvl. 31,31,42,0,1,1
+setvl. 31,31,42,1,0,0
+setvl. 31,31,42,1,0,1
+setvl. 31,31,42,1,1,0
+setvl. 31,31,42,1,1,1
+setvl. 31,31,51,0,0,0
+setvl. 31,31,51,0,0,1
+setvl. 31,31,51,0,1,0
+setvl. 31,31,51,0,1,1
+setvl. 31,31,51,1,0,0
+setvl. 31,31,51,1,0,1
+setvl. 31,31,51,1,1,0
+setvl. 31,31,51,1,1,1
+setvl. 31,31,63,0,0,0
+setvl. 31,31,63,0,0,1
+setvl. 31,31,63,0,1,0
+setvl. 31,31,63,0,1,1
+setvl. 31,31,63,1,0,0
+setvl. 31,31,63,1,0,1
+setvl. 31,31,63,1,1,0
+setvl. 31,31,63,1,1,1
+setvl. 31,31,32,0,0,0
+setvl. 31,31,32,0,0,1
+setvl. 31,31,32,0,1,0
+setvl. 31,31,32,0,1,1
+setvl. 31,31,32,1,0,0
+setvl. 31,31,32,1,0,1
+setvl. 31,31,32,1,1,0
+setvl. 31,31,32,1,1,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index fe2fcaeb1d..0a34417820 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -2719,6 +2719,26 @@ extract_thds (uint64_t insn,
 
   return value;
 }
+
+static uint64_t
+insert_svi (uint64_t insn,
+           int64_t value,
+           ppc_cpu_t dialect ATTRIBUTE_UNUSED,
+           const char **errmsg ATTRIBUTE_UNUSED)
+{
+  if (value <= 0)
+    *errmsg = _("invalid SVi field");
+  return (insn | (((value - 1) & 0x3f) << 9));
+}
+
+static int64_t
+extract_svi (uint64_t insn ATTRIBUTE_UNUSED,
+             ppc_cpu_t dialect ATTRIBUTE_UNUSED,
+             int *invalid ATTRIBUTE_UNUSED)
+{
+  return (((insn >> 9) & 0x3f) + 1);
+}
+
 \f
 /* The operands table.
 
@@ -3825,6 +3845,18 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define HH DDD + 1
   { 0x3, 13, NULL, NULL, 0 },
+
+#define SVi HH + 1
+  { 0x3f, 9, insert_svi, extract_svi, 0 },
+
+#define vf SVi + 1
+  { 0x1, 6, NULL, NULL, 0 },
+
+#define vs vf + 1
+  { 0x1, 7, NULL, NULL, 0 },
+
+#define ms vs + 1
+  { 0x1, 8, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4694,6 +4726,13 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
 #define APU_RT_MASK (APU_MASK | RT_MASK)
 #define APU_RA_MASK (APU_MASK | RA_MASK)
 
+/* An SVL form instruction. */
+#define SVL(op, xop, rc)			\
+  (OP (op)					\
+   | ((((uint64_t)(xop)) & 0x1f) << 1)		\
+   | (((uint64_t)(rc)) & 1))
+#define SVL_MASK	SVL (0x3f, 0x1f, 1)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6763,6 +6802,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"rlmi",	M(22,0),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlmi.",	M(22,1),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 
+{"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
+{"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
+
 {"rotlw",	MME(23,31,0),	MMBME_MASK,  PPCCOM,	PPCVLE|EXT,	{RA, RS, RB}},
 {"rlwnm",	M(23,0),	M_MASK,	     PPCCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlnm",	M(23,0),	M_MASK,	     PWRCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 3/5] ppc/svp64: support svstep instructions
  2022-06-17 19:08 [PATCH 0/5] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  2022-06-17 19:08 ` [PATCH 1/5] svp64: support LibreSOC architecture Dmitry Selyutin
  2022-06-17 19:08 ` [PATCH 2/5] ppc/svp64: support setvl instructions Dmitry Selyutin
@ 2022-06-17 19:08 ` Dmitry Selyutin
  2022-06-17 19:08 ` [PATCH 4/5] ppc/svp64: support svshape instruction Dmitry Selyutin
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-17 19:08 UTC (permalink / raw)
  To: binutils; +Cc: amodra, luke.leighton, Dmitry Selyutin

---
 gas/testsuite/gas/ppc/ppc.exp  |   1 +
 gas/testsuite/gas/ppc/svstep.d | 128 +++++++++++++++++++++++++++++++++
 gas/testsuite/gas/ppc/svstep.s | 120 +++++++++++++++++++++++++++++++
 opcodes/ppc-opc.c              |   3 +
 4 files changed, 252 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svstep.d
 create mode 100644 gas/testsuite/gas/ppc/svstep.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index cd4dd658ce..d4d06d587e 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -155,3 +155,4 @@ run_dump_test "pr27676"
 run_dump_test "raw"
 
 run_dump_test "setvl"
+run_dump_test "svstep"
diff --git a/gas/testsuite/gas/ppc/svstep.d b/gas/testsuite/gas/ppc/svstep.d
new file mode 100644
index 0000000000..772d7857e7
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svstep.d
@@ -0,0 +1,128 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+   0:	26 00 00 58 	svstep  r0,1,0
+   4:	66 00 00 58 	svstep  r0,1,1
+   8:	26 28 00 58 	svstep  r0,21,0
+   c:	66 28 00 58 	svstep  r0,21,1
+  10:	26 52 00 58 	svstep  r0,42,0
+  14:	66 52 00 58 	svstep  r0,42,1
+  18:	26 64 00 58 	svstep  r0,51,0
+  1c:	66 64 00 58 	svstep  r0,51,1
+  20:	26 7c 00 58 	svstep  r0,63,0
+  24:	66 7c 00 58 	svstep  r0,63,1
+  28:	26 3e 00 58 	svstep  r0,32,0
+  2c:	66 3e 00 58 	svstep  r0,32,1
+  30:	26 00 40 59 	svstep  r10,1,0
+  34:	66 00 40 59 	svstep  r10,1,1
+  38:	26 28 40 59 	svstep  r10,21,0
+  3c:	66 28 40 59 	svstep  r10,21,1
+  40:	26 52 40 59 	svstep  r10,42,0
+  44:	66 52 40 59 	svstep  r10,42,1
+  48:	26 64 40 59 	svstep  r10,51,0
+  4c:	66 64 40 59 	svstep  r10,51,1
+  50:	26 7c 40 59 	svstep  r10,63,0
+  54:	66 7c 40 59 	svstep  r10,63,1
+  58:	26 3e 40 59 	svstep  r10,32,0
+  5c:	66 3e 40 59 	svstep  r10,32,1
+  60:	26 00 a0 5a 	svstep  r21,1,0
+  64:	66 00 a0 5a 	svstep  r21,1,1
+  68:	26 28 a0 5a 	svstep  r21,21,0
+  6c:	66 28 a0 5a 	svstep  r21,21,1
+  70:	26 52 a0 5a 	svstep  r21,42,0
+  74:	66 52 a0 5a 	svstep  r21,42,1
+  78:	26 64 a0 5a 	svstep  r21,51,0
+  7c:	66 64 a0 5a 	svstep  r21,51,1
+  80:	26 7c a0 5a 	svstep  r21,63,0
+  84:	66 7c a0 5a 	svstep  r21,63,1
+  88:	26 3e a0 5a 	svstep  r21,32,0
+  8c:	66 3e a0 5a 	svstep  r21,32,1
+  90:	26 00 60 5b 	svstep  r27,1,0
+  94:	66 00 60 5b 	svstep  r27,1,1
+  98:	26 28 60 5b 	svstep  r27,21,0
+  9c:	66 28 60 5b 	svstep  r27,21,1
+  a0:	26 52 60 5b 	svstep  r27,42,0
+  a4:	66 52 60 5b 	svstep  r27,42,1
+  a8:	26 64 60 5b 	svstep  r27,51,0
+  ac:	66 64 60 5b 	svstep  r27,51,1
+  b0:	26 7c 60 5b 	svstep  r27,63,0
+  b4:	66 7c 60 5b 	svstep  r27,63,1
+  b8:	26 3e 60 5b 	svstep  r27,32,0
+  bc:	66 3e 60 5b 	svstep  r27,32,1
+  c0:	26 00 e0 5b 	svstep  r31,1,0
+  c4:	66 00 e0 5b 	svstep  r31,1,1
+  c8:	26 28 e0 5b 	svstep  r31,21,0
+  cc:	66 28 e0 5b 	svstep  r31,21,1
+  d0:	26 52 e0 5b 	svstep  r31,42,0
+  d4:	66 52 e0 5b 	svstep  r31,42,1
+  d8:	26 64 e0 5b 	svstep  r31,51,0
+  dc:	66 64 e0 5b 	svstep  r31,51,1
+  e0:	26 7c e0 5b 	svstep  r31,63,0
+  e4:	66 7c e0 5b 	svstep  r31,63,1
+  e8:	26 3e e0 5b 	svstep  r31,32,0
+  ec:	66 3e e0 5b 	svstep  r31,32,1
+  f0:	27 00 00 58 	svstep\. r0,1,0
+  f4:	67 00 00 58 	svstep\. r0,1,1
+  f8:	27 28 00 58 	svstep\. r0,21,0
+  fc:	67 28 00 58 	svstep\. r0,21,1
+ 100:	27 52 00 58 	svstep\. r0,42,0
+ 104:	67 52 00 58 	svstep\. r0,42,1
+ 108:	27 64 00 58 	svstep\. r0,51,0
+ 10c:	67 64 00 58 	svstep\. r0,51,1
+ 110:	27 7c 00 58 	svstep\. r0,63,0
+ 114:	67 7c 00 58 	svstep\. r0,63,1
+ 118:	27 3e 00 58 	svstep\. r0,32,0
+ 11c:	67 3e 00 58 	svstep\. r0,32,1
+ 120:	27 00 40 59 	svstep\. r10,1,0
+ 124:	67 00 40 59 	svstep\. r10,1,1
+ 128:	27 28 40 59 	svstep\. r10,21,0
+ 12c:	67 28 40 59 	svstep\. r10,21,1
+ 130:	27 52 40 59 	svstep\. r10,42,0
+ 134:	67 52 40 59 	svstep\. r10,42,1
+ 138:	27 64 40 59 	svstep\. r10,51,0
+ 13c:	67 64 40 59 	svstep\. r10,51,1
+ 140:	27 7c 40 59 	svstep\. r10,63,0
+ 144:	67 7c 40 59 	svstep\. r10,63,1
+ 148:	27 3e 40 59 	svstep\. r10,32,0
+ 14c:	67 3e 40 59 	svstep\. r10,32,1
+ 150:	27 00 a0 5a 	svstep\. r21,1,0
+ 154:	67 00 a0 5a 	svstep\. r21,1,1
+ 158:	27 28 a0 5a 	svstep\. r21,21,0
+ 15c:	67 28 a0 5a 	svstep\. r21,21,1
+ 160:	27 52 a0 5a 	svstep\. r21,42,0
+ 164:	67 52 a0 5a 	svstep\. r21,42,1
+ 168:	27 64 a0 5a 	svstep\. r21,51,0
+ 16c:	67 64 a0 5a 	svstep\. r21,51,1
+ 170:	27 7c a0 5a 	svstep\. r21,63,0
+ 174:	67 7c a0 5a 	svstep\. r21,63,1
+ 178:	27 3e a0 5a 	svstep\. r21,32,0
+ 17c:	67 3e a0 5a 	svstep\. r21,32,1
+ 180:	27 00 60 5b 	svstep\. r27,1,0
+ 184:	67 00 60 5b 	svstep\. r27,1,1
+ 188:	27 28 60 5b 	svstep\. r27,21,0
+ 18c:	67 28 60 5b 	svstep\. r27,21,1
+ 190:	27 52 60 5b 	svstep\. r27,42,0
+ 194:	67 52 60 5b 	svstep\. r27,42,1
+ 198:	27 64 60 5b 	svstep\. r27,51,0
+ 19c:	67 64 60 5b 	svstep\. r27,51,1
+ 1a0:	27 7c 60 5b 	svstep\. r27,63,0
+ 1a4:	67 7c 60 5b 	svstep\. r27,63,1
+ 1a8:	27 3e 60 5b 	svstep\. r27,32,0
+ 1ac:	67 3e 60 5b 	svstep\. r27,32,1
+ 1b0:	27 00 e0 5b 	svstep\. r31,1,0
+ 1b4:	67 00 e0 5b 	svstep\. r31,1,1
+ 1b8:	27 28 e0 5b 	svstep\. r31,21,0
+ 1bc:	67 28 e0 5b 	svstep\. r31,21,1
+ 1c0:	27 52 e0 5b 	svstep\. r31,42,0
+ 1c4:	67 52 e0 5b 	svstep\. r31,42,1
+ 1c8:	27 64 e0 5b 	svstep\. r31,51,0
+ 1cc:	67 64 e0 5b 	svstep\. r31,51,1
+ 1d0:	27 7c e0 5b 	svstep\. r31,63,0
+ 1d4:	67 7c e0 5b 	svstep\. r31,63,1
+ 1d8:	27 3e e0 5b 	svstep\. r31,32,0
+ 1dc:	67 3e e0 5b 	svstep\. r31,32,1
diff --git a/gas/testsuite/gas/ppc/svstep.s b/gas/testsuite/gas/ppc/svstep.s
new file mode 100644
index 0000000000..f41547ad63
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svstep.s
@@ -0,0 +1,120 @@
+svstep 0,1,0
+svstep 0,1,1
+svstep 0,21,0
+svstep 0,21,1
+svstep 0,42,0
+svstep 0,42,1
+svstep 0,51,0
+svstep 0,51,1
+svstep 0,63,0
+svstep 0,63,1
+svstep 0,32,0
+svstep 0,32,1
+svstep 10,1,0
+svstep 10,1,1
+svstep 10,21,0
+svstep 10,21,1
+svstep 10,42,0
+svstep 10,42,1
+svstep 10,51,0
+svstep 10,51,1
+svstep 10,63,0
+svstep 10,63,1
+svstep 10,32,0
+svstep 10,32,1
+svstep 21,1,0
+svstep 21,1,1
+svstep 21,21,0
+svstep 21,21,1
+svstep 21,42,0
+svstep 21,42,1
+svstep 21,51,0
+svstep 21,51,1
+svstep 21,63,0
+svstep 21,63,1
+svstep 21,32,0
+svstep 21,32,1
+svstep 27,1,0
+svstep 27,1,1
+svstep 27,21,0
+svstep 27,21,1
+svstep 27,42,0
+svstep 27,42,1
+svstep 27,51,0
+svstep 27,51,1
+svstep 27,63,0
+svstep 27,63,1
+svstep 27,32,0
+svstep 27,32,1
+svstep 31,1,0
+svstep 31,1,1
+svstep 31,21,0
+svstep 31,21,1
+svstep 31,42,0
+svstep 31,42,1
+svstep 31,51,0
+svstep 31,51,1
+svstep 31,63,0
+svstep 31,63,1
+svstep 31,32,0
+svstep 31,32,1
+svstep. 0,1,0
+svstep. 0,1,1
+svstep. 0,21,0
+svstep. 0,21,1
+svstep. 0,42,0
+svstep. 0,42,1
+svstep. 0,51,0
+svstep. 0,51,1
+svstep. 0,63,0
+svstep. 0,63,1
+svstep. 0,32,0
+svstep. 0,32,1
+svstep. 10,1,0
+svstep. 10,1,1
+svstep. 10,21,0
+svstep. 10,21,1
+svstep. 10,42,0
+svstep. 10,42,1
+svstep. 10,51,0
+svstep. 10,51,1
+svstep. 10,63,0
+svstep. 10,63,1
+svstep. 10,32,0
+svstep. 10,32,1
+svstep. 21,1,0
+svstep. 21,1,1
+svstep. 21,21,0
+svstep. 21,21,1
+svstep. 21,42,0
+svstep. 21,42,1
+svstep. 21,51,0
+svstep. 21,51,1
+svstep. 21,63,0
+svstep. 21,63,1
+svstep. 21,32,0
+svstep. 21,32,1
+svstep. 27,1,0
+svstep. 27,1,1
+svstep. 27,21,0
+svstep. 27,21,1
+svstep. 27,42,0
+svstep. 27,42,1
+svstep. 27,51,0
+svstep. 27,51,1
+svstep. 27,63,0
+svstep. 27,63,1
+svstep. 27,32,0
+svstep. 27,32,1
+svstep. 31,1,0
+svstep. 31,1,1
+svstep. 31,21,0
+svstep. 31,21,1
+svstep. 31,42,0
+svstep. 31,42,1
+svstep. 31,51,0
+svstep. 31,51,1
+svstep. 31,63,0
+svstep. 31,63,1
+svstep. 31,32,0
+svstep. 31,32,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 0a34417820..b053a15125 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -6802,6 +6802,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"rlmi",	M(22,0),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlmi.",	M(22,1),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 
+{"svstep",	SVL(22,19,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+{"svstep.",	SVL(22,19,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 4/5] ppc/svp64: support svshape instruction
  2022-06-17 19:08 [PATCH 0/5] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                   ` (2 preceding siblings ...)
  2022-06-17 19:08 ` [PATCH 3/5] ppc/svp64: support svstep instructions Dmitry Selyutin
@ 2022-06-17 19:08 ` Dmitry Selyutin
  2022-06-19 23:49 ` [PATCH 0/5] ppc/svp64: support SVP64 and its first insns Alan Modra
  2022-06-21 11:51 ` [PATCH v2 " Dmitry Selyutin
  5 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-17 19:08 UTC (permalink / raw)
  To: binutils; +Cc: amodra, luke.leighton, Dmitry Selyutin

---
 gas/testsuite/gas/ppc/ppc.exp   |    1 +
 gas/testsuite/gas/ppc/svshape.d | 1736 +++++++++++++++++++++++++++++++
 gas/testsuite/gas/ppc/svshape.s | 1728 ++++++++++++++++++++++++++++++
 opcodes/ppc-opc.c               |   93 ++
 4 files changed, 3558 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svshape.d
 create mode 100644 gas/testsuite/gas/ppc/svshape.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index d4d06d587e..04082439bb 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -156,3 +156,4 @@ run_dump_test "raw"
 
 run_dump_test "setvl"
 run_dump_test "svstep"
+run_dump_test "svshape"
diff --git a/gas/testsuite/gas/ppc/svshape.d b/gas/testsuite/gas/ppc/svshape.d
new file mode 100644
index 0000000000..e78784bed1
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svshape.d
@@ -0,0 +1,1736 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+       0:	19 00 00 58 	svshape 1,1,1,0,0
+       4:	59 00 00 58 	svshape 1,1,1,0,1
+       8:	99 02 00 58 	svshape 1,1,1,5,0
+       c:	d9 02 00 58 	svshape 1,1,1,5,1
+      10:	19 05 00 58 	svshape 1,1,1,10,0
+      14:	59 05 00 58 	svshape 1,1,1,10,1
+      18:	99 07 00 58 	svshape 1,1,1,15,0
+      1c:	d9 07 00 58 	svshape 1,1,1,15,1
+      20:	19 48 00 58 	svshape 1,1,10,0,0
+      24:	59 48 00 58 	svshape 1,1,10,0,1
+      28:	99 4a 00 58 	svshape 1,1,10,5,0
+      2c:	d9 4a 00 58 	svshape 1,1,10,5,1
+      30:	19 4d 00 58 	svshape 1,1,10,10,0
+      34:	59 4d 00 58 	svshape 1,1,10,10,1
+      38:	99 4f 00 58 	svshape 1,1,10,15,0
+      3c:	d9 4f 00 58 	svshape 1,1,10,15,1
+      40:	19 a0 00 58 	svshape 1,1,21,0,0
+      44:	59 a0 00 58 	svshape 1,1,21,0,1
+      48:	99 a2 00 58 	svshape 1,1,21,5,0
+      4c:	d9 a2 00 58 	svshape 1,1,21,5,1
+      50:	19 a5 00 58 	svshape 1,1,21,10,0
+      54:	59 a5 00 58 	svshape 1,1,21,10,1
+      58:	99 a7 00 58 	svshape 1,1,21,15,0
+      5c:	d9 a7 00 58 	svshape 1,1,21,15,1
+      60:	19 d0 00 58 	svshape 1,1,27,0,0
+      64:	59 d0 00 58 	svshape 1,1,27,0,1
+      68:	99 d2 00 58 	svshape 1,1,27,5,0
+      6c:	d9 d2 00 58 	svshape 1,1,27,5,1
+      70:	19 d5 00 58 	svshape 1,1,27,10,0
+      74:	59 d5 00 58 	svshape 1,1,27,10,1
+      78:	99 d7 00 58 	svshape 1,1,27,15,0
+      7c:	d9 d7 00 58 	svshape 1,1,27,15,1
+      80:	19 f0 00 58 	svshape 1,1,31,0,0
+      84:	59 f0 00 58 	svshape 1,1,31,0,1
+      88:	99 f2 00 58 	svshape 1,1,31,5,0
+      8c:	d9 f2 00 58 	svshape 1,1,31,5,1
+      90:	19 f5 00 58 	svshape 1,1,31,10,0
+      94:	59 f5 00 58 	svshape 1,1,31,10,1
+      98:	99 f7 00 58 	svshape 1,1,31,15,0
+      9c:	d9 f7 00 58 	svshape 1,1,31,15,1
+      a0:	19 78 00 58 	svshape 1,1,16,0,0
+      a4:	59 78 00 58 	svshape 1,1,16,0,1
+      a8:	99 7a 00 58 	svshape 1,1,16,5,0
+      ac:	d9 7a 00 58 	svshape 1,1,16,5,1
+      b0:	19 7d 00 58 	svshape 1,1,16,10,0
+      b4:	59 7d 00 58 	svshape 1,1,16,10,1
+      b8:	99 7f 00 58 	svshape 1,1,16,15,0
+      bc:	d9 7f 00 58 	svshape 1,1,16,15,1
+      c0:	19 00 09 58 	svshape 1,10,1,0,0
+      c4:	59 00 09 58 	svshape 1,10,1,0,1
+      c8:	99 02 09 58 	svshape 1,10,1,5,0
+      cc:	d9 02 09 58 	svshape 1,10,1,5,1
+      d0:	19 05 09 58 	svshape 1,10,1,10,0
+      d4:	59 05 09 58 	svshape 1,10,1,10,1
+      d8:	99 07 09 58 	svshape 1,10,1,15,0
+      dc:	d9 07 09 58 	svshape 1,10,1,15,1
+      e0:	19 48 09 58 	svshape 1,10,10,0,0
+      e4:	59 48 09 58 	svshape 1,10,10,0,1
+      e8:	99 4a 09 58 	svshape 1,10,10,5,0
+      ec:	d9 4a 09 58 	svshape 1,10,10,5,1
+      f0:	19 4d 09 58 	svshape 1,10,10,10,0
+      f4:	59 4d 09 58 	svshape 1,10,10,10,1
+      f8:	99 4f 09 58 	svshape 1,10,10,15,0
+      fc:	d9 4f 09 58 	svshape 1,10,10,15,1
+     100:	19 a0 09 58 	svshape 1,10,21,0,0
+     104:	59 a0 09 58 	svshape 1,10,21,0,1
+     108:	99 a2 09 58 	svshape 1,10,21,5,0
+     10c:	d9 a2 09 58 	svshape 1,10,21,5,1
+     110:	19 a5 09 58 	svshape 1,10,21,10,0
+     114:	59 a5 09 58 	svshape 1,10,21,10,1
+     118:	99 a7 09 58 	svshape 1,10,21,15,0
+     11c:	d9 a7 09 58 	svshape 1,10,21,15,1
+     120:	19 d0 09 58 	svshape 1,10,27,0,0
+     124:	59 d0 09 58 	svshape 1,10,27,0,1
+     128:	99 d2 09 58 	svshape 1,10,27,5,0
+     12c:	d9 d2 09 58 	svshape 1,10,27,5,1
+     130:	19 d5 09 58 	svshape 1,10,27,10,0
+     134:	59 d5 09 58 	svshape 1,10,27,10,1
+     138:	99 d7 09 58 	svshape 1,10,27,15,0
+     13c:	d9 d7 09 58 	svshape 1,10,27,15,1
+     140:	19 f0 09 58 	svshape 1,10,31,0,0
+     144:	59 f0 09 58 	svshape 1,10,31,0,1
+     148:	99 f2 09 58 	svshape 1,10,31,5,0
+     14c:	d9 f2 09 58 	svshape 1,10,31,5,1
+     150:	19 f5 09 58 	svshape 1,10,31,10,0
+     154:	59 f5 09 58 	svshape 1,10,31,10,1
+     158:	99 f7 09 58 	svshape 1,10,31,15,0
+     15c:	d9 f7 09 58 	svshape 1,10,31,15,1
+     160:	19 78 09 58 	svshape 1,10,16,0,0
+     164:	59 78 09 58 	svshape 1,10,16,0,1
+     168:	99 7a 09 58 	svshape 1,10,16,5,0
+     16c:	d9 7a 09 58 	svshape 1,10,16,5,1
+     170:	19 7d 09 58 	svshape 1,10,16,10,0
+     174:	59 7d 09 58 	svshape 1,10,16,10,1
+     178:	99 7f 09 58 	svshape 1,10,16,15,0
+     17c:	d9 7f 09 58 	svshape 1,10,16,15,1
+     180:	19 00 14 58 	svshape 1,21,1,0,0
+     184:	59 00 14 58 	svshape 1,21,1,0,1
+     188:	99 02 14 58 	svshape 1,21,1,5,0
+     18c:	d9 02 14 58 	svshape 1,21,1,5,1
+     190:	19 05 14 58 	svshape 1,21,1,10,0
+     194:	59 05 14 58 	svshape 1,21,1,10,1
+     198:	99 07 14 58 	svshape 1,21,1,15,0
+     19c:	d9 07 14 58 	svshape 1,21,1,15,1
+     1a0:	19 48 14 58 	svshape 1,21,10,0,0
+     1a4:	59 48 14 58 	svshape 1,21,10,0,1
+     1a8:	99 4a 14 58 	svshape 1,21,10,5,0
+     1ac:	d9 4a 14 58 	svshape 1,21,10,5,1
+     1b0:	19 4d 14 58 	svshape 1,21,10,10,0
+     1b4:	59 4d 14 58 	svshape 1,21,10,10,1
+     1b8:	99 4f 14 58 	svshape 1,21,10,15,0
+     1bc:	d9 4f 14 58 	svshape 1,21,10,15,1
+     1c0:	19 a0 14 58 	svshape 1,21,21,0,0
+     1c4:	59 a0 14 58 	svshape 1,21,21,0,1
+     1c8:	99 a2 14 58 	svshape 1,21,21,5,0
+     1cc:	d9 a2 14 58 	svshape 1,21,21,5,1
+     1d0:	19 a5 14 58 	svshape 1,21,21,10,0
+     1d4:	59 a5 14 58 	svshape 1,21,21,10,1
+     1d8:	99 a7 14 58 	svshape 1,21,21,15,0
+     1dc:	d9 a7 14 58 	svshape 1,21,21,15,1
+     1e0:	19 d0 14 58 	svshape 1,21,27,0,0
+     1e4:	59 d0 14 58 	svshape 1,21,27,0,1
+     1e8:	99 d2 14 58 	svshape 1,21,27,5,0
+     1ec:	d9 d2 14 58 	svshape 1,21,27,5,1
+     1f0:	19 d5 14 58 	svshape 1,21,27,10,0
+     1f4:	59 d5 14 58 	svshape 1,21,27,10,1
+     1f8:	99 d7 14 58 	svshape 1,21,27,15,0
+     1fc:	d9 d7 14 58 	svshape 1,21,27,15,1
+     200:	19 f0 14 58 	svshape 1,21,31,0,0
+     204:	59 f0 14 58 	svshape 1,21,31,0,1
+     208:	99 f2 14 58 	svshape 1,21,31,5,0
+     20c:	d9 f2 14 58 	svshape 1,21,31,5,1
+     210:	19 f5 14 58 	svshape 1,21,31,10,0
+     214:	59 f5 14 58 	svshape 1,21,31,10,1
+     218:	99 f7 14 58 	svshape 1,21,31,15,0
+     21c:	d9 f7 14 58 	svshape 1,21,31,15,1
+     220:	19 78 14 58 	svshape 1,21,16,0,0
+     224:	59 78 14 58 	svshape 1,21,16,0,1
+     228:	99 7a 14 58 	svshape 1,21,16,5,0
+     22c:	d9 7a 14 58 	svshape 1,21,16,5,1
+     230:	19 7d 14 58 	svshape 1,21,16,10,0
+     234:	59 7d 14 58 	svshape 1,21,16,10,1
+     238:	99 7f 14 58 	svshape 1,21,16,15,0
+     23c:	d9 7f 14 58 	svshape 1,21,16,15,1
+     240:	19 00 1a 58 	svshape 1,27,1,0,0
+     244:	59 00 1a 58 	svshape 1,27,1,0,1
+     248:	99 02 1a 58 	svshape 1,27,1,5,0
+     24c:	d9 02 1a 58 	svshape 1,27,1,5,1
+     250:	19 05 1a 58 	svshape 1,27,1,10,0
+     254:	59 05 1a 58 	svshape 1,27,1,10,1
+     258:	99 07 1a 58 	svshape 1,27,1,15,0
+     25c:	d9 07 1a 58 	svshape 1,27,1,15,1
+     260:	19 48 1a 58 	svshape 1,27,10,0,0
+     264:	59 48 1a 58 	svshape 1,27,10,0,1
+     268:	99 4a 1a 58 	svshape 1,27,10,5,0
+     26c:	d9 4a 1a 58 	svshape 1,27,10,5,1
+     270:	19 4d 1a 58 	svshape 1,27,10,10,0
+     274:	59 4d 1a 58 	svshape 1,27,10,10,1
+     278:	99 4f 1a 58 	svshape 1,27,10,15,0
+     27c:	d9 4f 1a 58 	svshape 1,27,10,15,1
+     280:	19 a0 1a 58 	svshape 1,27,21,0,0
+     284:	59 a0 1a 58 	svshape 1,27,21,0,1
+     288:	99 a2 1a 58 	svshape 1,27,21,5,0
+     28c:	d9 a2 1a 58 	svshape 1,27,21,5,1
+     290:	19 a5 1a 58 	svshape 1,27,21,10,0
+     294:	59 a5 1a 58 	svshape 1,27,21,10,1
+     298:	99 a7 1a 58 	svshape 1,27,21,15,0
+     29c:	d9 a7 1a 58 	svshape 1,27,21,15,1
+     2a0:	19 d0 1a 58 	svshape 1,27,27,0,0
+     2a4:	59 d0 1a 58 	svshape 1,27,27,0,1
+     2a8:	99 d2 1a 58 	svshape 1,27,27,5,0
+     2ac:	d9 d2 1a 58 	svshape 1,27,27,5,1
+     2b0:	19 d5 1a 58 	svshape 1,27,27,10,0
+     2b4:	59 d5 1a 58 	svshape 1,27,27,10,1
+     2b8:	99 d7 1a 58 	svshape 1,27,27,15,0
+     2bc:	d9 d7 1a 58 	svshape 1,27,27,15,1
+     2c0:	19 f0 1a 58 	svshape 1,27,31,0,0
+     2c4:	59 f0 1a 58 	svshape 1,27,31,0,1
+     2c8:	99 f2 1a 58 	svshape 1,27,31,5,0
+     2cc:	d9 f2 1a 58 	svshape 1,27,31,5,1
+     2d0:	19 f5 1a 58 	svshape 1,27,31,10,0
+     2d4:	59 f5 1a 58 	svshape 1,27,31,10,1
+     2d8:	99 f7 1a 58 	svshape 1,27,31,15,0
+     2dc:	d9 f7 1a 58 	svshape 1,27,31,15,1
+     2e0:	19 78 1a 58 	svshape 1,27,16,0,0
+     2e4:	59 78 1a 58 	svshape 1,27,16,0,1
+     2e8:	99 7a 1a 58 	svshape 1,27,16,5,0
+     2ec:	d9 7a 1a 58 	svshape 1,27,16,5,1
+     2f0:	19 7d 1a 58 	svshape 1,27,16,10,0
+     2f4:	59 7d 1a 58 	svshape 1,27,16,10,1
+     2f8:	99 7f 1a 58 	svshape 1,27,16,15,0
+     2fc:	d9 7f 1a 58 	svshape 1,27,16,15,1
+     300:	19 00 1e 58 	svshape 1,31,1,0,0
+     304:	59 00 1e 58 	svshape 1,31,1,0,1
+     308:	99 02 1e 58 	svshape 1,31,1,5,0
+     30c:	d9 02 1e 58 	svshape 1,31,1,5,1
+     310:	19 05 1e 58 	svshape 1,31,1,10,0
+     314:	59 05 1e 58 	svshape 1,31,1,10,1
+     318:	99 07 1e 58 	svshape 1,31,1,15,0
+     31c:	d9 07 1e 58 	svshape 1,31,1,15,1
+     320:	19 48 1e 58 	svshape 1,31,10,0,0
+     324:	59 48 1e 58 	svshape 1,31,10,0,1
+     328:	99 4a 1e 58 	svshape 1,31,10,5,0
+     32c:	d9 4a 1e 58 	svshape 1,31,10,5,1
+     330:	19 4d 1e 58 	svshape 1,31,10,10,0
+     334:	59 4d 1e 58 	svshape 1,31,10,10,1
+     338:	99 4f 1e 58 	svshape 1,31,10,15,0
+     33c:	d9 4f 1e 58 	svshape 1,31,10,15,1
+     340:	19 a0 1e 58 	svshape 1,31,21,0,0
+     344:	59 a0 1e 58 	svshape 1,31,21,0,1
+     348:	99 a2 1e 58 	svshape 1,31,21,5,0
+     34c:	d9 a2 1e 58 	svshape 1,31,21,5,1
+     350:	19 a5 1e 58 	svshape 1,31,21,10,0
+     354:	59 a5 1e 58 	svshape 1,31,21,10,1
+     358:	99 a7 1e 58 	svshape 1,31,21,15,0
+     35c:	d9 a7 1e 58 	svshape 1,31,21,15,1
+     360:	19 d0 1e 58 	svshape 1,31,27,0,0
+     364:	59 d0 1e 58 	svshape 1,31,27,0,1
+     368:	99 d2 1e 58 	svshape 1,31,27,5,0
+     36c:	d9 d2 1e 58 	svshape 1,31,27,5,1
+     370:	19 d5 1e 58 	svshape 1,31,27,10,0
+     374:	59 d5 1e 58 	svshape 1,31,27,10,1
+     378:	99 d7 1e 58 	svshape 1,31,27,15,0
+     37c:	d9 d7 1e 58 	svshape 1,31,27,15,1
+     380:	19 f0 1e 58 	svshape 1,31,31,0,0
+     384:	59 f0 1e 58 	svshape 1,31,31,0,1
+     388:	99 f2 1e 58 	svshape 1,31,31,5,0
+     38c:	d9 f2 1e 58 	svshape 1,31,31,5,1
+     390:	19 f5 1e 58 	svshape 1,31,31,10,0
+     394:	59 f5 1e 58 	svshape 1,31,31,10,1
+     398:	99 f7 1e 58 	svshape 1,31,31,15,0
+     39c:	d9 f7 1e 58 	svshape 1,31,31,15,1
+     3a0:	19 78 1e 58 	svshape 1,31,16,0,0
+     3a4:	59 78 1e 58 	svshape 1,31,16,0,1
+     3a8:	99 7a 1e 58 	svshape 1,31,16,5,0
+     3ac:	d9 7a 1e 58 	svshape 1,31,16,5,1
+     3b0:	19 7d 1e 58 	svshape 1,31,16,10,0
+     3b4:	59 7d 1e 58 	svshape 1,31,16,10,1
+     3b8:	99 7f 1e 58 	svshape 1,31,16,15,0
+     3bc:	d9 7f 1e 58 	svshape 1,31,16,15,1
+     3c0:	19 00 0f 58 	svshape 1,16,1,0,0
+     3c4:	59 00 0f 58 	svshape 1,16,1,0,1
+     3c8:	99 02 0f 58 	svshape 1,16,1,5,0
+     3cc:	d9 02 0f 58 	svshape 1,16,1,5,1
+     3d0:	19 05 0f 58 	svshape 1,16,1,10,0
+     3d4:	59 05 0f 58 	svshape 1,16,1,10,1
+     3d8:	99 07 0f 58 	svshape 1,16,1,15,0
+     3dc:	d9 07 0f 58 	svshape 1,16,1,15,1
+     3e0:	19 48 0f 58 	svshape 1,16,10,0,0
+     3e4:	59 48 0f 58 	svshape 1,16,10,0,1
+     3e8:	99 4a 0f 58 	svshape 1,16,10,5,0
+     3ec:	d9 4a 0f 58 	svshape 1,16,10,5,1
+     3f0:	19 4d 0f 58 	svshape 1,16,10,10,0
+     3f4:	59 4d 0f 58 	svshape 1,16,10,10,1
+     3f8:	99 4f 0f 58 	svshape 1,16,10,15,0
+     3fc:	d9 4f 0f 58 	svshape 1,16,10,15,1
+     400:	19 a0 0f 58 	svshape 1,16,21,0,0
+     404:	59 a0 0f 58 	svshape 1,16,21,0,1
+     408:	99 a2 0f 58 	svshape 1,16,21,5,0
+     40c:	d9 a2 0f 58 	svshape 1,16,21,5,1
+     410:	19 a5 0f 58 	svshape 1,16,21,10,0
+     414:	59 a5 0f 58 	svshape 1,16,21,10,1
+     418:	99 a7 0f 58 	svshape 1,16,21,15,0
+     41c:	d9 a7 0f 58 	svshape 1,16,21,15,1
+     420:	19 d0 0f 58 	svshape 1,16,27,0,0
+     424:	59 d0 0f 58 	svshape 1,16,27,0,1
+     428:	99 d2 0f 58 	svshape 1,16,27,5,0
+     42c:	d9 d2 0f 58 	svshape 1,16,27,5,1
+     430:	19 d5 0f 58 	svshape 1,16,27,10,0
+     434:	59 d5 0f 58 	svshape 1,16,27,10,1
+     438:	99 d7 0f 58 	svshape 1,16,27,15,0
+     43c:	d9 d7 0f 58 	svshape 1,16,27,15,1
+     440:	19 f0 0f 58 	svshape 1,16,31,0,0
+     444:	59 f0 0f 58 	svshape 1,16,31,0,1
+     448:	99 f2 0f 58 	svshape 1,16,31,5,0
+     44c:	d9 f2 0f 58 	svshape 1,16,31,5,1
+     450:	19 f5 0f 58 	svshape 1,16,31,10,0
+     454:	59 f5 0f 58 	svshape 1,16,31,10,1
+     458:	99 f7 0f 58 	svshape 1,16,31,15,0
+     45c:	d9 f7 0f 58 	svshape 1,16,31,15,1
+     460:	19 78 0f 58 	svshape 1,16,16,0,0
+     464:	59 78 0f 58 	svshape 1,16,16,0,1
+     468:	99 7a 0f 58 	svshape 1,16,16,5,0
+     46c:	d9 7a 0f 58 	svshape 1,16,16,5,1
+     470:	19 7d 0f 58 	svshape 1,16,16,10,0
+     474:	59 7d 0f 58 	svshape 1,16,16,10,1
+     478:	99 7f 0f 58 	svshape 1,16,16,15,0
+     47c:	d9 7f 0f 58 	svshape 1,16,16,15,1
+     480:	19 00 20 59 	svshape 10,1,1,0,0
+     484:	59 00 20 59 	svshape 10,1,1,0,1
+     488:	99 02 20 59 	svshape 10,1,1,5,0
+     48c:	d9 02 20 59 	svshape 10,1,1,5,1
+     490:	19 05 20 59 	svshape 10,1,1,10,0
+     494:	59 05 20 59 	svshape 10,1,1,10,1
+     498:	99 07 20 59 	svshape 10,1,1,15,0
+     49c:	d9 07 20 59 	svshape 10,1,1,15,1
+     4a0:	19 48 20 59 	svshape 10,1,10,0,0
+     4a4:	59 48 20 59 	svshape 10,1,10,0,1
+     4a8:	99 4a 20 59 	svshape 10,1,10,5,0
+     4ac:	d9 4a 20 59 	svshape 10,1,10,5,1
+     4b0:	19 4d 20 59 	svshape 10,1,10,10,0
+     4b4:	59 4d 20 59 	svshape 10,1,10,10,1
+     4b8:	99 4f 20 59 	svshape 10,1,10,15,0
+     4bc:	d9 4f 20 59 	svshape 10,1,10,15,1
+     4c0:	19 a0 20 59 	svshape 10,1,21,0,0
+     4c4:	59 a0 20 59 	svshape 10,1,21,0,1
+     4c8:	99 a2 20 59 	svshape 10,1,21,5,0
+     4cc:	d9 a2 20 59 	svshape 10,1,21,5,1
+     4d0:	19 a5 20 59 	svshape 10,1,21,10,0
+     4d4:	59 a5 20 59 	svshape 10,1,21,10,1
+     4d8:	99 a7 20 59 	svshape 10,1,21,15,0
+     4dc:	d9 a7 20 59 	svshape 10,1,21,15,1
+     4e0:	19 d0 20 59 	svshape 10,1,27,0,0
+     4e4:	59 d0 20 59 	svshape 10,1,27,0,1
+     4e8:	99 d2 20 59 	svshape 10,1,27,5,0
+     4ec:	d9 d2 20 59 	svshape 10,1,27,5,1
+     4f0:	19 d5 20 59 	svshape 10,1,27,10,0
+     4f4:	59 d5 20 59 	svshape 10,1,27,10,1
+     4f8:	99 d7 20 59 	svshape 10,1,27,15,0
+     4fc:	d9 d7 20 59 	svshape 10,1,27,15,1
+     500:	19 f0 20 59 	svshape 10,1,31,0,0
+     504:	59 f0 20 59 	svshape 10,1,31,0,1
+     508:	99 f2 20 59 	svshape 10,1,31,5,0
+     50c:	d9 f2 20 59 	svshape 10,1,31,5,1
+     510:	19 f5 20 59 	svshape 10,1,31,10,0
+     514:	59 f5 20 59 	svshape 10,1,31,10,1
+     518:	99 f7 20 59 	svshape 10,1,31,15,0
+     51c:	d9 f7 20 59 	svshape 10,1,31,15,1
+     520:	19 78 20 59 	svshape 10,1,16,0,0
+     524:	59 78 20 59 	svshape 10,1,16,0,1
+     528:	99 7a 20 59 	svshape 10,1,16,5,0
+     52c:	d9 7a 20 59 	svshape 10,1,16,5,1
+     530:	19 7d 20 59 	svshape 10,1,16,10,0
+     534:	59 7d 20 59 	svshape 10,1,16,10,1
+     538:	99 7f 20 59 	svshape 10,1,16,15,0
+     53c:	d9 7f 20 59 	svshape 10,1,16,15,1
+     540:	19 00 29 59 	svshape 10,10,1,0,0
+     544:	59 00 29 59 	svshape 10,10,1,0,1
+     548:	99 02 29 59 	svshape 10,10,1,5,0
+     54c:	d9 02 29 59 	svshape 10,10,1,5,1
+     550:	19 05 29 59 	svshape 10,10,1,10,0
+     554:	59 05 29 59 	svshape 10,10,1,10,1
+     558:	99 07 29 59 	svshape 10,10,1,15,0
+     55c:	d9 07 29 59 	svshape 10,10,1,15,1
+     560:	19 48 29 59 	svshape 10,10,10,0,0
+     564:	59 48 29 59 	svshape 10,10,10,0,1
+     568:	99 4a 29 59 	svshape 10,10,10,5,0
+     56c:	d9 4a 29 59 	svshape 10,10,10,5,1
+     570:	19 4d 29 59 	svshape 10,10,10,10,0
+     574:	59 4d 29 59 	svshape 10,10,10,10,1
+     578:	99 4f 29 59 	svshape 10,10,10,15,0
+     57c:	d9 4f 29 59 	svshape 10,10,10,15,1
+     580:	19 a0 29 59 	svshape 10,10,21,0,0
+     584:	59 a0 29 59 	svshape 10,10,21,0,1
+     588:	99 a2 29 59 	svshape 10,10,21,5,0
+     58c:	d9 a2 29 59 	svshape 10,10,21,5,1
+     590:	19 a5 29 59 	svshape 10,10,21,10,0
+     594:	59 a5 29 59 	svshape 10,10,21,10,1
+     598:	99 a7 29 59 	svshape 10,10,21,15,0
+     59c:	d9 a7 29 59 	svshape 10,10,21,15,1
+     5a0:	19 d0 29 59 	svshape 10,10,27,0,0
+     5a4:	59 d0 29 59 	svshape 10,10,27,0,1
+     5a8:	99 d2 29 59 	svshape 10,10,27,5,0
+     5ac:	d9 d2 29 59 	svshape 10,10,27,5,1
+     5b0:	19 d5 29 59 	svshape 10,10,27,10,0
+     5b4:	59 d5 29 59 	svshape 10,10,27,10,1
+     5b8:	99 d7 29 59 	svshape 10,10,27,15,0
+     5bc:	d9 d7 29 59 	svshape 10,10,27,15,1
+     5c0:	19 f0 29 59 	svshape 10,10,31,0,0
+     5c4:	59 f0 29 59 	svshape 10,10,31,0,1
+     5c8:	99 f2 29 59 	svshape 10,10,31,5,0
+     5cc:	d9 f2 29 59 	svshape 10,10,31,5,1
+     5d0:	19 f5 29 59 	svshape 10,10,31,10,0
+     5d4:	59 f5 29 59 	svshape 10,10,31,10,1
+     5d8:	99 f7 29 59 	svshape 10,10,31,15,0
+     5dc:	d9 f7 29 59 	svshape 10,10,31,15,1
+     5e0:	19 78 29 59 	svshape 10,10,16,0,0
+     5e4:	59 78 29 59 	svshape 10,10,16,0,1
+     5e8:	99 7a 29 59 	svshape 10,10,16,5,0
+     5ec:	d9 7a 29 59 	svshape 10,10,16,5,1
+     5f0:	19 7d 29 59 	svshape 10,10,16,10,0
+     5f4:	59 7d 29 59 	svshape 10,10,16,10,1
+     5f8:	99 7f 29 59 	svshape 10,10,16,15,0
+     5fc:	d9 7f 29 59 	svshape 10,10,16,15,1
+     600:	19 00 34 59 	svshape 10,21,1,0,0
+     604:	59 00 34 59 	svshape 10,21,1,0,1
+     608:	99 02 34 59 	svshape 10,21,1,5,0
+     60c:	d9 02 34 59 	svshape 10,21,1,5,1
+     610:	19 05 34 59 	svshape 10,21,1,10,0
+     614:	59 05 34 59 	svshape 10,21,1,10,1
+     618:	99 07 34 59 	svshape 10,21,1,15,0
+     61c:	d9 07 34 59 	svshape 10,21,1,15,1
+     620:	19 48 34 59 	svshape 10,21,10,0,0
+     624:	59 48 34 59 	svshape 10,21,10,0,1
+     628:	99 4a 34 59 	svshape 10,21,10,5,0
+     62c:	d9 4a 34 59 	svshape 10,21,10,5,1
+     630:	19 4d 34 59 	svshape 10,21,10,10,0
+     634:	59 4d 34 59 	svshape 10,21,10,10,1
+     638:	99 4f 34 59 	svshape 10,21,10,15,0
+     63c:	d9 4f 34 59 	svshape 10,21,10,15,1
+     640:	19 a0 34 59 	svshape 10,21,21,0,0
+     644:	59 a0 34 59 	svshape 10,21,21,0,1
+     648:	99 a2 34 59 	svshape 10,21,21,5,0
+     64c:	d9 a2 34 59 	svshape 10,21,21,5,1
+     650:	19 a5 34 59 	svshape 10,21,21,10,0
+     654:	59 a5 34 59 	svshape 10,21,21,10,1
+     658:	99 a7 34 59 	svshape 10,21,21,15,0
+     65c:	d9 a7 34 59 	svshape 10,21,21,15,1
+     660:	19 d0 34 59 	svshape 10,21,27,0,0
+     664:	59 d0 34 59 	svshape 10,21,27,0,1
+     668:	99 d2 34 59 	svshape 10,21,27,5,0
+     66c:	d9 d2 34 59 	svshape 10,21,27,5,1
+     670:	19 d5 34 59 	svshape 10,21,27,10,0
+     674:	59 d5 34 59 	svshape 10,21,27,10,1
+     678:	99 d7 34 59 	svshape 10,21,27,15,0
+     67c:	d9 d7 34 59 	svshape 10,21,27,15,1
+     680:	19 f0 34 59 	svshape 10,21,31,0,0
+     684:	59 f0 34 59 	svshape 10,21,31,0,1
+     688:	99 f2 34 59 	svshape 10,21,31,5,0
+     68c:	d9 f2 34 59 	svshape 10,21,31,5,1
+     690:	19 f5 34 59 	svshape 10,21,31,10,0
+     694:	59 f5 34 59 	svshape 10,21,31,10,1
+     698:	99 f7 34 59 	svshape 10,21,31,15,0
+     69c:	d9 f7 34 59 	svshape 10,21,31,15,1
+     6a0:	19 78 34 59 	svshape 10,21,16,0,0
+     6a4:	59 78 34 59 	svshape 10,21,16,0,1
+     6a8:	99 7a 34 59 	svshape 10,21,16,5,0
+     6ac:	d9 7a 34 59 	svshape 10,21,16,5,1
+     6b0:	19 7d 34 59 	svshape 10,21,16,10,0
+     6b4:	59 7d 34 59 	svshape 10,21,16,10,1
+     6b8:	99 7f 34 59 	svshape 10,21,16,15,0
+     6bc:	d9 7f 34 59 	svshape 10,21,16,15,1
+     6c0:	19 00 3a 59 	svshape 10,27,1,0,0
+     6c4:	59 00 3a 59 	svshape 10,27,1,0,1
+     6c8:	99 02 3a 59 	svshape 10,27,1,5,0
+     6cc:	d9 02 3a 59 	svshape 10,27,1,5,1
+     6d0:	19 05 3a 59 	svshape 10,27,1,10,0
+     6d4:	59 05 3a 59 	svshape 10,27,1,10,1
+     6d8:	99 07 3a 59 	svshape 10,27,1,15,0
+     6dc:	d9 07 3a 59 	svshape 10,27,1,15,1
+     6e0:	19 48 3a 59 	svshape 10,27,10,0,0
+     6e4:	59 48 3a 59 	svshape 10,27,10,0,1
+     6e8:	99 4a 3a 59 	svshape 10,27,10,5,0
+     6ec:	d9 4a 3a 59 	svshape 10,27,10,5,1
+     6f0:	19 4d 3a 59 	svshape 10,27,10,10,0
+     6f4:	59 4d 3a 59 	svshape 10,27,10,10,1
+     6f8:	99 4f 3a 59 	svshape 10,27,10,15,0
+     6fc:	d9 4f 3a 59 	svshape 10,27,10,15,1
+     700:	19 a0 3a 59 	svshape 10,27,21,0,0
+     704:	59 a0 3a 59 	svshape 10,27,21,0,1
+     708:	99 a2 3a 59 	svshape 10,27,21,5,0
+     70c:	d9 a2 3a 59 	svshape 10,27,21,5,1
+     710:	19 a5 3a 59 	svshape 10,27,21,10,0
+     714:	59 a5 3a 59 	svshape 10,27,21,10,1
+     718:	99 a7 3a 59 	svshape 10,27,21,15,0
+     71c:	d9 a7 3a 59 	svshape 10,27,21,15,1
+     720:	19 d0 3a 59 	svshape 10,27,27,0,0
+     724:	59 d0 3a 59 	svshape 10,27,27,0,1
+     728:	99 d2 3a 59 	svshape 10,27,27,5,0
+     72c:	d9 d2 3a 59 	svshape 10,27,27,5,1
+     730:	19 d5 3a 59 	svshape 10,27,27,10,0
+     734:	59 d5 3a 59 	svshape 10,27,27,10,1
+     738:	99 d7 3a 59 	svshape 10,27,27,15,0
+     73c:	d9 d7 3a 59 	svshape 10,27,27,15,1
+     740:	19 f0 3a 59 	svshape 10,27,31,0,0
+     744:	59 f0 3a 59 	svshape 10,27,31,0,1
+     748:	99 f2 3a 59 	svshape 10,27,31,5,0
+     74c:	d9 f2 3a 59 	svshape 10,27,31,5,1
+     750:	19 f5 3a 59 	svshape 10,27,31,10,0
+     754:	59 f5 3a 59 	svshape 10,27,31,10,1
+     758:	99 f7 3a 59 	svshape 10,27,31,15,0
+     75c:	d9 f7 3a 59 	svshape 10,27,31,15,1
+     760:	19 78 3a 59 	svshape 10,27,16,0,0
+     764:	59 78 3a 59 	svshape 10,27,16,0,1
+     768:	99 7a 3a 59 	svshape 10,27,16,5,0
+     76c:	d9 7a 3a 59 	svshape 10,27,16,5,1
+     770:	19 7d 3a 59 	svshape 10,27,16,10,0
+     774:	59 7d 3a 59 	svshape 10,27,16,10,1
+     778:	99 7f 3a 59 	svshape 10,27,16,15,0
+     77c:	d9 7f 3a 59 	svshape 10,27,16,15,1
+     780:	19 00 3e 59 	svshape 10,31,1,0,0
+     784:	59 00 3e 59 	svshape 10,31,1,0,1
+     788:	99 02 3e 59 	svshape 10,31,1,5,0
+     78c:	d9 02 3e 59 	svshape 10,31,1,5,1
+     790:	19 05 3e 59 	svshape 10,31,1,10,0
+     794:	59 05 3e 59 	svshape 10,31,1,10,1
+     798:	99 07 3e 59 	svshape 10,31,1,15,0
+     79c:	d9 07 3e 59 	svshape 10,31,1,15,1
+     7a0:	19 48 3e 59 	svshape 10,31,10,0,0
+     7a4:	59 48 3e 59 	svshape 10,31,10,0,1
+     7a8:	99 4a 3e 59 	svshape 10,31,10,5,0
+     7ac:	d9 4a 3e 59 	svshape 10,31,10,5,1
+     7b0:	19 4d 3e 59 	svshape 10,31,10,10,0
+     7b4:	59 4d 3e 59 	svshape 10,31,10,10,1
+     7b8:	99 4f 3e 59 	svshape 10,31,10,15,0
+     7bc:	d9 4f 3e 59 	svshape 10,31,10,15,1
+     7c0:	19 a0 3e 59 	svshape 10,31,21,0,0
+     7c4:	59 a0 3e 59 	svshape 10,31,21,0,1
+     7c8:	99 a2 3e 59 	svshape 10,31,21,5,0
+     7cc:	d9 a2 3e 59 	svshape 10,31,21,5,1
+     7d0:	19 a5 3e 59 	svshape 10,31,21,10,0
+     7d4:	59 a5 3e 59 	svshape 10,31,21,10,1
+     7d8:	99 a7 3e 59 	svshape 10,31,21,15,0
+     7dc:	d9 a7 3e 59 	svshape 10,31,21,15,1
+     7e0:	19 d0 3e 59 	svshape 10,31,27,0,0
+     7e4:	59 d0 3e 59 	svshape 10,31,27,0,1
+     7e8:	99 d2 3e 59 	svshape 10,31,27,5,0
+     7ec:	d9 d2 3e 59 	svshape 10,31,27,5,1
+     7f0:	19 d5 3e 59 	svshape 10,31,27,10,0
+     7f4:	59 d5 3e 59 	svshape 10,31,27,10,1
+     7f8:	99 d7 3e 59 	svshape 10,31,27,15,0
+     7fc:	d9 d7 3e 59 	svshape 10,31,27,15,1
+     800:	19 f0 3e 59 	svshape 10,31,31,0,0
+     804:	59 f0 3e 59 	svshape 10,31,31,0,1
+     808:	99 f2 3e 59 	svshape 10,31,31,5,0
+     80c:	d9 f2 3e 59 	svshape 10,31,31,5,1
+     810:	19 f5 3e 59 	svshape 10,31,31,10,0
+     814:	59 f5 3e 59 	svshape 10,31,31,10,1
+     818:	99 f7 3e 59 	svshape 10,31,31,15,0
+     81c:	d9 f7 3e 59 	svshape 10,31,31,15,1
+     820:	19 78 3e 59 	svshape 10,31,16,0,0
+     824:	59 78 3e 59 	svshape 10,31,16,0,1
+     828:	99 7a 3e 59 	svshape 10,31,16,5,0
+     82c:	d9 7a 3e 59 	svshape 10,31,16,5,1
+     830:	19 7d 3e 59 	svshape 10,31,16,10,0
+     834:	59 7d 3e 59 	svshape 10,31,16,10,1
+     838:	99 7f 3e 59 	svshape 10,31,16,15,0
+     83c:	d9 7f 3e 59 	svshape 10,31,16,15,1
+     840:	19 00 2f 59 	svshape 10,16,1,0,0
+     844:	59 00 2f 59 	svshape 10,16,1,0,1
+     848:	99 02 2f 59 	svshape 10,16,1,5,0
+     84c:	d9 02 2f 59 	svshape 10,16,1,5,1
+     850:	19 05 2f 59 	svshape 10,16,1,10,0
+     854:	59 05 2f 59 	svshape 10,16,1,10,1
+     858:	99 07 2f 59 	svshape 10,16,1,15,0
+     85c:	d9 07 2f 59 	svshape 10,16,1,15,1
+     860:	19 48 2f 59 	svshape 10,16,10,0,0
+     864:	59 48 2f 59 	svshape 10,16,10,0,1
+     868:	99 4a 2f 59 	svshape 10,16,10,5,0
+     86c:	d9 4a 2f 59 	svshape 10,16,10,5,1
+     870:	19 4d 2f 59 	svshape 10,16,10,10,0
+     874:	59 4d 2f 59 	svshape 10,16,10,10,1
+     878:	99 4f 2f 59 	svshape 10,16,10,15,0
+     87c:	d9 4f 2f 59 	svshape 10,16,10,15,1
+     880:	19 a0 2f 59 	svshape 10,16,21,0,0
+     884:	59 a0 2f 59 	svshape 10,16,21,0,1
+     888:	99 a2 2f 59 	svshape 10,16,21,5,0
+     88c:	d9 a2 2f 59 	svshape 10,16,21,5,1
+     890:	19 a5 2f 59 	svshape 10,16,21,10,0
+     894:	59 a5 2f 59 	svshape 10,16,21,10,1
+     898:	99 a7 2f 59 	svshape 10,16,21,15,0
+     89c:	d9 a7 2f 59 	svshape 10,16,21,15,1
+     8a0:	19 d0 2f 59 	svshape 10,16,27,0,0
+     8a4:	59 d0 2f 59 	svshape 10,16,27,0,1
+     8a8:	99 d2 2f 59 	svshape 10,16,27,5,0
+     8ac:	d9 d2 2f 59 	svshape 10,16,27,5,1
+     8b0:	19 d5 2f 59 	svshape 10,16,27,10,0
+     8b4:	59 d5 2f 59 	svshape 10,16,27,10,1
+     8b8:	99 d7 2f 59 	svshape 10,16,27,15,0
+     8bc:	d9 d7 2f 59 	svshape 10,16,27,15,1
+     8c0:	19 f0 2f 59 	svshape 10,16,31,0,0
+     8c4:	59 f0 2f 59 	svshape 10,16,31,0,1
+     8c8:	99 f2 2f 59 	svshape 10,16,31,5,0
+     8cc:	d9 f2 2f 59 	svshape 10,16,31,5,1
+     8d0:	19 f5 2f 59 	svshape 10,16,31,10,0
+     8d4:	59 f5 2f 59 	svshape 10,16,31,10,1
+     8d8:	99 f7 2f 59 	svshape 10,16,31,15,0
+     8dc:	d9 f7 2f 59 	svshape 10,16,31,15,1
+     8e0:	19 78 2f 59 	svshape 10,16,16,0,0
+     8e4:	59 78 2f 59 	svshape 10,16,16,0,1
+     8e8:	99 7a 2f 59 	svshape 10,16,16,5,0
+     8ec:	d9 7a 2f 59 	svshape 10,16,16,5,1
+     8f0:	19 7d 2f 59 	svshape 10,16,16,10,0
+     8f4:	59 7d 2f 59 	svshape 10,16,16,10,1
+     8f8:	99 7f 2f 59 	svshape 10,16,16,15,0
+     8fc:	d9 7f 2f 59 	svshape 10,16,16,15,1
+     900:	19 00 80 5a 	svshape 21,1,1,0,0
+     904:	59 00 80 5a 	svshape 21,1,1,0,1
+     908:	99 02 80 5a 	svshape 21,1,1,5,0
+     90c:	d9 02 80 5a 	svshape 21,1,1,5,1
+     910:	19 05 80 5a 	svshape 21,1,1,10,0
+     914:	59 05 80 5a 	svshape 21,1,1,10,1
+     918:	99 07 80 5a 	svshape 21,1,1,15,0
+     91c:	d9 07 80 5a 	svshape 21,1,1,15,1
+     920:	19 48 80 5a 	svshape 21,1,10,0,0
+     924:	59 48 80 5a 	svshape 21,1,10,0,1
+     928:	99 4a 80 5a 	svshape 21,1,10,5,0
+     92c:	d9 4a 80 5a 	svshape 21,1,10,5,1
+     930:	19 4d 80 5a 	svshape 21,1,10,10,0
+     934:	59 4d 80 5a 	svshape 21,1,10,10,1
+     938:	99 4f 80 5a 	svshape 21,1,10,15,0
+     93c:	d9 4f 80 5a 	svshape 21,1,10,15,1
+     940:	19 a0 80 5a 	svshape 21,1,21,0,0
+     944:	59 a0 80 5a 	svshape 21,1,21,0,1
+     948:	99 a2 80 5a 	svshape 21,1,21,5,0
+     94c:	d9 a2 80 5a 	svshape 21,1,21,5,1
+     950:	19 a5 80 5a 	svshape 21,1,21,10,0
+     954:	59 a5 80 5a 	svshape 21,1,21,10,1
+     958:	99 a7 80 5a 	svshape 21,1,21,15,0
+     95c:	d9 a7 80 5a 	svshape 21,1,21,15,1
+     960:	19 d0 80 5a 	svshape 21,1,27,0,0
+     964:	59 d0 80 5a 	svshape 21,1,27,0,1
+     968:	99 d2 80 5a 	svshape 21,1,27,5,0
+     96c:	d9 d2 80 5a 	svshape 21,1,27,5,1
+     970:	19 d5 80 5a 	svshape 21,1,27,10,0
+     974:	59 d5 80 5a 	svshape 21,1,27,10,1
+     978:	99 d7 80 5a 	svshape 21,1,27,15,0
+     97c:	d9 d7 80 5a 	svshape 21,1,27,15,1
+     980:	19 f0 80 5a 	svshape 21,1,31,0,0
+     984:	59 f0 80 5a 	svshape 21,1,31,0,1
+     988:	99 f2 80 5a 	svshape 21,1,31,5,0
+     98c:	d9 f2 80 5a 	svshape 21,1,31,5,1
+     990:	19 f5 80 5a 	svshape 21,1,31,10,0
+     994:	59 f5 80 5a 	svshape 21,1,31,10,1
+     998:	99 f7 80 5a 	svshape 21,1,31,15,0
+     99c:	d9 f7 80 5a 	svshape 21,1,31,15,1
+     9a0:	19 78 80 5a 	svshape 21,1,16,0,0
+     9a4:	59 78 80 5a 	svshape 21,1,16,0,1
+     9a8:	99 7a 80 5a 	svshape 21,1,16,5,0
+     9ac:	d9 7a 80 5a 	svshape 21,1,16,5,1
+     9b0:	19 7d 80 5a 	svshape 21,1,16,10,0
+     9b4:	59 7d 80 5a 	svshape 21,1,16,10,1
+     9b8:	99 7f 80 5a 	svshape 21,1,16,15,0
+     9bc:	d9 7f 80 5a 	svshape 21,1,16,15,1
+     9c0:	19 00 89 5a 	svshape 21,10,1,0,0
+     9c4:	59 00 89 5a 	svshape 21,10,1,0,1
+     9c8:	99 02 89 5a 	svshape 21,10,1,5,0
+     9cc:	d9 02 89 5a 	svshape 21,10,1,5,1
+     9d0:	19 05 89 5a 	svshape 21,10,1,10,0
+     9d4:	59 05 89 5a 	svshape 21,10,1,10,1
+     9d8:	99 07 89 5a 	svshape 21,10,1,15,0
+     9dc:	d9 07 89 5a 	svshape 21,10,1,15,1
+     9e0:	19 48 89 5a 	svshape 21,10,10,0,0
+     9e4:	59 48 89 5a 	svshape 21,10,10,0,1
+     9e8:	99 4a 89 5a 	svshape 21,10,10,5,0
+     9ec:	d9 4a 89 5a 	svshape 21,10,10,5,1
+     9f0:	19 4d 89 5a 	svshape 21,10,10,10,0
+     9f4:	59 4d 89 5a 	svshape 21,10,10,10,1
+     9f8:	99 4f 89 5a 	svshape 21,10,10,15,0
+     9fc:	d9 4f 89 5a 	svshape 21,10,10,15,1
+     a00:	19 a0 89 5a 	svshape 21,10,21,0,0
+     a04:	59 a0 89 5a 	svshape 21,10,21,0,1
+     a08:	99 a2 89 5a 	svshape 21,10,21,5,0
+     a0c:	d9 a2 89 5a 	svshape 21,10,21,5,1
+     a10:	19 a5 89 5a 	svshape 21,10,21,10,0
+     a14:	59 a5 89 5a 	svshape 21,10,21,10,1
+     a18:	99 a7 89 5a 	svshape 21,10,21,15,0
+     a1c:	d9 a7 89 5a 	svshape 21,10,21,15,1
+     a20:	19 d0 89 5a 	svshape 21,10,27,0,0
+     a24:	59 d0 89 5a 	svshape 21,10,27,0,1
+     a28:	99 d2 89 5a 	svshape 21,10,27,5,0
+     a2c:	d9 d2 89 5a 	svshape 21,10,27,5,1
+     a30:	19 d5 89 5a 	svshape 21,10,27,10,0
+     a34:	59 d5 89 5a 	svshape 21,10,27,10,1
+     a38:	99 d7 89 5a 	svshape 21,10,27,15,0
+     a3c:	d9 d7 89 5a 	svshape 21,10,27,15,1
+     a40:	19 f0 89 5a 	svshape 21,10,31,0,0
+     a44:	59 f0 89 5a 	svshape 21,10,31,0,1
+     a48:	99 f2 89 5a 	svshape 21,10,31,5,0
+     a4c:	d9 f2 89 5a 	svshape 21,10,31,5,1
+     a50:	19 f5 89 5a 	svshape 21,10,31,10,0
+     a54:	59 f5 89 5a 	svshape 21,10,31,10,1
+     a58:	99 f7 89 5a 	svshape 21,10,31,15,0
+     a5c:	d9 f7 89 5a 	svshape 21,10,31,15,1
+     a60:	19 78 89 5a 	svshape 21,10,16,0,0
+     a64:	59 78 89 5a 	svshape 21,10,16,0,1
+     a68:	99 7a 89 5a 	svshape 21,10,16,5,0
+     a6c:	d9 7a 89 5a 	svshape 21,10,16,5,1
+     a70:	19 7d 89 5a 	svshape 21,10,16,10,0
+     a74:	59 7d 89 5a 	svshape 21,10,16,10,1
+     a78:	99 7f 89 5a 	svshape 21,10,16,15,0
+     a7c:	d9 7f 89 5a 	svshape 21,10,16,15,1
+     a80:	19 00 94 5a 	svshape 21,21,1,0,0
+     a84:	59 00 94 5a 	svshape 21,21,1,0,1
+     a88:	99 02 94 5a 	svshape 21,21,1,5,0
+     a8c:	d9 02 94 5a 	svshape 21,21,1,5,1
+     a90:	19 05 94 5a 	svshape 21,21,1,10,0
+     a94:	59 05 94 5a 	svshape 21,21,1,10,1
+     a98:	99 07 94 5a 	svshape 21,21,1,15,0
+     a9c:	d9 07 94 5a 	svshape 21,21,1,15,1
+     aa0:	19 48 94 5a 	svshape 21,21,10,0,0
+     aa4:	59 48 94 5a 	svshape 21,21,10,0,1
+     aa8:	99 4a 94 5a 	svshape 21,21,10,5,0
+     aac:	d9 4a 94 5a 	svshape 21,21,10,5,1
+     ab0:	19 4d 94 5a 	svshape 21,21,10,10,0
+     ab4:	59 4d 94 5a 	svshape 21,21,10,10,1
+     ab8:	99 4f 94 5a 	svshape 21,21,10,15,0
+     abc:	d9 4f 94 5a 	svshape 21,21,10,15,1
+     ac0:	19 a0 94 5a 	svshape 21,21,21,0,0
+     ac4:	59 a0 94 5a 	svshape 21,21,21,0,1
+     ac8:	99 a2 94 5a 	svshape 21,21,21,5,0
+     acc:	d9 a2 94 5a 	svshape 21,21,21,5,1
+     ad0:	19 a5 94 5a 	svshape 21,21,21,10,0
+     ad4:	59 a5 94 5a 	svshape 21,21,21,10,1
+     ad8:	99 a7 94 5a 	svshape 21,21,21,15,0
+     adc:	d9 a7 94 5a 	svshape 21,21,21,15,1
+     ae0:	19 d0 94 5a 	svshape 21,21,27,0,0
+     ae4:	59 d0 94 5a 	svshape 21,21,27,0,1
+     ae8:	99 d2 94 5a 	svshape 21,21,27,5,0
+     aec:	d9 d2 94 5a 	svshape 21,21,27,5,1
+     af0:	19 d5 94 5a 	svshape 21,21,27,10,0
+     af4:	59 d5 94 5a 	svshape 21,21,27,10,1
+     af8:	99 d7 94 5a 	svshape 21,21,27,15,0
+     afc:	d9 d7 94 5a 	svshape 21,21,27,15,1
+     b00:	19 f0 94 5a 	svshape 21,21,31,0,0
+     b04:	59 f0 94 5a 	svshape 21,21,31,0,1
+     b08:	99 f2 94 5a 	svshape 21,21,31,5,0
+     b0c:	d9 f2 94 5a 	svshape 21,21,31,5,1
+     b10:	19 f5 94 5a 	svshape 21,21,31,10,0
+     b14:	59 f5 94 5a 	svshape 21,21,31,10,1
+     b18:	99 f7 94 5a 	svshape 21,21,31,15,0
+     b1c:	d9 f7 94 5a 	svshape 21,21,31,15,1
+     b20:	19 78 94 5a 	svshape 21,21,16,0,0
+     b24:	59 78 94 5a 	svshape 21,21,16,0,1
+     b28:	99 7a 94 5a 	svshape 21,21,16,5,0
+     b2c:	d9 7a 94 5a 	svshape 21,21,16,5,1
+     b30:	19 7d 94 5a 	svshape 21,21,16,10,0
+     b34:	59 7d 94 5a 	svshape 21,21,16,10,1
+     b38:	99 7f 94 5a 	svshape 21,21,16,15,0
+     b3c:	d9 7f 94 5a 	svshape 21,21,16,15,1
+     b40:	19 00 9a 5a 	svshape 21,27,1,0,0
+     b44:	59 00 9a 5a 	svshape 21,27,1,0,1
+     b48:	99 02 9a 5a 	svshape 21,27,1,5,0
+     b4c:	d9 02 9a 5a 	svshape 21,27,1,5,1
+     b50:	19 05 9a 5a 	svshape 21,27,1,10,0
+     b54:	59 05 9a 5a 	svshape 21,27,1,10,1
+     b58:	99 07 9a 5a 	svshape 21,27,1,15,0
+     b5c:	d9 07 9a 5a 	svshape 21,27,1,15,1
+     b60:	19 48 9a 5a 	svshape 21,27,10,0,0
+     b64:	59 48 9a 5a 	svshape 21,27,10,0,1
+     b68:	99 4a 9a 5a 	svshape 21,27,10,5,0
+     b6c:	d9 4a 9a 5a 	svshape 21,27,10,5,1
+     b70:	19 4d 9a 5a 	svshape 21,27,10,10,0
+     b74:	59 4d 9a 5a 	svshape 21,27,10,10,1
+     b78:	99 4f 9a 5a 	svshape 21,27,10,15,0
+     b7c:	d9 4f 9a 5a 	svshape 21,27,10,15,1
+     b80:	19 a0 9a 5a 	svshape 21,27,21,0,0
+     b84:	59 a0 9a 5a 	svshape 21,27,21,0,1
+     b88:	99 a2 9a 5a 	svshape 21,27,21,5,0
+     b8c:	d9 a2 9a 5a 	svshape 21,27,21,5,1
+     b90:	19 a5 9a 5a 	svshape 21,27,21,10,0
+     b94:	59 a5 9a 5a 	svshape 21,27,21,10,1
+     b98:	99 a7 9a 5a 	svshape 21,27,21,15,0
+     b9c:	d9 a7 9a 5a 	svshape 21,27,21,15,1
+     ba0:	19 d0 9a 5a 	svshape 21,27,27,0,0
+     ba4:	59 d0 9a 5a 	svshape 21,27,27,0,1
+     ba8:	99 d2 9a 5a 	svshape 21,27,27,5,0
+     bac:	d9 d2 9a 5a 	svshape 21,27,27,5,1
+     bb0:	19 d5 9a 5a 	svshape 21,27,27,10,0
+     bb4:	59 d5 9a 5a 	svshape 21,27,27,10,1
+     bb8:	99 d7 9a 5a 	svshape 21,27,27,15,0
+     bbc:	d9 d7 9a 5a 	svshape 21,27,27,15,1
+     bc0:	19 f0 9a 5a 	svshape 21,27,31,0,0
+     bc4:	59 f0 9a 5a 	svshape 21,27,31,0,1
+     bc8:	99 f2 9a 5a 	svshape 21,27,31,5,0
+     bcc:	d9 f2 9a 5a 	svshape 21,27,31,5,1
+     bd0:	19 f5 9a 5a 	svshape 21,27,31,10,0
+     bd4:	59 f5 9a 5a 	svshape 21,27,31,10,1
+     bd8:	99 f7 9a 5a 	svshape 21,27,31,15,0
+     bdc:	d9 f7 9a 5a 	svshape 21,27,31,15,1
+     be0:	19 78 9a 5a 	svshape 21,27,16,0,0
+     be4:	59 78 9a 5a 	svshape 21,27,16,0,1
+     be8:	99 7a 9a 5a 	svshape 21,27,16,5,0
+     bec:	d9 7a 9a 5a 	svshape 21,27,16,5,1
+     bf0:	19 7d 9a 5a 	svshape 21,27,16,10,0
+     bf4:	59 7d 9a 5a 	svshape 21,27,16,10,1
+     bf8:	99 7f 9a 5a 	svshape 21,27,16,15,0
+     bfc:	d9 7f 9a 5a 	svshape 21,27,16,15,1
+     c00:	19 00 9e 5a 	svshape 21,31,1,0,0
+     c04:	59 00 9e 5a 	svshape 21,31,1,0,1
+     c08:	99 02 9e 5a 	svshape 21,31,1,5,0
+     c0c:	d9 02 9e 5a 	svshape 21,31,1,5,1
+     c10:	19 05 9e 5a 	svshape 21,31,1,10,0
+     c14:	59 05 9e 5a 	svshape 21,31,1,10,1
+     c18:	99 07 9e 5a 	svshape 21,31,1,15,0
+     c1c:	d9 07 9e 5a 	svshape 21,31,1,15,1
+     c20:	19 48 9e 5a 	svshape 21,31,10,0,0
+     c24:	59 48 9e 5a 	svshape 21,31,10,0,1
+     c28:	99 4a 9e 5a 	svshape 21,31,10,5,0
+     c2c:	d9 4a 9e 5a 	svshape 21,31,10,5,1
+     c30:	19 4d 9e 5a 	svshape 21,31,10,10,0
+     c34:	59 4d 9e 5a 	svshape 21,31,10,10,1
+     c38:	99 4f 9e 5a 	svshape 21,31,10,15,0
+     c3c:	d9 4f 9e 5a 	svshape 21,31,10,15,1
+     c40:	19 a0 9e 5a 	svshape 21,31,21,0,0
+     c44:	59 a0 9e 5a 	svshape 21,31,21,0,1
+     c48:	99 a2 9e 5a 	svshape 21,31,21,5,0
+     c4c:	d9 a2 9e 5a 	svshape 21,31,21,5,1
+     c50:	19 a5 9e 5a 	svshape 21,31,21,10,0
+     c54:	59 a5 9e 5a 	svshape 21,31,21,10,1
+     c58:	99 a7 9e 5a 	svshape 21,31,21,15,0
+     c5c:	d9 a7 9e 5a 	svshape 21,31,21,15,1
+     c60:	19 d0 9e 5a 	svshape 21,31,27,0,0
+     c64:	59 d0 9e 5a 	svshape 21,31,27,0,1
+     c68:	99 d2 9e 5a 	svshape 21,31,27,5,0
+     c6c:	d9 d2 9e 5a 	svshape 21,31,27,5,1
+     c70:	19 d5 9e 5a 	svshape 21,31,27,10,0
+     c74:	59 d5 9e 5a 	svshape 21,31,27,10,1
+     c78:	99 d7 9e 5a 	svshape 21,31,27,15,0
+     c7c:	d9 d7 9e 5a 	svshape 21,31,27,15,1
+     c80:	19 f0 9e 5a 	svshape 21,31,31,0,0
+     c84:	59 f0 9e 5a 	svshape 21,31,31,0,1
+     c88:	99 f2 9e 5a 	svshape 21,31,31,5,0
+     c8c:	d9 f2 9e 5a 	svshape 21,31,31,5,1
+     c90:	19 f5 9e 5a 	svshape 21,31,31,10,0
+     c94:	59 f5 9e 5a 	svshape 21,31,31,10,1
+     c98:	99 f7 9e 5a 	svshape 21,31,31,15,0
+     c9c:	d9 f7 9e 5a 	svshape 21,31,31,15,1
+     ca0:	19 78 9e 5a 	svshape 21,31,16,0,0
+     ca4:	59 78 9e 5a 	svshape 21,31,16,0,1
+     ca8:	99 7a 9e 5a 	svshape 21,31,16,5,0
+     cac:	d9 7a 9e 5a 	svshape 21,31,16,5,1
+     cb0:	19 7d 9e 5a 	svshape 21,31,16,10,0
+     cb4:	59 7d 9e 5a 	svshape 21,31,16,10,1
+     cb8:	99 7f 9e 5a 	svshape 21,31,16,15,0
+     cbc:	d9 7f 9e 5a 	svshape 21,31,16,15,1
+     cc0:	19 00 8f 5a 	svshape 21,16,1,0,0
+     cc4:	59 00 8f 5a 	svshape 21,16,1,0,1
+     cc8:	99 02 8f 5a 	svshape 21,16,1,5,0
+     ccc:	d9 02 8f 5a 	svshape 21,16,1,5,1
+     cd0:	19 05 8f 5a 	svshape 21,16,1,10,0
+     cd4:	59 05 8f 5a 	svshape 21,16,1,10,1
+     cd8:	99 07 8f 5a 	svshape 21,16,1,15,0
+     cdc:	d9 07 8f 5a 	svshape 21,16,1,15,1
+     ce0:	19 48 8f 5a 	svshape 21,16,10,0,0
+     ce4:	59 48 8f 5a 	svshape 21,16,10,0,1
+     ce8:	99 4a 8f 5a 	svshape 21,16,10,5,0
+     cec:	d9 4a 8f 5a 	svshape 21,16,10,5,1
+     cf0:	19 4d 8f 5a 	svshape 21,16,10,10,0
+     cf4:	59 4d 8f 5a 	svshape 21,16,10,10,1
+     cf8:	99 4f 8f 5a 	svshape 21,16,10,15,0
+     cfc:	d9 4f 8f 5a 	svshape 21,16,10,15,1
+     d00:	19 a0 8f 5a 	svshape 21,16,21,0,0
+     d04:	59 a0 8f 5a 	svshape 21,16,21,0,1
+     d08:	99 a2 8f 5a 	svshape 21,16,21,5,0
+     d0c:	d9 a2 8f 5a 	svshape 21,16,21,5,1
+     d10:	19 a5 8f 5a 	svshape 21,16,21,10,0
+     d14:	59 a5 8f 5a 	svshape 21,16,21,10,1
+     d18:	99 a7 8f 5a 	svshape 21,16,21,15,0
+     d1c:	d9 a7 8f 5a 	svshape 21,16,21,15,1
+     d20:	19 d0 8f 5a 	svshape 21,16,27,0,0
+     d24:	59 d0 8f 5a 	svshape 21,16,27,0,1
+     d28:	99 d2 8f 5a 	svshape 21,16,27,5,0
+     d2c:	d9 d2 8f 5a 	svshape 21,16,27,5,1
+     d30:	19 d5 8f 5a 	svshape 21,16,27,10,0
+     d34:	59 d5 8f 5a 	svshape 21,16,27,10,1
+     d38:	99 d7 8f 5a 	svshape 21,16,27,15,0
+     d3c:	d9 d7 8f 5a 	svshape 21,16,27,15,1
+     d40:	19 f0 8f 5a 	svshape 21,16,31,0,0
+     d44:	59 f0 8f 5a 	svshape 21,16,31,0,1
+     d48:	99 f2 8f 5a 	svshape 21,16,31,5,0
+     d4c:	d9 f2 8f 5a 	svshape 21,16,31,5,1
+     d50:	19 f5 8f 5a 	svshape 21,16,31,10,0
+     d54:	59 f5 8f 5a 	svshape 21,16,31,10,1
+     d58:	99 f7 8f 5a 	svshape 21,16,31,15,0
+     d5c:	d9 f7 8f 5a 	svshape 21,16,31,15,1
+     d60:	19 78 8f 5a 	svshape 21,16,16,0,0
+     d64:	59 78 8f 5a 	svshape 21,16,16,0,1
+     d68:	99 7a 8f 5a 	svshape 21,16,16,5,0
+     d6c:	d9 7a 8f 5a 	svshape 21,16,16,5,1
+     d70:	19 7d 8f 5a 	svshape 21,16,16,10,0
+     d74:	59 7d 8f 5a 	svshape 21,16,16,10,1
+     d78:	99 7f 8f 5a 	svshape 21,16,16,15,0
+     d7c:	d9 7f 8f 5a 	svshape 21,16,16,15,1
+     d80:	19 00 40 5b 	svshape 27,1,1,0,0
+     d84:	59 00 40 5b 	svshape 27,1,1,0,1
+     d88:	99 02 40 5b 	svshape 27,1,1,5,0
+     d8c:	d9 02 40 5b 	svshape 27,1,1,5,1
+     d90:	19 05 40 5b 	svshape 27,1,1,10,0
+     d94:	59 05 40 5b 	svshape 27,1,1,10,1
+     d98:	99 07 40 5b 	svshape 27,1,1,15,0
+     d9c:	d9 07 40 5b 	svshape 27,1,1,15,1
+     da0:	19 48 40 5b 	svshape 27,1,10,0,0
+     da4:	59 48 40 5b 	svshape 27,1,10,0,1
+     da8:	99 4a 40 5b 	svshape 27,1,10,5,0
+     dac:	d9 4a 40 5b 	svshape 27,1,10,5,1
+     db0:	19 4d 40 5b 	svshape 27,1,10,10,0
+     db4:	59 4d 40 5b 	svshape 27,1,10,10,1
+     db8:	99 4f 40 5b 	svshape 27,1,10,15,0
+     dbc:	d9 4f 40 5b 	svshape 27,1,10,15,1
+     dc0:	19 a0 40 5b 	svshape 27,1,21,0,0
+     dc4:	59 a0 40 5b 	svshape 27,1,21,0,1
+     dc8:	99 a2 40 5b 	svshape 27,1,21,5,0
+     dcc:	d9 a2 40 5b 	svshape 27,1,21,5,1
+     dd0:	19 a5 40 5b 	svshape 27,1,21,10,0
+     dd4:	59 a5 40 5b 	svshape 27,1,21,10,1
+     dd8:	99 a7 40 5b 	svshape 27,1,21,15,0
+     ddc:	d9 a7 40 5b 	svshape 27,1,21,15,1
+     de0:	19 d0 40 5b 	svshape 27,1,27,0,0
+     de4:	59 d0 40 5b 	svshape 27,1,27,0,1
+     de8:	99 d2 40 5b 	svshape 27,1,27,5,0
+     dec:	d9 d2 40 5b 	svshape 27,1,27,5,1
+     df0:	19 d5 40 5b 	svshape 27,1,27,10,0
+     df4:	59 d5 40 5b 	svshape 27,1,27,10,1
+     df8:	99 d7 40 5b 	svshape 27,1,27,15,0
+     dfc:	d9 d7 40 5b 	svshape 27,1,27,15,1
+     e00:	19 f0 40 5b 	svshape 27,1,31,0,0
+     e04:	59 f0 40 5b 	svshape 27,1,31,0,1
+     e08:	99 f2 40 5b 	svshape 27,1,31,5,0
+     e0c:	d9 f2 40 5b 	svshape 27,1,31,5,1
+     e10:	19 f5 40 5b 	svshape 27,1,31,10,0
+     e14:	59 f5 40 5b 	svshape 27,1,31,10,1
+     e18:	99 f7 40 5b 	svshape 27,1,31,15,0
+     e1c:	d9 f7 40 5b 	svshape 27,1,31,15,1
+     e20:	19 78 40 5b 	svshape 27,1,16,0,0
+     e24:	59 78 40 5b 	svshape 27,1,16,0,1
+     e28:	99 7a 40 5b 	svshape 27,1,16,5,0
+     e2c:	d9 7a 40 5b 	svshape 27,1,16,5,1
+     e30:	19 7d 40 5b 	svshape 27,1,16,10,0
+     e34:	59 7d 40 5b 	svshape 27,1,16,10,1
+     e38:	99 7f 40 5b 	svshape 27,1,16,15,0
+     e3c:	d9 7f 40 5b 	svshape 27,1,16,15,1
+     e40:	19 00 49 5b 	svshape 27,10,1,0,0
+     e44:	59 00 49 5b 	svshape 27,10,1,0,1
+     e48:	99 02 49 5b 	svshape 27,10,1,5,0
+     e4c:	d9 02 49 5b 	svshape 27,10,1,5,1
+     e50:	19 05 49 5b 	svshape 27,10,1,10,0
+     e54:	59 05 49 5b 	svshape 27,10,1,10,1
+     e58:	99 07 49 5b 	svshape 27,10,1,15,0
+     e5c:	d9 07 49 5b 	svshape 27,10,1,15,1
+     e60:	19 48 49 5b 	svshape 27,10,10,0,0
+     e64:	59 48 49 5b 	svshape 27,10,10,0,1
+     e68:	99 4a 49 5b 	svshape 27,10,10,5,0
+     e6c:	d9 4a 49 5b 	svshape 27,10,10,5,1
+     e70:	19 4d 49 5b 	svshape 27,10,10,10,0
+     e74:	59 4d 49 5b 	svshape 27,10,10,10,1
+     e78:	99 4f 49 5b 	svshape 27,10,10,15,0
+     e7c:	d9 4f 49 5b 	svshape 27,10,10,15,1
+     e80:	19 a0 49 5b 	svshape 27,10,21,0,0
+     e84:	59 a0 49 5b 	svshape 27,10,21,0,1
+     e88:	99 a2 49 5b 	svshape 27,10,21,5,0
+     e8c:	d9 a2 49 5b 	svshape 27,10,21,5,1
+     e90:	19 a5 49 5b 	svshape 27,10,21,10,0
+     e94:	59 a5 49 5b 	svshape 27,10,21,10,1
+     e98:	99 a7 49 5b 	svshape 27,10,21,15,0
+     e9c:	d9 a7 49 5b 	svshape 27,10,21,15,1
+     ea0:	19 d0 49 5b 	svshape 27,10,27,0,0
+     ea4:	59 d0 49 5b 	svshape 27,10,27,0,1
+     ea8:	99 d2 49 5b 	svshape 27,10,27,5,0
+     eac:	d9 d2 49 5b 	svshape 27,10,27,5,1
+     eb0:	19 d5 49 5b 	svshape 27,10,27,10,0
+     eb4:	59 d5 49 5b 	svshape 27,10,27,10,1
+     eb8:	99 d7 49 5b 	svshape 27,10,27,15,0
+     ebc:	d9 d7 49 5b 	svshape 27,10,27,15,1
+     ec0:	19 f0 49 5b 	svshape 27,10,31,0,0
+     ec4:	59 f0 49 5b 	svshape 27,10,31,0,1
+     ec8:	99 f2 49 5b 	svshape 27,10,31,5,0
+     ecc:	d9 f2 49 5b 	svshape 27,10,31,5,1
+     ed0:	19 f5 49 5b 	svshape 27,10,31,10,0
+     ed4:	59 f5 49 5b 	svshape 27,10,31,10,1
+     ed8:	99 f7 49 5b 	svshape 27,10,31,15,0
+     edc:	d9 f7 49 5b 	svshape 27,10,31,15,1
+     ee0:	19 78 49 5b 	svshape 27,10,16,0,0
+     ee4:	59 78 49 5b 	svshape 27,10,16,0,1
+     ee8:	99 7a 49 5b 	svshape 27,10,16,5,0
+     eec:	d9 7a 49 5b 	svshape 27,10,16,5,1
+     ef0:	19 7d 49 5b 	svshape 27,10,16,10,0
+     ef4:	59 7d 49 5b 	svshape 27,10,16,10,1
+     ef8:	99 7f 49 5b 	svshape 27,10,16,15,0
+     efc:	d9 7f 49 5b 	svshape 27,10,16,15,1
+     f00:	19 00 54 5b 	svshape 27,21,1,0,0
+     f04:	59 00 54 5b 	svshape 27,21,1,0,1
+     f08:	99 02 54 5b 	svshape 27,21,1,5,0
+     f0c:	d9 02 54 5b 	svshape 27,21,1,5,1
+     f10:	19 05 54 5b 	svshape 27,21,1,10,0
+     f14:	59 05 54 5b 	svshape 27,21,1,10,1
+     f18:	99 07 54 5b 	svshape 27,21,1,15,0
+     f1c:	d9 07 54 5b 	svshape 27,21,1,15,1
+     f20:	19 48 54 5b 	svshape 27,21,10,0,0
+     f24:	59 48 54 5b 	svshape 27,21,10,0,1
+     f28:	99 4a 54 5b 	svshape 27,21,10,5,0
+     f2c:	d9 4a 54 5b 	svshape 27,21,10,5,1
+     f30:	19 4d 54 5b 	svshape 27,21,10,10,0
+     f34:	59 4d 54 5b 	svshape 27,21,10,10,1
+     f38:	99 4f 54 5b 	svshape 27,21,10,15,0
+     f3c:	d9 4f 54 5b 	svshape 27,21,10,15,1
+     f40:	19 a0 54 5b 	svshape 27,21,21,0,0
+     f44:	59 a0 54 5b 	svshape 27,21,21,0,1
+     f48:	99 a2 54 5b 	svshape 27,21,21,5,0
+     f4c:	d9 a2 54 5b 	svshape 27,21,21,5,1
+     f50:	19 a5 54 5b 	svshape 27,21,21,10,0
+     f54:	59 a5 54 5b 	svshape 27,21,21,10,1
+     f58:	99 a7 54 5b 	svshape 27,21,21,15,0
+     f5c:	d9 a7 54 5b 	svshape 27,21,21,15,1
+     f60:	19 d0 54 5b 	svshape 27,21,27,0,0
+     f64:	59 d0 54 5b 	svshape 27,21,27,0,1
+     f68:	99 d2 54 5b 	svshape 27,21,27,5,0
+     f6c:	d9 d2 54 5b 	svshape 27,21,27,5,1
+     f70:	19 d5 54 5b 	svshape 27,21,27,10,0
+     f74:	59 d5 54 5b 	svshape 27,21,27,10,1
+     f78:	99 d7 54 5b 	svshape 27,21,27,15,0
+     f7c:	d9 d7 54 5b 	svshape 27,21,27,15,1
+     f80:	19 f0 54 5b 	svshape 27,21,31,0,0
+     f84:	59 f0 54 5b 	svshape 27,21,31,0,1
+     f88:	99 f2 54 5b 	svshape 27,21,31,5,0
+     f8c:	d9 f2 54 5b 	svshape 27,21,31,5,1
+     f90:	19 f5 54 5b 	svshape 27,21,31,10,0
+     f94:	59 f5 54 5b 	svshape 27,21,31,10,1
+     f98:	99 f7 54 5b 	svshape 27,21,31,15,0
+     f9c:	d9 f7 54 5b 	svshape 27,21,31,15,1
+     fa0:	19 78 54 5b 	svshape 27,21,16,0,0
+     fa4:	59 78 54 5b 	svshape 27,21,16,0,1
+     fa8:	99 7a 54 5b 	svshape 27,21,16,5,0
+     fac:	d9 7a 54 5b 	svshape 27,21,16,5,1
+     fb0:	19 7d 54 5b 	svshape 27,21,16,10,0
+     fb4:	59 7d 54 5b 	svshape 27,21,16,10,1
+     fb8:	99 7f 54 5b 	svshape 27,21,16,15,0
+     fbc:	d9 7f 54 5b 	svshape 27,21,16,15,1
+     fc0:	19 00 5a 5b 	svshape 27,27,1,0,0
+     fc4:	59 00 5a 5b 	svshape 27,27,1,0,1
+     fc8:	99 02 5a 5b 	svshape 27,27,1,5,0
+     fcc:	d9 02 5a 5b 	svshape 27,27,1,5,1
+     fd0:	19 05 5a 5b 	svshape 27,27,1,10,0
+     fd4:	59 05 5a 5b 	svshape 27,27,1,10,1
+     fd8:	99 07 5a 5b 	svshape 27,27,1,15,0
+     fdc:	d9 07 5a 5b 	svshape 27,27,1,15,1
+     fe0:	19 48 5a 5b 	svshape 27,27,10,0,0
+     fe4:	59 48 5a 5b 	svshape 27,27,10,0,1
+     fe8:	99 4a 5a 5b 	svshape 27,27,10,5,0
+     fec:	d9 4a 5a 5b 	svshape 27,27,10,5,1
+     ff0:	19 4d 5a 5b 	svshape 27,27,10,10,0
+     ff4:	59 4d 5a 5b 	svshape 27,27,10,10,1
+     ff8:	99 4f 5a 5b 	svshape 27,27,10,15,0
+     ffc:	d9 4f 5a 5b 	svshape 27,27,10,15,1
+    1000:	19 a0 5a 5b 	svshape 27,27,21,0,0
+    1004:	59 a0 5a 5b 	svshape 27,27,21,0,1
+    1008:	99 a2 5a 5b 	svshape 27,27,21,5,0
+    100c:	d9 a2 5a 5b 	svshape 27,27,21,5,1
+    1010:	19 a5 5a 5b 	svshape 27,27,21,10,0
+    1014:	59 a5 5a 5b 	svshape 27,27,21,10,1
+    1018:	99 a7 5a 5b 	svshape 27,27,21,15,0
+    101c:	d9 a7 5a 5b 	svshape 27,27,21,15,1
+    1020:	19 d0 5a 5b 	svshape 27,27,27,0,0
+    1024:	59 d0 5a 5b 	svshape 27,27,27,0,1
+    1028:	99 d2 5a 5b 	svshape 27,27,27,5,0
+    102c:	d9 d2 5a 5b 	svshape 27,27,27,5,1
+    1030:	19 d5 5a 5b 	svshape 27,27,27,10,0
+    1034:	59 d5 5a 5b 	svshape 27,27,27,10,1
+    1038:	99 d7 5a 5b 	svshape 27,27,27,15,0
+    103c:	d9 d7 5a 5b 	svshape 27,27,27,15,1
+    1040:	19 f0 5a 5b 	svshape 27,27,31,0,0
+    1044:	59 f0 5a 5b 	svshape 27,27,31,0,1
+    1048:	99 f2 5a 5b 	svshape 27,27,31,5,0
+    104c:	d9 f2 5a 5b 	svshape 27,27,31,5,1
+    1050:	19 f5 5a 5b 	svshape 27,27,31,10,0
+    1054:	59 f5 5a 5b 	svshape 27,27,31,10,1
+    1058:	99 f7 5a 5b 	svshape 27,27,31,15,0
+    105c:	d9 f7 5a 5b 	svshape 27,27,31,15,1
+    1060:	19 78 5a 5b 	svshape 27,27,16,0,0
+    1064:	59 78 5a 5b 	svshape 27,27,16,0,1
+    1068:	99 7a 5a 5b 	svshape 27,27,16,5,0
+    106c:	d9 7a 5a 5b 	svshape 27,27,16,5,1
+    1070:	19 7d 5a 5b 	svshape 27,27,16,10,0
+    1074:	59 7d 5a 5b 	svshape 27,27,16,10,1
+    1078:	99 7f 5a 5b 	svshape 27,27,16,15,0
+    107c:	d9 7f 5a 5b 	svshape 27,27,16,15,1
+    1080:	19 00 5e 5b 	svshape 27,31,1,0,0
+    1084:	59 00 5e 5b 	svshape 27,31,1,0,1
+    1088:	99 02 5e 5b 	svshape 27,31,1,5,0
+    108c:	d9 02 5e 5b 	svshape 27,31,1,5,1
+    1090:	19 05 5e 5b 	svshape 27,31,1,10,0
+    1094:	59 05 5e 5b 	svshape 27,31,1,10,1
+    1098:	99 07 5e 5b 	svshape 27,31,1,15,0
+    109c:	d9 07 5e 5b 	svshape 27,31,1,15,1
+    10a0:	19 48 5e 5b 	svshape 27,31,10,0,0
+    10a4:	59 48 5e 5b 	svshape 27,31,10,0,1
+    10a8:	99 4a 5e 5b 	svshape 27,31,10,5,0
+    10ac:	d9 4a 5e 5b 	svshape 27,31,10,5,1
+    10b0:	19 4d 5e 5b 	svshape 27,31,10,10,0
+    10b4:	59 4d 5e 5b 	svshape 27,31,10,10,1
+    10b8:	99 4f 5e 5b 	svshape 27,31,10,15,0
+    10bc:	d9 4f 5e 5b 	svshape 27,31,10,15,1
+    10c0:	19 a0 5e 5b 	svshape 27,31,21,0,0
+    10c4:	59 a0 5e 5b 	svshape 27,31,21,0,1
+    10c8:	99 a2 5e 5b 	svshape 27,31,21,5,0
+    10cc:	d9 a2 5e 5b 	svshape 27,31,21,5,1
+    10d0:	19 a5 5e 5b 	svshape 27,31,21,10,0
+    10d4:	59 a5 5e 5b 	svshape 27,31,21,10,1
+    10d8:	99 a7 5e 5b 	svshape 27,31,21,15,0
+    10dc:	d9 a7 5e 5b 	svshape 27,31,21,15,1
+    10e0:	19 d0 5e 5b 	svshape 27,31,27,0,0
+    10e4:	59 d0 5e 5b 	svshape 27,31,27,0,1
+    10e8:	99 d2 5e 5b 	svshape 27,31,27,5,0
+    10ec:	d9 d2 5e 5b 	svshape 27,31,27,5,1
+    10f0:	19 d5 5e 5b 	svshape 27,31,27,10,0
+    10f4:	59 d5 5e 5b 	svshape 27,31,27,10,1
+    10f8:	99 d7 5e 5b 	svshape 27,31,27,15,0
+    10fc:	d9 d7 5e 5b 	svshape 27,31,27,15,1
+    1100:	19 f0 5e 5b 	svshape 27,31,31,0,0
+    1104:	59 f0 5e 5b 	svshape 27,31,31,0,1
+    1108:	99 f2 5e 5b 	svshape 27,31,31,5,0
+    110c:	d9 f2 5e 5b 	svshape 27,31,31,5,1
+    1110:	19 f5 5e 5b 	svshape 27,31,31,10,0
+    1114:	59 f5 5e 5b 	svshape 27,31,31,10,1
+    1118:	99 f7 5e 5b 	svshape 27,31,31,15,0
+    111c:	d9 f7 5e 5b 	svshape 27,31,31,15,1
+    1120:	19 78 5e 5b 	svshape 27,31,16,0,0
+    1124:	59 78 5e 5b 	svshape 27,31,16,0,1
+    1128:	99 7a 5e 5b 	svshape 27,31,16,5,0
+    112c:	d9 7a 5e 5b 	svshape 27,31,16,5,1
+    1130:	19 7d 5e 5b 	svshape 27,31,16,10,0
+    1134:	59 7d 5e 5b 	svshape 27,31,16,10,1
+    1138:	99 7f 5e 5b 	svshape 27,31,16,15,0
+    113c:	d9 7f 5e 5b 	svshape 27,31,16,15,1
+    1140:	19 00 4f 5b 	svshape 27,16,1,0,0
+    1144:	59 00 4f 5b 	svshape 27,16,1,0,1
+    1148:	99 02 4f 5b 	svshape 27,16,1,5,0
+    114c:	d9 02 4f 5b 	svshape 27,16,1,5,1
+    1150:	19 05 4f 5b 	svshape 27,16,1,10,0
+    1154:	59 05 4f 5b 	svshape 27,16,1,10,1
+    1158:	99 07 4f 5b 	svshape 27,16,1,15,0
+    115c:	d9 07 4f 5b 	svshape 27,16,1,15,1
+    1160:	19 48 4f 5b 	svshape 27,16,10,0,0
+    1164:	59 48 4f 5b 	svshape 27,16,10,0,1
+    1168:	99 4a 4f 5b 	svshape 27,16,10,5,0
+    116c:	d9 4a 4f 5b 	svshape 27,16,10,5,1
+    1170:	19 4d 4f 5b 	svshape 27,16,10,10,0
+    1174:	59 4d 4f 5b 	svshape 27,16,10,10,1
+    1178:	99 4f 4f 5b 	svshape 27,16,10,15,0
+    117c:	d9 4f 4f 5b 	svshape 27,16,10,15,1
+    1180:	19 a0 4f 5b 	svshape 27,16,21,0,0
+    1184:	59 a0 4f 5b 	svshape 27,16,21,0,1
+    1188:	99 a2 4f 5b 	svshape 27,16,21,5,0
+    118c:	d9 a2 4f 5b 	svshape 27,16,21,5,1
+    1190:	19 a5 4f 5b 	svshape 27,16,21,10,0
+    1194:	59 a5 4f 5b 	svshape 27,16,21,10,1
+    1198:	99 a7 4f 5b 	svshape 27,16,21,15,0
+    119c:	d9 a7 4f 5b 	svshape 27,16,21,15,1
+    11a0:	19 d0 4f 5b 	svshape 27,16,27,0,0
+    11a4:	59 d0 4f 5b 	svshape 27,16,27,0,1
+    11a8:	99 d2 4f 5b 	svshape 27,16,27,5,0
+    11ac:	d9 d2 4f 5b 	svshape 27,16,27,5,1
+    11b0:	19 d5 4f 5b 	svshape 27,16,27,10,0
+    11b4:	59 d5 4f 5b 	svshape 27,16,27,10,1
+    11b8:	99 d7 4f 5b 	svshape 27,16,27,15,0
+    11bc:	d9 d7 4f 5b 	svshape 27,16,27,15,1
+    11c0:	19 f0 4f 5b 	svshape 27,16,31,0,0
+    11c4:	59 f0 4f 5b 	svshape 27,16,31,0,1
+    11c8:	99 f2 4f 5b 	svshape 27,16,31,5,0
+    11cc:	d9 f2 4f 5b 	svshape 27,16,31,5,1
+    11d0:	19 f5 4f 5b 	svshape 27,16,31,10,0
+    11d4:	59 f5 4f 5b 	svshape 27,16,31,10,1
+    11d8:	99 f7 4f 5b 	svshape 27,16,31,15,0
+    11dc:	d9 f7 4f 5b 	svshape 27,16,31,15,1
+    11e0:	19 78 4f 5b 	svshape 27,16,16,0,0
+    11e4:	59 78 4f 5b 	svshape 27,16,16,0,1
+    11e8:	99 7a 4f 5b 	svshape 27,16,16,5,0
+    11ec:	d9 7a 4f 5b 	svshape 27,16,16,5,1
+    11f0:	19 7d 4f 5b 	svshape 27,16,16,10,0
+    11f4:	59 7d 4f 5b 	svshape 27,16,16,10,1
+    11f8:	99 7f 4f 5b 	svshape 27,16,16,15,0
+    11fc:	d9 7f 4f 5b 	svshape 27,16,16,15,1
+    1200:	19 00 c0 5b 	svshape 31,1,1,0,0
+    1204:	59 00 c0 5b 	svshape 31,1,1,0,1
+    1208:	99 02 c0 5b 	svshape 31,1,1,5,0
+    120c:	d9 02 c0 5b 	svshape 31,1,1,5,1
+    1210:	19 05 c0 5b 	svshape 31,1,1,10,0
+    1214:	59 05 c0 5b 	svshape 31,1,1,10,1
+    1218:	99 07 c0 5b 	svshape 31,1,1,15,0
+    121c:	d9 07 c0 5b 	svshape 31,1,1,15,1
+    1220:	19 48 c0 5b 	svshape 31,1,10,0,0
+    1224:	59 48 c0 5b 	svshape 31,1,10,0,1
+    1228:	99 4a c0 5b 	svshape 31,1,10,5,0
+    122c:	d9 4a c0 5b 	svshape 31,1,10,5,1
+    1230:	19 4d c0 5b 	svshape 31,1,10,10,0
+    1234:	59 4d c0 5b 	svshape 31,1,10,10,1
+    1238:	99 4f c0 5b 	svshape 31,1,10,15,0
+    123c:	d9 4f c0 5b 	svshape 31,1,10,15,1
+    1240:	19 a0 c0 5b 	svshape 31,1,21,0,0
+    1244:	59 a0 c0 5b 	svshape 31,1,21,0,1
+    1248:	99 a2 c0 5b 	svshape 31,1,21,5,0
+    124c:	d9 a2 c0 5b 	svshape 31,1,21,5,1
+    1250:	19 a5 c0 5b 	svshape 31,1,21,10,0
+    1254:	59 a5 c0 5b 	svshape 31,1,21,10,1
+    1258:	99 a7 c0 5b 	svshape 31,1,21,15,0
+    125c:	d9 a7 c0 5b 	svshape 31,1,21,15,1
+    1260:	19 d0 c0 5b 	svshape 31,1,27,0,0
+    1264:	59 d0 c0 5b 	svshape 31,1,27,0,1
+    1268:	99 d2 c0 5b 	svshape 31,1,27,5,0
+    126c:	d9 d2 c0 5b 	svshape 31,1,27,5,1
+    1270:	19 d5 c0 5b 	svshape 31,1,27,10,0
+    1274:	59 d5 c0 5b 	svshape 31,1,27,10,1
+    1278:	99 d7 c0 5b 	svshape 31,1,27,15,0
+    127c:	d9 d7 c0 5b 	svshape 31,1,27,15,1
+    1280:	19 f0 c0 5b 	svshape 31,1,31,0,0
+    1284:	59 f0 c0 5b 	svshape 31,1,31,0,1
+    1288:	99 f2 c0 5b 	svshape 31,1,31,5,0
+    128c:	d9 f2 c0 5b 	svshape 31,1,31,5,1
+    1290:	19 f5 c0 5b 	svshape 31,1,31,10,0
+    1294:	59 f5 c0 5b 	svshape 31,1,31,10,1
+    1298:	99 f7 c0 5b 	svshape 31,1,31,15,0
+    129c:	d9 f7 c0 5b 	svshape 31,1,31,15,1
+    12a0:	19 78 c0 5b 	svshape 31,1,16,0,0
+    12a4:	59 78 c0 5b 	svshape 31,1,16,0,1
+    12a8:	99 7a c0 5b 	svshape 31,1,16,5,0
+    12ac:	d9 7a c0 5b 	svshape 31,1,16,5,1
+    12b0:	19 7d c0 5b 	svshape 31,1,16,10,0
+    12b4:	59 7d c0 5b 	svshape 31,1,16,10,1
+    12b8:	99 7f c0 5b 	svshape 31,1,16,15,0
+    12bc:	d9 7f c0 5b 	svshape 31,1,16,15,1
+    12c0:	19 00 c9 5b 	svshape 31,10,1,0,0
+    12c4:	59 00 c9 5b 	svshape 31,10,1,0,1
+    12c8:	99 02 c9 5b 	svshape 31,10,1,5,0
+    12cc:	d9 02 c9 5b 	svshape 31,10,1,5,1
+    12d0:	19 05 c9 5b 	svshape 31,10,1,10,0
+    12d4:	59 05 c9 5b 	svshape 31,10,1,10,1
+    12d8:	99 07 c9 5b 	svshape 31,10,1,15,0
+    12dc:	d9 07 c9 5b 	svshape 31,10,1,15,1
+    12e0:	19 48 c9 5b 	svshape 31,10,10,0,0
+    12e4:	59 48 c9 5b 	svshape 31,10,10,0,1
+    12e8:	99 4a c9 5b 	svshape 31,10,10,5,0
+    12ec:	d9 4a c9 5b 	svshape 31,10,10,5,1
+    12f0:	19 4d c9 5b 	svshape 31,10,10,10,0
+    12f4:	59 4d c9 5b 	svshape 31,10,10,10,1
+    12f8:	99 4f c9 5b 	svshape 31,10,10,15,0
+    12fc:	d9 4f c9 5b 	svshape 31,10,10,15,1
+    1300:	19 a0 c9 5b 	svshape 31,10,21,0,0
+    1304:	59 a0 c9 5b 	svshape 31,10,21,0,1
+    1308:	99 a2 c9 5b 	svshape 31,10,21,5,0
+    130c:	d9 a2 c9 5b 	svshape 31,10,21,5,1
+    1310:	19 a5 c9 5b 	svshape 31,10,21,10,0
+    1314:	59 a5 c9 5b 	svshape 31,10,21,10,1
+    1318:	99 a7 c9 5b 	svshape 31,10,21,15,0
+    131c:	d9 a7 c9 5b 	svshape 31,10,21,15,1
+    1320:	19 d0 c9 5b 	svshape 31,10,27,0,0
+    1324:	59 d0 c9 5b 	svshape 31,10,27,0,1
+    1328:	99 d2 c9 5b 	svshape 31,10,27,5,0
+    132c:	d9 d2 c9 5b 	svshape 31,10,27,5,1
+    1330:	19 d5 c9 5b 	svshape 31,10,27,10,0
+    1334:	59 d5 c9 5b 	svshape 31,10,27,10,1
+    1338:	99 d7 c9 5b 	svshape 31,10,27,15,0
+    133c:	d9 d7 c9 5b 	svshape 31,10,27,15,1
+    1340:	19 f0 c9 5b 	svshape 31,10,31,0,0
+    1344:	59 f0 c9 5b 	svshape 31,10,31,0,1
+    1348:	99 f2 c9 5b 	svshape 31,10,31,5,0
+    134c:	d9 f2 c9 5b 	svshape 31,10,31,5,1
+    1350:	19 f5 c9 5b 	svshape 31,10,31,10,0
+    1354:	59 f5 c9 5b 	svshape 31,10,31,10,1
+    1358:	99 f7 c9 5b 	svshape 31,10,31,15,0
+    135c:	d9 f7 c9 5b 	svshape 31,10,31,15,1
+    1360:	19 78 c9 5b 	svshape 31,10,16,0,0
+    1364:	59 78 c9 5b 	svshape 31,10,16,0,1
+    1368:	99 7a c9 5b 	svshape 31,10,16,5,0
+    136c:	d9 7a c9 5b 	svshape 31,10,16,5,1
+    1370:	19 7d c9 5b 	svshape 31,10,16,10,0
+    1374:	59 7d c9 5b 	svshape 31,10,16,10,1
+    1378:	99 7f c9 5b 	svshape 31,10,16,15,0
+    137c:	d9 7f c9 5b 	svshape 31,10,16,15,1
+    1380:	19 00 d4 5b 	svshape 31,21,1,0,0
+    1384:	59 00 d4 5b 	svshape 31,21,1,0,1
+    1388:	99 02 d4 5b 	svshape 31,21,1,5,0
+    138c:	d9 02 d4 5b 	svshape 31,21,1,5,1
+    1390:	19 05 d4 5b 	svshape 31,21,1,10,0
+    1394:	59 05 d4 5b 	svshape 31,21,1,10,1
+    1398:	99 07 d4 5b 	svshape 31,21,1,15,0
+    139c:	d9 07 d4 5b 	svshape 31,21,1,15,1
+    13a0:	19 48 d4 5b 	svshape 31,21,10,0,0
+    13a4:	59 48 d4 5b 	svshape 31,21,10,0,1
+    13a8:	99 4a d4 5b 	svshape 31,21,10,5,0
+    13ac:	d9 4a d4 5b 	svshape 31,21,10,5,1
+    13b0:	19 4d d4 5b 	svshape 31,21,10,10,0
+    13b4:	59 4d d4 5b 	svshape 31,21,10,10,1
+    13b8:	99 4f d4 5b 	svshape 31,21,10,15,0
+    13bc:	d9 4f d4 5b 	svshape 31,21,10,15,1
+    13c0:	19 a0 d4 5b 	svshape 31,21,21,0,0
+    13c4:	59 a0 d4 5b 	svshape 31,21,21,0,1
+    13c8:	99 a2 d4 5b 	svshape 31,21,21,5,0
+    13cc:	d9 a2 d4 5b 	svshape 31,21,21,5,1
+    13d0:	19 a5 d4 5b 	svshape 31,21,21,10,0
+    13d4:	59 a5 d4 5b 	svshape 31,21,21,10,1
+    13d8:	99 a7 d4 5b 	svshape 31,21,21,15,0
+    13dc:	d9 a7 d4 5b 	svshape 31,21,21,15,1
+    13e0:	19 d0 d4 5b 	svshape 31,21,27,0,0
+    13e4:	59 d0 d4 5b 	svshape 31,21,27,0,1
+    13e8:	99 d2 d4 5b 	svshape 31,21,27,5,0
+    13ec:	d9 d2 d4 5b 	svshape 31,21,27,5,1
+    13f0:	19 d5 d4 5b 	svshape 31,21,27,10,0
+    13f4:	59 d5 d4 5b 	svshape 31,21,27,10,1
+    13f8:	99 d7 d4 5b 	svshape 31,21,27,15,0
+    13fc:	d9 d7 d4 5b 	svshape 31,21,27,15,1
+    1400:	19 f0 d4 5b 	svshape 31,21,31,0,0
+    1404:	59 f0 d4 5b 	svshape 31,21,31,0,1
+    1408:	99 f2 d4 5b 	svshape 31,21,31,5,0
+    140c:	d9 f2 d4 5b 	svshape 31,21,31,5,1
+    1410:	19 f5 d4 5b 	svshape 31,21,31,10,0
+    1414:	59 f5 d4 5b 	svshape 31,21,31,10,1
+    1418:	99 f7 d4 5b 	svshape 31,21,31,15,0
+    141c:	d9 f7 d4 5b 	svshape 31,21,31,15,1
+    1420:	19 78 d4 5b 	svshape 31,21,16,0,0
+    1424:	59 78 d4 5b 	svshape 31,21,16,0,1
+    1428:	99 7a d4 5b 	svshape 31,21,16,5,0
+    142c:	d9 7a d4 5b 	svshape 31,21,16,5,1
+    1430:	19 7d d4 5b 	svshape 31,21,16,10,0
+    1434:	59 7d d4 5b 	svshape 31,21,16,10,1
+    1438:	99 7f d4 5b 	svshape 31,21,16,15,0
+    143c:	d9 7f d4 5b 	svshape 31,21,16,15,1
+    1440:	19 00 da 5b 	svshape 31,27,1,0,0
+    1444:	59 00 da 5b 	svshape 31,27,1,0,1
+    1448:	99 02 da 5b 	svshape 31,27,1,5,0
+    144c:	d9 02 da 5b 	svshape 31,27,1,5,1
+    1450:	19 05 da 5b 	svshape 31,27,1,10,0
+    1454:	59 05 da 5b 	svshape 31,27,1,10,1
+    1458:	99 07 da 5b 	svshape 31,27,1,15,0
+    145c:	d9 07 da 5b 	svshape 31,27,1,15,1
+    1460:	19 48 da 5b 	svshape 31,27,10,0,0
+    1464:	59 48 da 5b 	svshape 31,27,10,0,1
+    1468:	99 4a da 5b 	svshape 31,27,10,5,0
+    146c:	d9 4a da 5b 	svshape 31,27,10,5,1
+    1470:	19 4d da 5b 	svshape 31,27,10,10,0
+    1474:	59 4d da 5b 	svshape 31,27,10,10,1
+    1478:	99 4f da 5b 	svshape 31,27,10,15,0
+    147c:	d9 4f da 5b 	svshape 31,27,10,15,1
+    1480:	19 a0 da 5b 	svshape 31,27,21,0,0
+    1484:	59 a0 da 5b 	svshape 31,27,21,0,1
+    1488:	99 a2 da 5b 	svshape 31,27,21,5,0
+    148c:	d9 a2 da 5b 	svshape 31,27,21,5,1
+    1490:	19 a5 da 5b 	svshape 31,27,21,10,0
+    1494:	59 a5 da 5b 	svshape 31,27,21,10,1
+    1498:	99 a7 da 5b 	svshape 31,27,21,15,0
+    149c:	d9 a7 da 5b 	svshape 31,27,21,15,1
+    14a0:	19 d0 da 5b 	svshape 31,27,27,0,0
+    14a4:	59 d0 da 5b 	svshape 31,27,27,0,1
+    14a8:	99 d2 da 5b 	svshape 31,27,27,5,0
+    14ac:	d9 d2 da 5b 	svshape 31,27,27,5,1
+    14b0:	19 d5 da 5b 	svshape 31,27,27,10,0
+    14b4:	59 d5 da 5b 	svshape 31,27,27,10,1
+    14b8:	99 d7 da 5b 	svshape 31,27,27,15,0
+    14bc:	d9 d7 da 5b 	svshape 31,27,27,15,1
+    14c0:	19 f0 da 5b 	svshape 31,27,31,0,0
+    14c4:	59 f0 da 5b 	svshape 31,27,31,0,1
+    14c8:	99 f2 da 5b 	svshape 31,27,31,5,0
+    14cc:	d9 f2 da 5b 	svshape 31,27,31,5,1
+    14d0:	19 f5 da 5b 	svshape 31,27,31,10,0
+    14d4:	59 f5 da 5b 	svshape 31,27,31,10,1
+    14d8:	99 f7 da 5b 	svshape 31,27,31,15,0
+    14dc:	d9 f7 da 5b 	svshape 31,27,31,15,1
+    14e0:	19 78 da 5b 	svshape 31,27,16,0,0
+    14e4:	59 78 da 5b 	svshape 31,27,16,0,1
+    14e8:	99 7a da 5b 	svshape 31,27,16,5,0
+    14ec:	d9 7a da 5b 	svshape 31,27,16,5,1
+    14f0:	19 7d da 5b 	svshape 31,27,16,10,0
+    14f4:	59 7d da 5b 	svshape 31,27,16,10,1
+    14f8:	99 7f da 5b 	svshape 31,27,16,15,0
+    14fc:	d9 7f da 5b 	svshape 31,27,16,15,1
+    1500:	19 00 de 5b 	svshape 31,31,1,0,0
+    1504:	59 00 de 5b 	svshape 31,31,1,0,1
+    1508:	99 02 de 5b 	svshape 31,31,1,5,0
+    150c:	d9 02 de 5b 	svshape 31,31,1,5,1
+    1510:	19 05 de 5b 	svshape 31,31,1,10,0
+    1514:	59 05 de 5b 	svshape 31,31,1,10,1
+    1518:	99 07 de 5b 	svshape 31,31,1,15,0
+    151c:	d9 07 de 5b 	svshape 31,31,1,15,1
+    1520:	19 48 de 5b 	svshape 31,31,10,0,0
+    1524:	59 48 de 5b 	svshape 31,31,10,0,1
+    1528:	99 4a de 5b 	svshape 31,31,10,5,0
+    152c:	d9 4a de 5b 	svshape 31,31,10,5,1
+    1530:	19 4d de 5b 	svshape 31,31,10,10,0
+    1534:	59 4d de 5b 	svshape 31,31,10,10,1
+    1538:	99 4f de 5b 	svshape 31,31,10,15,0
+    153c:	d9 4f de 5b 	svshape 31,31,10,15,1
+    1540:	19 a0 de 5b 	svshape 31,31,21,0,0
+    1544:	59 a0 de 5b 	svshape 31,31,21,0,1
+    1548:	99 a2 de 5b 	svshape 31,31,21,5,0
+    154c:	d9 a2 de 5b 	svshape 31,31,21,5,1
+    1550:	19 a5 de 5b 	svshape 31,31,21,10,0
+    1554:	59 a5 de 5b 	svshape 31,31,21,10,1
+    1558:	99 a7 de 5b 	svshape 31,31,21,15,0
+    155c:	d9 a7 de 5b 	svshape 31,31,21,15,1
+    1560:	19 d0 de 5b 	svshape 31,31,27,0,0
+    1564:	59 d0 de 5b 	svshape 31,31,27,0,1
+    1568:	99 d2 de 5b 	svshape 31,31,27,5,0
+    156c:	d9 d2 de 5b 	svshape 31,31,27,5,1
+    1570:	19 d5 de 5b 	svshape 31,31,27,10,0
+    1574:	59 d5 de 5b 	svshape 31,31,27,10,1
+    1578:	99 d7 de 5b 	svshape 31,31,27,15,0
+    157c:	d9 d7 de 5b 	svshape 31,31,27,15,1
+    1580:	19 f0 de 5b 	svshape 31,31,31,0,0
+    1584:	59 f0 de 5b 	svshape 31,31,31,0,1
+    1588:	99 f2 de 5b 	svshape 31,31,31,5,0
+    158c:	d9 f2 de 5b 	svshape 31,31,31,5,1
+    1590:	19 f5 de 5b 	svshape 31,31,31,10,0
+    1594:	59 f5 de 5b 	svshape 31,31,31,10,1
+    1598:	99 f7 de 5b 	svshape 31,31,31,15,0
+    159c:	d9 f7 de 5b 	svshape 31,31,31,15,1
+    15a0:	19 78 de 5b 	svshape 31,31,16,0,0
+    15a4:	59 78 de 5b 	svshape 31,31,16,0,1
+    15a8:	99 7a de 5b 	svshape 31,31,16,5,0
+    15ac:	d9 7a de 5b 	svshape 31,31,16,5,1
+    15b0:	19 7d de 5b 	svshape 31,31,16,10,0
+    15b4:	59 7d de 5b 	svshape 31,31,16,10,1
+    15b8:	99 7f de 5b 	svshape 31,31,16,15,0
+    15bc:	d9 7f de 5b 	svshape 31,31,16,15,1
+    15c0:	19 00 cf 5b 	svshape 31,16,1,0,0
+    15c4:	59 00 cf 5b 	svshape 31,16,1,0,1
+    15c8:	99 02 cf 5b 	svshape 31,16,1,5,0
+    15cc:	d9 02 cf 5b 	svshape 31,16,1,5,1
+    15d0:	19 05 cf 5b 	svshape 31,16,1,10,0
+    15d4:	59 05 cf 5b 	svshape 31,16,1,10,1
+    15d8:	99 07 cf 5b 	svshape 31,16,1,15,0
+    15dc:	d9 07 cf 5b 	svshape 31,16,1,15,1
+    15e0:	19 48 cf 5b 	svshape 31,16,10,0,0
+    15e4:	59 48 cf 5b 	svshape 31,16,10,0,1
+    15e8:	99 4a cf 5b 	svshape 31,16,10,5,0
+    15ec:	d9 4a cf 5b 	svshape 31,16,10,5,1
+    15f0:	19 4d cf 5b 	svshape 31,16,10,10,0
+    15f4:	59 4d cf 5b 	svshape 31,16,10,10,1
+    15f8:	99 4f cf 5b 	svshape 31,16,10,15,0
+    15fc:	d9 4f cf 5b 	svshape 31,16,10,15,1
+    1600:	19 a0 cf 5b 	svshape 31,16,21,0,0
+    1604:	59 a0 cf 5b 	svshape 31,16,21,0,1
+    1608:	99 a2 cf 5b 	svshape 31,16,21,5,0
+    160c:	d9 a2 cf 5b 	svshape 31,16,21,5,1
+    1610:	19 a5 cf 5b 	svshape 31,16,21,10,0
+    1614:	59 a5 cf 5b 	svshape 31,16,21,10,1
+    1618:	99 a7 cf 5b 	svshape 31,16,21,15,0
+    161c:	d9 a7 cf 5b 	svshape 31,16,21,15,1
+    1620:	19 d0 cf 5b 	svshape 31,16,27,0,0
+    1624:	59 d0 cf 5b 	svshape 31,16,27,0,1
+    1628:	99 d2 cf 5b 	svshape 31,16,27,5,0
+    162c:	d9 d2 cf 5b 	svshape 31,16,27,5,1
+    1630:	19 d5 cf 5b 	svshape 31,16,27,10,0
+    1634:	59 d5 cf 5b 	svshape 31,16,27,10,1
+    1638:	99 d7 cf 5b 	svshape 31,16,27,15,0
+    163c:	d9 d7 cf 5b 	svshape 31,16,27,15,1
+    1640:	19 f0 cf 5b 	svshape 31,16,31,0,0
+    1644:	59 f0 cf 5b 	svshape 31,16,31,0,1
+    1648:	99 f2 cf 5b 	svshape 31,16,31,5,0
+    164c:	d9 f2 cf 5b 	svshape 31,16,31,5,1
+    1650:	19 f5 cf 5b 	svshape 31,16,31,10,0
+    1654:	59 f5 cf 5b 	svshape 31,16,31,10,1
+    1658:	99 f7 cf 5b 	svshape 31,16,31,15,0
+    165c:	d9 f7 cf 5b 	svshape 31,16,31,15,1
+    1660:	19 78 cf 5b 	svshape 31,16,16,0,0
+    1664:	59 78 cf 5b 	svshape 31,16,16,0,1
+    1668:	99 7a cf 5b 	svshape 31,16,16,5,0
+    166c:	d9 7a cf 5b 	svshape 31,16,16,5,1
+    1670:	19 7d cf 5b 	svshape 31,16,16,10,0
+    1674:	59 7d cf 5b 	svshape 31,16,16,10,1
+    1678:	99 7f cf 5b 	svshape 31,16,16,15,0
+    167c:	d9 7f cf 5b 	svshape 31,16,16,15,1
+    1680:	19 00 e0 59 	svshape 16,1,1,0,0
+    1684:	59 00 e0 59 	svshape 16,1,1,0,1
+    1688:	99 02 e0 59 	svshape 16,1,1,5,0
+    168c:	d9 02 e0 59 	svshape 16,1,1,5,1
+    1690:	19 05 e0 59 	svshape 16,1,1,10,0
+    1694:	59 05 e0 59 	svshape 16,1,1,10,1
+    1698:	99 07 e0 59 	svshape 16,1,1,15,0
+    169c:	d9 07 e0 59 	svshape 16,1,1,15,1
+    16a0:	19 48 e0 59 	svshape 16,1,10,0,0
+    16a4:	59 48 e0 59 	svshape 16,1,10,0,1
+    16a8:	99 4a e0 59 	svshape 16,1,10,5,0
+    16ac:	d9 4a e0 59 	svshape 16,1,10,5,1
+    16b0:	19 4d e0 59 	svshape 16,1,10,10,0
+    16b4:	59 4d e0 59 	svshape 16,1,10,10,1
+    16b8:	99 4f e0 59 	svshape 16,1,10,15,0
+    16bc:	d9 4f e0 59 	svshape 16,1,10,15,1
+    16c0:	19 a0 e0 59 	svshape 16,1,21,0,0
+    16c4:	59 a0 e0 59 	svshape 16,1,21,0,1
+    16c8:	99 a2 e0 59 	svshape 16,1,21,5,0
+    16cc:	d9 a2 e0 59 	svshape 16,1,21,5,1
+    16d0:	19 a5 e0 59 	svshape 16,1,21,10,0
+    16d4:	59 a5 e0 59 	svshape 16,1,21,10,1
+    16d8:	99 a7 e0 59 	svshape 16,1,21,15,0
+    16dc:	d9 a7 e0 59 	svshape 16,1,21,15,1
+    16e0:	19 d0 e0 59 	svshape 16,1,27,0,0
+    16e4:	59 d0 e0 59 	svshape 16,1,27,0,1
+    16e8:	99 d2 e0 59 	svshape 16,1,27,5,0
+    16ec:	d9 d2 e0 59 	svshape 16,1,27,5,1
+    16f0:	19 d5 e0 59 	svshape 16,1,27,10,0
+    16f4:	59 d5 e0 59 	svshape 16,1,27,10,1
+    16f8:	99 d7 e0 59 	svshape 16,1,27,15,0
+    16fc:	d9 d7 e0 59 	svshape 16,1,27,15,1
+    1700:	19 f0 e0 59 	svshape 16,1,31,0,0
+    1704:	59 f0 e0 59 	svshape 16,1,31,0,1
+    1708:	99 f2 e0 59 	svshape 16,1,31,5,0
+    170c:	d9 f2 e0 59 	svshape 16,1,31,5,1
+    1710:	19 f5 e0 59 	svshape 16,1,31,10,0
+    1714:	59 f5 e0 59 	svshape 16,1,31,10,1
+    1718:	99 f7 e0 59 	svshape 16,1,31,15,0
+    171c:	d9 f7 e0 59 	svshape 16,1,31,15,1
+    1720:	19 78 e0 59 	svshape 16,1,16,0,0
+    1724:	59 78 e0 59 	svshape 16,1,16,0,1
+    1728:	99 7a e0 59 	svshape 16,1,16,5,0
+    172c:	d9 7a e0 59 	svshape 16,1,16,5,1
+    1730:	19 7d e0 59 	svshape 16,1,16,10,0
+    1734:	59 7d e0 59 	svshape 16,1,16,10,1
+    1738:	99 7f e0 59 	svshape 16,1,16,15,0
+    173c:	d9 7f e0 59 	svshape 16,1,16,15,1
+    1740:	19 00 e9 59 	svshape 16,10,1,0,0
+    1744:	59 00 e9 59 	svshape 16,10,1,0,1
+    1748:	99 02 e9 59 	svshape 16,10,1,5,0
+    174c:	d9 02 e9 59 	svshape 16,10,1,5,1
+    1750:	19 05 e9 59 	svshape 16,10,1,10,0
+    1754:	59 05 e9 59 	svshape 16,10,1,10,1
+    1758:	99 07 e9 59 	svshape 16,10,1,15,0
+    175c:	d9 07 e9 59 	svshape 16,10,1,15,1
+    1760:	19 48 e9 59 	svshape 16,10,10,0,0
+    1764:	59 48 e9 59 	svshape 16,10,10,0,1
+    1768:	99 4a e9 59 	svshape 16,10,10,5,0
+    176c:	d9 4a e9 59 	svshape 16,10,10,5,1
+    1770:	19 4d e9 59 	svshape 16,10,10,10,0
+    1774:	59 4d e9 59 	svshape 16,10,10,10,1
+    1778:	99 4f e9 59 	svshape 16,10,10,15,0
+    177c:	d9 4f e9 59 	svshape 16,10,10,15,1
+    1780:	19 a0 e9 59 	svshape 16,10,21,0,0
+    1784:	59 a0 e9 59 	svshape 16,10,21,0,1
+    1788:	99 a2 e9 59 	svshape 16,10,21,5,0
+    178c:	d9 a2 e9 59 	svshape 16,10,21,5,1
+    1790:	19 a5 e9 59 	svshape 16,10,21,10,0
+    1794:	59 a5 e9 59 	svshape 16,10,21,10,1
+    1798:	99 a7 e9 59 	svshape 16,10,21,15,0
+    179c:	d9 a7 e9 59 	svshape 16,10,21,15,1
+    17a0:	19 d0 e9 59 	svshape 16,10,27,0,0
+    17a4:	59 d0 e9 59 	svshape 16,10,27,0,1
+    17a8:	99 d2 e9 59 	svshape 16,10,27,5,0
+    17ac:	d9 d2 e9 59 	svshape 16,10,27,5,1
+    17b0:	19 d5 e9 59 	svshape 16,10,27,10,0
+    17b4:	59 d5 e9 59 	svshape 16,10,27,10,1
+    17b8:	99 d7 e9 59 	svshape 16,10,27,15,0
+    17bc:	d9 d7 e9 59 	svshape 16,10,27,15,1
+    17c0:	19 f0 e9 59 	svshape 16,10,31,0,0
+    17c4:	59 f0 e9 59 	svshape 16,10,31,0,1
+    17c8:	99 f2 e9 59 	svshape 16,10,31,5,0
+    17cc:	d9 f2 e9 59 	svshape 16,10,31,5,1
+    17d0:	19 f5 e9 59 	svshape 16,10,31,10,0
+    17d4:	59 f5 e9 59 	svshape 16,10,31,10,1
+    17d8:	99 f7 e9 59 	svshape 16,10,31,15,0
+    17dc:	d9 f7 e9 59 	svshape 16,10,31,15,1
+    17e0:	19 78 e9 59 	svshape 16,10,16,0,0
+    17e4:	59 78 e9 59 	svshape 16,10,16,0,1
+    17e8:	99 7a e9 59 	svshape 16,10,16,5,0
+    17ec:	d9 7a e9 59 	svshape 16,10,16,5,1
+    17f0:	19 7d e9 59 	svshape 16,10,16,10,0
+    17f4:	59 7d e9 59 	svshape 16,10,16,10,1
+    17f8:	99 7f e9 59 	svshape 16,10,16,15,0
+    17fc:	d9 7f e9 59 	svshape 16,10,16,15,1
+    1800:	19 00 f4 59 	svshape 16,21,1,0,0
+    1804:	59 00 f4 59 	svshape 16,21,1,0,1
+    1808:	99 02 f4 59 	svshape 16,21,1,5,0
+    180c:	d9 02 f4 59 	svshape 16,21,1,5,1
+    1810:	19 05 f4 59 	svshape 16,21,1,10,0
+    1814:	59 05 f4 59 	svshape 16,21,1,10,1
+    1818:	99 07 f4 59 	svshape 16,21,1,15,0
+    181c:	d9 07 f4 59 	svshape 16,21,1,15,1
+    1820:	19 48 f4 59 	svshape 16,21,10,0,0
+    1824:	59 48 f4 59 	svshape 16,21,10,0,1
+    1828:	99 4a f4 59 	svshape 16,21,10,5,0
+    182c:	d9 4a f4 59 	svshape 16,21,10,5,1
+    1830:	19 4d f4 59 	svshape 16,21,10,10,0
+    1834:	59 4d f4 59 	svshape 16,21,10,10,1
+    1838:	99 4f f4 59 	svshape 16,21,10,15,0
+    183c:	d9 4f f4 59 	svshape 16,21,10,15,1
+    1840:	19 a0 f4 59 	svshape 16,21,21,0,0
+    1844:	59 a0 f4 59 	svshape 16,21,21,0,1
+    1848:	99 a2 f4 59 	svshape 16,21,21,5,0
+    184c:	d9 a2 f4 59 	svshape 16,21,21,5,1
+    1850:	19 a5 f4 59 	svshape 16,21,21,10,0
+    1854:	59 a5 f4 59 	svshape 16,21,21,10,1
+    1858:	99 a7 f4 59 	svshape 16,21,21,15,0
+    185c:	d9 a7 f4 59 	svshape 16,21,21,15,1
+    1860:	19 d0 f4 59 	svshape 16,21,27,0,0
+    1864:	59 d0 f4 59 	svshape 16,21,27,0,1
+    1868:	99 d2 f4 59 	svshape 16,21,27,5,0
+    186c:	d9 d2 f4 59 	svshape 16,21,27,5,1
+    1870:	19 d5 f4 59 	svshape 16,21,27,10,0
+    1874:	59 d5 f4 59 	svshape 16,21,27,10,1
+    1878:	99 d7 f4 59 	svshape 16,21,27,15,0
+    187c:	d9 d7 f4 59 	svshape 16,21,27,15,1
+    1880:	19 f0 f4 59 	svshape 16,21,31,0,0
+    1884:	59 f0 f4 59 	svshape 16,21,31,0,1
+    1888:	99 f2 f4 59 	svshape 16,21,31,5,0
+    188c:	d9 f2 f4 59 	svshape 16,21,31,5,1
+    1890:	19 f5 f4 59 	svshape 16,21,31,10,0
+    1894:	59 f5 f4 59 	svshape 16,21,31,10,1
+    1898:	99 f7 f4 59 	svshape 16,21,31,15,0
+    189c:	d9 f7 f4 59 	svshape 16,21,31,15,1
+    18a0:	19 78 f4 59 	svshape 16,21,16,0,0
+    18a4:	59 78 f4 59 	svshape 16,21,16,0,1
+    18a8:	99 7a f4 59 	svshape 16,21,16,5,0
+    18ac:	d9 7a f4 59 	svshape 16,21,16,5,1
+    18b0:	19 7d f4 59 	svshape 16,21,16,10,0
+    18b4:	59 7d f4 59 	svshape 16,21,16,10,1
+    18b8:	99 7f f4 59 	svshape 16,21,16,15,0
+    18bc:	d9 7f f4 59 	svshape 16,21,16,15,1
+    18c0:	19 00 fa 59 	svshape 16,27,1,0,0
+    18c4:	59 00 fa 59 	svshape 16,27,1,0,1
+    18c8:	99 02 fa 59 	svshape 16,27,1,5,0
+    18cc:	d9 02 fa 59 	svshape 16,27,1,5,1
+    18d0:	19 05 fa 59 	svshape 16,27,1,10,0
+    18d4:	59 05 fa 59 	svshape 16,27,1,10,1
+    18d8:	99 07 fa 59 	svshape 16,27,1,15,0
+    18dc:	d9 07 fa 59 	svshape 16,27,1,15,1
+    18e0:	19 48 fa 59 	svshape 16,27,10,0,0
+    18e4:	59 48 fa 59 	svshape 16,27,10,0,1
+    18e8:	99 4a fa 59 	svshape 16,27,10,5,0
+    18ec:	d9 4a fa 59 	svshape 16,27,10,5,1
+    18f0:	19 4d fa 59 	svshape 16,27,10,10,0
+    18f4:	59 4d fa 59 	svshape 16,27,10,10,1
+    18f8:	99 4f fa 59 	svshape 16,27,10,15,0
+    18fc:	d9 4f fa 59 	svshape 16,27,10,15,1
+    1900:	19 a0 fa 59 	svshape 16,27,21,0,0
+    1904:	59 a0 fa 59 	svshape 16,27,21,0,1
+    1908:	99 a2 fa 59 	svshape 16,27,21,5,0
+    190c:	d9 a2 fa 59 	svshape 16,27,21,5,1
+    1910:	19 a5 fa 59 	svshape 16,27,21,10,0
+    1914:	59 a5 fa 59 	svshape 16,27,21,10,1
+    1918:	99 a7 fa 59 	svshape 16,27,21,15,0
+    191c:	d9 a7 fa 59 	svshape 16,27,21,15,1
+    1920:	19 d0 fa 59 	svshape 16,27,27,0,0
+    1924:	59 d0 fa 59 	svshape 16,27,27,0,1
+    1928:	99 d2 fa 59 	svshape 16,27,27,5,0
+    192c:	d9 d2 fa 59 	svshape 16,27,27,5,1
+    1930:	19 d5 fa 59 	svshape 16,27,27,10,0
+    1934:	59 d5 fa 59 	svshape 16,27,27,10,1
+    1938:	99 d7 fa 59 	svshape 16,27,27,15,0
+    193c:	d9 d7 fa 59 	svshape 16,27,27,15,1
+    1940:	19 f0 fa 59 	svshape 16,27,31,0,0
+    1944:	59 f0 fa 59 	svshape 16,27,31,0,1
+    1948:	99 f2 fa 59 	svshape 16,27,31,5,0
+    194c:	d9 f2 fa 59 	svshape 16,27,31,5,1
+    1950:	19 f5 fa 59 	svshape 16,27,31,10,0
+    1954:	59 f5 fa 59 	svshape 16,27,31,10,1
+    1958:	99 f7 fa 59 	svshape 16,27,31,15,0
+    195c:	d9 f7 fa 59 	svshape 16,27,31,15,1
+    1960:	19 78 fa 59 	svshape 16,27,16,0,0
+    1964:	59 78 fa 59 	svshape 16,27,16,0,1
+    1968:	99 7a fa 59 	svshape 16,27,16,5,0
+    196c:	d9 7a fa 59 	svshape 16,27,16,5,1
+    1970:	19 7d fa 59 	svshape 16,27,16,10,0
+    1974:	59 7d fa 59 	svshape 16,27,16,10,1
+    1978:	99 7f fa 59 	svshape 16,27,16,15,0
+    197c:	d9 7f fa 59 	svshape 16,27,16,15,1
+    1980:	19 00 fe 59 	svshape 16,31,1,0,0
+    1984:	59 00 fe 59 	svshape 16,31,1,0,1
+    1988:	99 02 fe 59 	svshape 16,31,1,5,0
+    198c:	d9 02 fe 59 	svshape 16,31,1,5,1
+    1990:	19 05 fe 59 	svshape 16,31,1,10,0
+    1994:	59 05 fe 59 	svshape 16,31,1,10,1
+    1998:	99 07 fe 59 	svshape 16,31,1,15,0
+    199c:	d9 07 fe 59 	svshape 16,31,1,15,1
+    19a0:	19 48 fe 59 	svshape 16,31,10,0,0
+    19a4:	59 48 fe 59 	svshape 16,31,10,0,1
+    19a8:	99 4a fe 59 	svshape 16,31,10,5,0
+    19ac:	d9 4a fe 59 	svshape 16,31,10,5,1
+    19b0:	19 4d fe 59 	svshape 16,31,10,10,0
+    19b4:	59 4d fe 59 	svshape 16,31,10,10,1
+    19b8:	99 4f fe 59 	svshape 16,31,10,15,0
+    19bc:	d9 4f fe 59 	svshape 16,31,10,15,1
+    19c0:	19 a0 fe 59 	svshape 16,31,21,0,0
+    19c4:	59 a0 fe 59 	svshape 16,31,21,0,1
+    19c8:	99 a2 fe 59 	svshape 16,31,21,5,0
+    19cc:	d9 a2 fe 59 	svshape 16,31,21,5,1
+    19d0:	19 a5 fe 59 	svshape 16,31,21,10,0
+    19d4:	59 a5 fe 59 	svshape 16,31,21,10,1
+    19d8:	99 a7 fe 59 	svshape 16,31,21,15,0
+    19dc:	d9 a7 fe 59 	svshape 16,31,21,15,1
+    19e0:	19 d0 fe 59 	svshape 16,31,27,0,0
+    19e4:	59 d0 fe 59 	svshape 16,31,27,0,1
+    19e8:	99 d2 fe 59 	svshape 16,31,27,5,0
+    19ec:	d9 d2 fe 59 	svshape 16,31,27,5,1
+    19f0:	19 d5 fe 59 	svshape 16,31,27,10,0
+    19f4:	59 d5 fe 59 	svshape 16,31,27,10,1
+    19f8:	99 d7 fe 59 	svshape 16,31,27,15,0
+    19fc:	d9 d7 fe 59 	svshape 16,31,27,15,1
+    1a00:	19 f0 fe 59 	svshape 16,31,31,0,0
+    1a04:	59 f0 fe 59 	svshape 16,31,31,0,1
+    1a08:	99 f2 fe 59 	svshape 16,31,31,5,0
+    1a0c:	d9 f2 fe 59 	svshape 16,31,31,5,1
+    1a10:	19 f5 fe 59 	svshape 16,31,31,10,0
+    1a14:	59 f5 fe 59 	svshape 16,31,31,10,1
+    1a18:	99 f7 fe 59 	svshape 16,31,31,15,0
+    1a1c:	d9 f7 fe 59 	svshape 16,31,31,15,1
+    1a20:	19 78 fe 59 	svshape 16,31,16,0,0
+    1a24:	59 78 fe 59 	svshape 16,31,16,0,1
+    1a28:	99 7a fe 59 	svshape 16,31,16,5,0
+    1a2c:	d9 7a fe 59 	svshape 16,31,16,5,1
+    1a30:	19 7d fe 59 	svshape 16,31,16,10,0
+    1a34:	59 7d fe 59 	svshape 16,31,16,10,1
+    1a38:	99 7f fe 59 	svshape 16,31,16,15,0
+    1a3c:	d9 7f fe 59 	svshape 16,31,16,15,1
+    1a40:	19 00 ef 59 	svshape 16,16,1,0,0
+    1a44:	59 00 ef 59 	svshape 16,16,1,0,1
+    1a48:	99 02 ef 59 	svshape 16,16,1,5,0
+    1a4c:	d9 02 ef 59 	svshape 16,16,1,5,1
+    1a50:	19 05 ef 59 	svshape 16,16,1,10,0
+    1a54:	59 05 ef 59 	svshape 16,16,1,10,1
+    1a58:	99 07 ef 59 	svshape 16,16,1,15,0
+    1a5c:	d9 07 ef 59 	svshape 16,16,1,15,1
+    1a60:	19 48 ef 59 	svshape 16,16,10,0,0
+    1a64:	59 48 ef 59 	svshape 16,16,10,0,1
+    1a68:	99 4a ef 59 	svshape 16,16,10,5,0
+    1a6c:	d9 4a ef 59 	svshape 16,16,10,5,1
+    1a70:	19 4d ef 59 	svshape 16,16,10,10,0
+    1a74:	59 4d ef 59 	svshape 16,16,10,10,1
+    1a78:	99 4f ef 59 	svshape 16,16,10,15,0
+    1a7c:	d9 4f ef 59 	svshape 16,16,10,15,1
+    1a80:	19 a0 ef 59 	svshape 16,16,21,0,0
+    1a84:	59 a0 ef 59 	svshape 16,16,21,0,1
+    1a88:	99 a2 ef 59 	svshape 16,16,21,5,0
+    1a8c:	d9 a2 ef 59 	svshape 16,16,21,5,1
+    1a90:	19 a5 ef 59 	svshape 16,16,21,10,0
+    1a94:	59 a5 ef 59 	svshape 16,16,21,10,1
+    1a98:	99 a7 ef 59 	svshape 16,16,21,15,0
+    1a9c:	d9 a7 ef 59 	svshape 16,16,21,15,1
+    1aa0:	19 d0 ef 59 	svshape 16,16,27,0,0
+    1aa4:	59 d0 ef 59 	svshape 16,16,27,0,1
+    1aa8:	99 d2 ef 59 	svshape 16,16,27,5,0
+    1aac:	d9 d2 ef 59 	svshape 16,16,27,5,1
+    1ab0:	19 d5 ef 59 	svshape 16,16,27,10,0
+    1ab4:	59 d5 ef 59 	svshape 16,16,27,10,1
+    1ab8:	99 d7 ef 59 	svshape 16,16,27,15,0
+    1abc:	d9 d7 ef 59 	svshape 16,16,27,15,1
+    1ac0:	19 f0 ef 59 	svshape 16,16,31,0,0
+    1ac4:	59 f0 ef 59 	svshape 16,16,31,0,1
+    1ac8:	99 f2 ef 59 	svshape 16,16,31,5,0
+    1acc:	d9 f2 ef 59 	svshape 16,16,31,5,1
+    1ad0:	19 f5 ef 59 	svshape 16,16,31,10,0
+    1ad4:	59 f5 ef 59 	svshape 16,16,31,10,1
+    1ad8:	99 f7 ef 59 	svshape 16,16,31,15,0
+    1adc:	d9 f7 ef 59 	svshape 16,16,31,15,1
+    1ae0:	19 78 ef 59 	svshape 16,16,16,0,0
+    1ae4:	59 78 ef 59 	svshape 16,16,16,0,1
+    1ae8:	99 7a ef 59 	svshape 16,16,16,5,0
+    1aec:	d9 7a ef 59 	svshape 16,16,16,5,1
+    1af0:	19 7d ef 59 	svshape 16,16,16,10,0
+    1af4:	59 7d ef 59 	svshape 16,16,16,10,1
+    1af8:	99 7f ef 59 	svshape 16,16,16,15,0
+    1afc:	d9 7f ef 59 	svshape 16,16,16,15,1
diff --git a/gas/testsuite/gas/ppc/svshape.s b/gas/testsuite/gas/ppc/svshape.s
new file mode 100644
index 0000000000..6a0984aa5f
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svshape.s
@@ -0,0 +1,1728 @@
+svshape 1,1,1,0,0
+svshape 1,1,1,0,1
+svshape 1,1,1,5,0
+svshape 1,1,1,5,1
+svshape 1,1,1,10,0
+svshape 1,1,1,10,1
+svshape 1,1,1,15,0
+svshape 1,1,1,15,1
+svshape 1,1,10,0,0
+svshape 1,1,10,0,1
+svshape 1,1,10,5,0
+svshape 1,1,10,5,1
+svshape 1,1,10,10,0
+svshape 1,1,10,10,1
+svshape 1,1,10,15,0
+svshape 1,1,10,15,1
+svshape 1,1,21,0,0
+svshape 1,1,21,0,1
+svshape 1,1,21,5,0
+svshape 1,1,21,5,1
+svshape 1,1,21,10,0
+svshape 1,1,21,10,1
+svshape 1,1,21,15,0
+svshape 1,1,21,15,1
+svshape 1,1,27,0,0
+svshape 1,1,27,0,1
+svshape 1,1,27,5,0
+svshape 1,1,27,5,1
+svshape 1,1,27,10,0
+svshape 1,1,27,10,1
+svshape 1,1,27,15,0
+svshape 1,1,27,15,1
+svshape 1,1,31,0,0
+svshape 1,1,31,0,1
+svshape 1,1,31,5,0
+svshape 1,1,31,5,1
+svshape 1,1,31,10,0
+svshape 1,1,31,10,1
+svshape 1,1,31,15,0
+svshape 1,1,31,15,1
+svshape 1,1,16,0,0
+svshape 1,1,16,0,1
+svshape 1,1,16,5,0
+svshape 1,1,16,5,1
+svshape 1,1,16,10,0
+svshape 1,1,16,10,1
+svshape 1,1,16,15,0
+svshape 1,1,16,15,1
+svshape 1,10,1,0,0
+svshape 1,10,1,0,1
+svshape 1,10,1,5,0
+svshape 1,10,1,5,1
+svshape 1,10,1,10,0
+svshape 1,10,1,10,1
+svshape 1,10,1,15,0
+svshape 1,10,1,15,1
+svshape 1,10,10,0,0
+svshape 1,10,10,0,1
+svshape 1,10,10,5,0
+svshape 1,10,10,5,1
+svshape 1,10,10,10,0
+svshape 1,10,10,10,1
+svshape 1,10,10,15,0
+svshape 1,10,10,15,1
+svshape 1,10,21,0,0
+svshape 1,10,21,0,1
+svshape 1,10,21,5,0
+svshape 1,10,21,5,1
+svshape 1,10,21,10,0
+svshape 1,10,21,10,1
+svshape 1,10,21,15,0
+svshape 1,10,21,15,1
+svshape 1,10,27,0,0
+svshape 1,10,27,0,1
+svshape 1,10,27,5,0
+svshape 1,10,27,5,1
+svshape 1,10,27,10,0
+svshape 1,10,27,10,1
+svshape 1,10,27,15,0
+svshape 1,10,27,15,1
+svshape 1,10,31,0,0
+svshape 1,10,31,0,1
+svshape 1,10,31,5,0
+svshape 1,10,31,5,1
+svshape 1,10,31,10,0
+svshape 1,10,31,10,1
+svshape 1,10,31,15,0
+svshape 1,10,31,15,1
+svshape 1,10,16,0,0
+svshape 1,10,16,0,1
+svshape 1,10,16,5,0
+svshape 1,10,16,5,1
+svshape 1,10,16,10,0
+svshape 1,10,16,10,1
+svshape 1,10,16,15,0
+svshape 1,10,16,15,1
+svshape 1,21,1,0,0
+svshape 1,21,1,0,1
+svshape 1,21,1,5,0
+svshape 1,21,1,5,1
+svshape 1,21,1,10,0
+svshape 1,21,1,10,1
+svshape 1,21,1,15,0
+svshape 1,21,1,15,1
+svshape 1,21,10,0,0
+svshape 1,21,10,0,1
+svshape 1,21,10,5,0
+svshape 1,21,10,5,1
+svshape 1,21,10,10,0
+svshape 1,21,10,10,1
+svshape 1,21,10,15,0
+svshape 1,21,10,15,1
+svshape 1,21,21,0,0
+svshape 1,21,21,0,1
+svshape 1,21,21,5,0
+svshape 1,21,21,5,1
+svshape 1,21,21,10,0
+svshape 1,21,21,10,1
+svshape 1,21,21,15,0
+svshape 1,21,21,15,1
+svshape 1,21,27,0,0
+svshape 1,21,27,0,1
+svshape 1,21,27,5,0
+svshape 1,21,27,5,1
+svshape 1,21,27,10,0
+svshape 1,21,27,10,1
+svshape 1,21,27,15,0
+svshape 1,21,27,15,1
+svshape 1,21,31,0,0
+svshape 1,21,31,0,1
+svshape 1,21,31,5,0
+svshape 1,21,31,5,1
+svshape 1,21,31,10,0
+svshape 1,21,31,10,1
+svshape 1,21,31,15,0
+svshape 1,21,31,15,1
+svshape 1,21,16,0,0
+svshape 1,21,16,0,1
+svshape 1,21,16,5,0
+svshape 1,21,16,5,1
+svshape 1,21,16,10,0
+svshape 1,21,16,10,1
+svshape 1,21,16,15,0
+svshape 1,21,16,15,1
+svshape 1,27,1,0,0
+svshape 1,27,1,0,1
+svshape 1,27,1,5,0
+svshape 1,27,1,5,1
+svshape 1,27,1,10,0
+svshape 1,27,1,10,1
+svshape 1,27,1,15,0
+svshape 1,27,1,15,1
+svshape 1,27,10,0,0
+svshape 1,27,10,0,1
+svshape 1,27,10,5,0
+svshape 1,27,10,5,1
+svshape 1,27,10,10,0
+svshape 1,27,10,10,1
+svshape 1,27,10,15,0
+svshape 1,27,10,15,1
+svshape 1,27,21,0,0
+svshape 1,27,21,0,1
+svshape 1,27,21,5,0
+svshape 1,27,21,5,1
+svshape 1,27,21,10,0
+svshape 1,27,21,10,1
+svshape 1,27,21,15,0
+svshape 1,27,21,15,1
+svshape 1,27,27,0,0
+svshape 1,27,27,0,1
+svshape 1,27,27,5,0
+svshape 1,27,27,5,1
+svshape 1,27,27,10,0
+svshape 1,27,27,10,1
+svshape 1,27,27,15,0
+svshape 1,27,27,15,1
+svshape 1,27,31,0,0
+svshape 1,27,31,0,1
+svshape 1,27,31,5,0
+svshape 1,27,31,5,1
+svshape 1,27,31,10,0
+svshape 1,27,31,10,1
+svshape 1,27,31,15,0
+svshape 1,27,31,15,1
+svshape 1,27,16,0,0
+svshape 1,27,16,0,1
+svshape 1,27,16,5,0
+svshape 1,27,16,5,1
+svshape 1,27,16,10,0
+svshape 1,27,16,10,1
+svshape 1,27,16,15,0
+svshape 1,27,16,15,1
+svshape 1,31,1,0,0
+svshape 1,31,1,0,1
+svshape 1,31,1,5,0
+svshape 1,31,1,5,1
+svshape 1,31,1,10,0
+svshape 1,31,1,10,1
+svshape 1,31,1,15,0
+svshape 1,31,1,15,1
+svshape 1,31,10,0,0
+svshape 1,31,10,0,1
+svshape 1,31,10,5,0
+svshape 1,31,10,5,1
+svshape 1,31,10,10,0
+svshape 1,31,10,10,1
+svshape 1,31,10,15,0
+svshape 1,31,10,15,1
+svshape 1,31,21,0,0
+svshape 1,31,21,0,1
+svshape 1,31,21,5,0
+svshape 1,31,21,5,1
+svshape 1,31,21,10,0
+svshape 1,31,21,10,1
+svshape 1,31,21,15,0
+svshape 1,31,21,15,1
+svshape 1,31,27,0,0
+svshape 1,31,27,0,1
+svshape 1,31,27,5,0
+svshape 1,31,27,5,1
+svshape 1,31,27,10,0
+svshape 1,31,27,10,1
+svshape 1,31,27,15,0
+svshape 1,31,27,15,1
+svshape 1,31,31,0,0
+svshape 1,31,31,0,1
+svshape 1,31,31,5,0
+svshape 1,31,31,5,1
+svshape 1,31,31,10,0
+svshape 1,31,31,10,1
+svshape 1,31,31,15,0
+svshape 1,31,31,15,1
+svshape 1,31,16,0,0
+svshape 1,31,16,0,1
+svshape 1,31,16,5,0
+svshape 1,31,16,5,1
+svshape 1,31,16,10,0
+svshape 1,31,16,10,1
+svshape 1,31,16,15,0
+svshape 1,31,16,15,1
+svshape 1,16,1,0,0
+svshape 1,16,1,0,1
+svshape 1,16,1,5,0
+svshape 1,16,1,5,1
+svshape 1,16,1,10,0
+svshape 1,16,1,10,1
+svshape 1,16,1,15,0
+svshape 1,16,1,15,1
+svshape 1,16,10,0,0
+svshape 1,16,10,0,1
+svshape 1,16,10,5,0
+svshape 1,16,10,5,1
+svshape 1,16,10,10,0
+svshape 1,16,10,10,1
+svshape 1,16,10,15,0
+svshape 1,16,10,15,1
+svshape 1,16,21,0,0
+svshape 1,16,21,0,1
+svshape 1,16,21,5,0
+svshape 1,16,21,5,1
+svshape 1,16,21,10,0
+svshape 1,16,21,10,1
+svshape 1,16,21,15,0
+svshape 1,16,21,15,1
+svshape 1,16,27,0,0
+svshape 1,16,27,0,1
+svshape 1,16,27,5,0
+svshape 1,16,27,5,1
+svshape 1,16,27,10,0
+svshape 1,16,27,10,1
+svshape 1,16,27,15,0
+svshape 1,16,27,15,1
+svshape 1,16,31,0,0
+svshape 1,16,31,0,1
+svshape 1,16,31,5,0
+svshape 1,16,31,5,1
+svshape 1,16,31,10,0
+svshape 1,16,31,10,1
+svshape 1,16,31,15,0
+svshape 1,16,31,15,1
+svshape 1,16,16,0,0
+svshape 1,16,16,0,1
+svshape 1,16,16,5,0
+svshape 1,16,16,5,1
+svshape 1,16,16,10,0
+svshape 1,16,16,10,1
+svshape 1,16,16,15,0
+svshape 1,16,16,15,1
+svshape 10,1,1,0,0
+svshape 10,1,1,0,1
+svshape 10,1,1,5,0
+svshape 10,1,1,5,1
+svshape 10,1,1,10,0
+svshape 10,1,1,10,1
+svshape 10,1,1,15,0
+svshape 10,1,1,15,1
+svshape 10,1,10,0,0
+svshape 10,1,10,0,1
+svshape 10,1,10,5,0
+svshape 10,1,10,5,1
+svshape 10,1,10,10,0
+svshape 10,1,10,10,1
+svshape 10,1,10,15,0
+svshape 10,1,10,15,1
+svshape 10,1,21,0,0
+svshape 10,1,21,0,1
+svshape 10,1,21,5,0
+svshape 10,1,21,5,1
+svshape 10,1,21,10,0
+svshape 10,1,21,10,1
+svshape 10,1,21,15,0
+svshape 10,1,21,15,1
+svshape 10,1,27,0,0
+svshape 10,1,27,0,1
+svshape 10,1,27,5,0
+svshape 10,1,27,5,1
+svshape 10,1,27,10,0
+svshape 10,1,27,10,1
+svshape 10,1,27,15,0
+svshape 10,1,27,15,1
+svshape 10,1,31,0,0
+svshape 10,1,31,0,1
+svshape 10,1,31,5,0
+svshape 10,1,31,5,1
+svshape 10,1,31,10,0
+svshape 10,1,31,10,1
+svshape 10,1,31,15,0
+svshape 10,1,31,15,1
+svshape 10,1,16,0,0
+svshape 10,1,16,0,1
+svshape 10,1,16,5,0
+svshape 10,1,16,5,1
+svshape 10,1,16,10,0
+svshape 10,1,16,10,1
+svshape 10,1,16,15,0
+svshape 10,1,16,15,1
+svshape 10,10,1,0,0
+svshape 10,10,1,0,1
+svshape 10,10,1,5,0
+svshape 10,10,1,5,1
+svshape 10,10,1,10,0
+svshape 10,10,1,10,1
+svshape 10,10,1,15,0
+svshape 10,10,1,15,1
+svshape 10,10,10,0,0
+svshape 10,10,10,0,1
+svshape 10,10,10,5,0
+svshape 10,10,10,5,1
+svshape 10,10,10,10,0
+svshape 10,10,10,10,1
+svshape 10,10,10,15,0
+svshape 10,10,10,15,1
+svshape 10,10,21,0,0
+svshape 10,10,21,0,1
+svshape 10,10,21,5,0
+svshape 10,10,21,5,1
+svshape 10,10,21,10,0
+svshape 10,10,21,10,1
+svshape 10,10,21,15,0
+svshape 10,10,21,15,1
+svshape 10,10,27,0,0
+svshape 10,10,27,0,1
+svshape 10,10,27,5,0
+svshape 10,10,27,5,1
+svshape 10,10,27,10,0
+svshape 10,10,27,10,1
+svshape 10,10,27,15,0
+svshape 10,10,27,15,1
+svshape 10,10,31,0,0
+svshape 10,10,31,0,1
+svshape 10,10,31,5,0
+svshape 10,10,31,5,1
+svshape 10,10,31,10,0
+svshape 10,10,31,10,1
+svshape 10,10,31,15,0
+svshape 10,10,31,15,1
+svshape 10,10,16,0,0
+svshape 10,10,16,0,1
+svshape 10,10,16,5,0
+svshape 10,10,16,5,1
+svshape 10,10,16,10,0
+svshape 10,10,16,10,1
+svshape 10,10,16,15,0
+svshape 10,10,16,15,1
+svshape 10,21,1,0,0
+svshape 10,21,1,0,1
+svshape 10,21,1,5,0
+svshape 10,21,1,5,1
+svshape 10,21,1,10,0
+svshape 10,21,1,10,1
+svshape 10,21,1,15,0
+svshape 10,21,1,15,1
+svshape 10,21,10,0,0
+svshape 10,21,10,0,1
+svshape 10,21,10,5,0
+svshape 10,21,10,5,1
+svshape 10,21,10,10,0
+svshape 10,21,10,10,1
+svshape 10,21,10,15,0
+svshape 10,21,10,15,1
+svshape 10,21,21,0,0
+svshape 10,21,21,0,1
+svshape 10,21,21,5,0
+svshape 10,21,21,5,1
+svshape 10,21,21,10,0
+svshape 10,21,21,10,1
+svshape 10,21,21,15,0
+svshape 10,21,21,15,1
+svshape 10,21,27,0,0
+svshape 10,21,27,0,1
+svshape 10,21,27,5,0
+svshape 10,21,27,5,1
+svshape 10,21,27,10,0
+svshape 10,21,27,10,1
+svshape 10,21,27,15,0
+svshape 10,21,27,15,1
+svshape 10,21,31,0,0
+svshape 10,21,31,0,1
+svshape 10,21,31,5,0
+svshape 10,21,31,5,1
+svshape 10,21,31,10,0
+svshape 10,21,31,10,1
+svshape 10,21,31,15,0
+svshape 10,21,31,15,1
+svshape 10,21,16,0,0
+svshape 10,21,16,0,1
+svshape 10,21,16,5,0
+svshape 10,21,16,5,1
+svshape 10,21,16,10,0
+svshape 10,21,16,10,1
+svshape 10,21,16,15,0
+svshape 10,21,16,15,1
+svshape 10,27,1,0,0
+svshape 10,27,1,0,1
+svshape 10,27,1,5,0
+svshape 10,27,1,5,1
+svshape 10,27,1,10,0
+svshape 10,27,1,10,1
+svshape 10,27,1,15,0
+svshape 10,27,1,15,1
+svshape 10,27,10,0,0
+svshape 10,27,10,0,1
+svshape 10,27,10,5,0
+svshape 10,27,10,5,1
+svshape 10,27,10,10,0
+svshape 10,27,10,10,1
+svshape 10,27,10,15,0
+svshape 10,27,10,15,1
+svshape 10,27,21,0,0
+svshape 10,27,21,0,1
+svshape 10,27,21,5,0
+svshape 10,27,21,5,1
+svshape 10,27,21,10,0
+svshape 10,27,21,10,1
+svshape 10,27,21,15,0
+svshape 10,27,21,15,1
+svshape 10,27,27,0,0
+svshape 10,27,27,0,1
+svshape 10,27,27,5,0
+svshape 10,27,27,5,1
+svshape 10,27,27,10,0
+svshape 10,27,27,10,1
+svshape 10,27,27,15,0
+svshape 10,27,27,15,1
+svshape 10,27,31,0,0
+svshape 10,27,31,0,1
+svshape 10,27,31,5,0
+svshape 10,27,31,5,1
+svshape 10,27,31,10,0
+svshape 10,27,31,10,1
+svshape 10,27,31,15,0
+svshape 10,27,31,15,1
+svshape 10,27,16,0,0
+svshape 10,27,16,0,1
+svshape 10,27,16,5,0
+svshape 10,27,16,5,1
+svshape 10,27,16,10,0
+svshape 10,27,16,10,1
+svshape 10,27,16,15,0
+svshape 10,27,16,15,1
+svshape 10,31,1,0,0
+svshape 10,31,1,0,1
+svshape 10,31,1,5,0
+svshape 10,31,1,5,1
+svshape 10,31,1,10,0
+svshape 10,31,1,10,1
+svshape 10,31,1,15,0
+svshape 10,31,1,15,1
+svshape 10,31,10,0,0
+svshape 10,31,10,0,1
+svshape 10,31,10,5,0
+svshape 10,31,10,5,1
+svshape 10,31,10,10,0
+svshape 10,31,10,10,1
+svshape 10,31,10,15,0
+svshape 10,31,10,15,1
+svshape 10,31,21,0,0
+svshape 10,31,21,0,1
+svshape 10,31,21,5,0
+svshape 10,31,21,5,1
+svshape 10,31,21,10,0
+svshape 10,31,21,10,1
+svshape 10,31,21,15,0
+svshape 10,31,21,15,1
+svshape 10,31,27,0,0
+svshape 10,31,27,0,1
+svshape 10,31,27,5,0
+svshape 10,31,27,5,1
+svshape 10,31,27,10,0
+svshape 10,31,27,10,1
+svshape 10,31,27,15,0
+svshape 10,31,27,15,1
+svshape 10,31,31,0,0
+svshape 10,31,31,0,1
+svshape 10,31,31,5,0
+svshape 10,31,31,5,1
+svshape 10,31,31,10,0
+svshape 10,31,31,10,1
+svshape 10,31,31,15,0
+svshape 10,31,31,15,1
+svshape 10,31,16,0,0
+svshape 10,31,16,0,1
+svshape 10,31,16,5,0
+svshape 10,31,16,5,1
+svshape 10,31,16,10,0
+svshape 10,31,16,10,1
+svshape 10,31,16,15,0
+svshape 10,31,16,15,1
+svshape 10,16,1,0,0
+svshape 10,16,1,0,1
+svshape 10,16,1,5,0
+svshape 10,16,1,5,1
+svshape 10,16,1,10,0
+svshape 10,16,1,10,1
+svshape 10,16,1,15,0
+svshape 10,16,1,15,1
+svshape 10,16,10,0,0
+svshape 10,16,10,0,1
+svshape 10,16,10,5,0
+svshape 10,16,10,5,1
+svshape 10,16,10,10,0
+svshape 10,16,10,10,1
+svshape 10,16,10,15,0
+svshape 10,16,10,15,1
+svshape 10,16,21,0,0
+svshape 10,16,21,0,1
+svshape 10,16,21,5,0
+svshape 10,16,21,5,1
+svshape 10,16,21,10,0
+svshape 10,16,21,10,1
+svshape 10,16,21,15,0
+svshape 10,16,21,15,1
+svshape 10,16,27,0,0
+svshape 10,16,27,0,1
+svshape 10,16,27,5,0
+svshape 10,16,27,5,1
+svshape 10,16,27,10,0
+svshape 10,16,27,10,1
+svshape 10,16,27,15,0
+svshape 10,16,27,15,1
+svshape 10,16,31,0,0
+svshape 10,16,31,0,1
+svshape 10,16,31,5,0
+svshape 10,16,31,5,1
+svshape 10,16,31,10,0
+svshape 10,16,31,10,1
+svshape 10,16,31,15,0
+svshape 10,16,31,15,1
+svshape 10,16,16,0,0
+svshape 10,16,16,0,1
+svshape 10,16,16,5,0
+svshape 10,16,16,5,1
+svshape 10,16,16,10,0
+svshape 10,16,16,10,1
+svshape 10,16,16,15,0
+svshape 10,16,16,15,1
+svshape 21,1,1,0,0
+svshape 21,1,1,0,1
+svshape 21,1,1,5,0
+svshape 21,1,1,5,1
+svshape 21,1,1,10,0
+svshape 21,1,1,10,1
+svshape 21,1,1,15,0
+svshape 21,1,1,15,1
+svshape 21,1,10,0,0
+svshape 21,1,10,0,1
+svshape 21,1,10,5,0
+svshape 21,1,10,5,1
+svshape 21,1,10,10,0
+svshape 21,1,10,10,1
+svshape 21,1,10,15,0
+svshape 21,1,10,15,1
+svshape 21,1,21,0,0
+svshape 21,1,21,0,1
+svshape 21,1,21,5,0
+svshape 21,1,21,5,1
+svshape 21,1,21,10,0
+svshape 21,1,21,10,1
+svshape 21,1,21,15,0
+svshape 21,1,21,15,1
+svshape 21,1,27,0,0
+svshape 21,1,27,0,1
+svshape 21,1,27,5,0
+svshape 21,1,27,5,1
+svshape 21,1,27,10,0
+svshape 21,1,27,10,1
+svshape 21,1,27,15,0
+svshape 21,1,27,15,1
+svshape 21,1,31,0,0
+svshape 21,1,31,0,1
+svshape 21,1,31,5,0
+svshape 21,1,31,5,1
+svshape 21,1,31,10,0
+svshape 21,1,31,10,1
+svshape 21,1,31,15,0
+svshape 21,1,31,15,1
+svshape 21,1,16,0,0
+svshape 21,1,16,0,1
+svshape 21,1,16,5,0
+svshape 21,1,16,5,1
+svshape 21,1,16,10,0
+svshape 21,1,16,10,1
+svshape 21,1,16,15,0
+svshape 21,1,16,15,1
+svshape 21,10,1,0,0
+svshape 21,10,1,0,1
+svshape 21,10,1,5,0
+svshape 21,10,1,5,1
+svshape 21,10,1,10,0
+svshape 21,10,1,10,1
+svshape 21,10,1,15,0
+svshape 21,10,1,15,1
+svshape 21,10,10,0,0
+svshape 21,10,10,0,1
+svshape 21,10,10,5,0
+svshape 21,10,10,5,1
+svshape 21,10,10,10,0
+svshape 21,10,10,10,1
+svshape 21,10,10,15,0
+svshape 21,10,10,15,1
+svshape 21,10,21,0,0
+svshape 21,10,21,0,1
+svshape 21,10,21,5,0
+svshape 21,10,21,5,1
+svshape 21,10,21,10,0
+svshape 21,10,21,10,1
+svshape 21,10,21,15,0
+svshape 21,10,21,15,1
+svshape 21,10,27,0,0
+svshape 21,10,27,0,1
+svshape 21,10,27,5,0
+svshape 21,10,27,5,1
+svshape 21,10,27,10,0
+svshape 21,10,27,10,1
+svshape 21,10,27,15,0
+svshape 21,10,27,15,1
+svshape 21,10,31,0,0
+svshape 21,10,31,0,1
+svshape 21,10,31,5,0
+svshape 21,10,31,5,1
+svshape 21,10,31,10,0
+svshape 21,10,31,10,1
+svshape 21,10,31,15,0
+svshape 21,10,31,15,1
+svshape 21,10,16,0,0
+svshape 21,10,16,0,1
+svshape 21,10,16,5,0
+svshape 21,10,16,5,1
+svshape 21,10,16,10,0
+svshape 21,10,16,10,1
+svshape 21,10,16,15,0
+svshape 21,10,16,15,1
+svshape 21,21,1,0,0
+svshape 21,21,1,0,1
+svshape 21,21,1,5,0
+svshape 21,21,1,5,1
+svshape 21,21,1,10,0
+svshape 21,21,1,10,1
+svshape 21,21,1,15,0
+svshape 21,21,1,15,1
+svshape 21,21,10,0,0
+svshape 21,21,10,0,1
+svshape 21,21,10,5,0
+svshape 21,21,10,5,1
+svshape 21,21,10,10,0
+svshape 21,21,10,10,1
+svshape 21,21,10,15,0
+svshape 21,21,10,15,1
+svshape 21,21,21,0,0
+svshape 21,21,21,0,1
+svshape 21,21,21,5,0
+svshape 21,21,21,5,1
+svshape 21,21,21,10,0
+svshape 21,21,21,10,1
+svshape 21,21,21,15,0
+svshape 21,21,21,15,1
+svshape 21,21,27,0,0
+svshape 21,21,27,0,1
+svshape 21,21,27,5,0
+svshape 21,21,27,5,1
+svshape 21,21,27,10,0
+svshape 21,21,27,10,1
+svshape 21,21,27,15,0
+svshape 21,21,27,15,1
+svshape 21,21,31,0,0
+svshape 21,21,31,0,1
+svshape 21,21,31,5,0
+svshape 21,21,31,5,1
+svshape 21,21,31,10,0
+svshape 21,21,31,10,1
+svshape 21,21,31,15,0
+svshape 21,21,31,15,1
+svshape 21,21,16,0,0
+svshape 21,21,16,0,1
+svshape 21,21,16,5,0
+svshape 21,21,16,5,1
+svshape 21,21,16,10,0
+svshape 21,21,16,10,1
+svshape 21,21,16,15,0
+svshape 21,21,16,15,1
+svshape 21,27,1,0,0
+svshape 21,27,1,0,1
+svshape 21,27,1,5,0
+svshape 21,27,1,5,1
+svshape 21,27,1,10,0
+svshape 21,27,1,10,1
+svshape 21,27,1,15,0
+svshape 21,27,1,15,1
+svshape 21,27,10,0,0
+svshape 21,27,10,0,1
+svshape 21,27,10,5,0
+svshape 21,27,10,5,1
+svshape 21,27,10,10,0
+svshape 21,27,10,10,1
+svshape 21,27,10,15,0
+svshape 21,27,10,15,1
+svshape 21,27,21,0,0
+svshape 21,27,21,0,1
+svshape 21,27,21,5,0
+svshape 21,27,21,5,1
+svshape 21,27,21,10,0
+svshape 21,27,21,10,1
+svshape 21,27,21,15,0
+svshape 21,27,21,15,1
+svshape 21,27,27,0,0
+svshape 21,27,27,0,1
+svshape 21,27,27,5,0
+svshape 21,27,27,5,1
+svshape 21,27,27,10,0
+svshape 21,27,27,10,1
+svshape 21,27,27,15,0
+svshape 21,27,27,15,1
+svshape 21,27,31,0,0
+svshape 21,27,31,0,1
+svshape 21,27,31,5,0
+svshape 21,27,31,5,1
+svshape 21,27,31,10,0
+svshape 21,27,31,10,1
+svshape 21,27,31,15,0
+svshape 21,27,31,15,1
+svshape 21,27,16,0,0
+svshape 21,27,16,0,1
+svshape 21,27,16,5,0
+svshape 21,27,16,5,1
+svshape 21,27,16,10,0
+svshape 21,27,16,10,1
+svshape 21,27,16,15,0
+svshape 21,27,16,15,1
+svshape 21,31,1,0,0
+svshape 21,31,1,0,1
+svshape 21,31,1,5,0
+svshape 21,31,1,5,1
+svshape 21,31,1,10,0
+svshape 21,31,1,10,1
+svshape 21,31,1,15,0
+svshape 21,31,1,15,1
+svshape 21,31,10,0,0
+svshape 21,31,10,0,1
+svshape 21,31,10,5,0
+svshape 21,31,10,5,1
+svshape 21,31,10,10,0
+svshape 21,31,10,10,1
+svshape 21,31,10,15,0
+svshape 21,31,10,15,1
+svshape 21,31,21,0,0
+svshape 21,31,21,0,1
+svshape 21,31,21,5,0
+svshape 21,31,21,5,1
+svshape 21,31,21,10,0
+svshape 21,31,21,10,1
+svshape 21,31,21,15,0
+svshape 21,31,21,15,1
+svshape 21,31,27,0,0
+svshape 21,31,27,0,1
+svshape 21,31,27,5,0
+svshape 21,31,27,5,1
+svshape 21,31,27,10,0
+svshape 21,31,27,10,1
+svshape 21,31,27,15,0
+svshape 21,31,27,15,1
+svshape 21,31,31,0,0
+svshape 21,31,31,0,1
+svshape 21,31,31,5,0
+svshape 21,31,31,5,1
+svshape 21,31,31,10,0
+svshape 21,31,31,10,1
+svshape 21,31,31,15,0
+svshape 21,31,31,15,1
+svshape 21,31,16,0,0
+svshape 21,31,16,0,1
+svshape 21,31,16,5,0
+svshape 21,31,16,5,1
+svshape 21,31,16,10,0
+svshape 21,31,16,10,1
+svshape 21,31,16,15,0
+svshape 21,31,16,15,1
+svshape 21,16,1,0,0
+svshape 21,16,1,0,1
+svshape 21,16,1,5,0
+svshape 21,16,1,5,1
+svshape 21,16,1,10,0
+svshape 21,16,1,10,1
+svshape 21,16,1,15,0
+svshape 21,16,1,15,1
+svshape 21,16,10,0,0
+svshape 21,16,10,0,1
+svshape 21,16,10,5,0
+svshape 21,16,10,5,1
+svshape 21,16,10,10,0
+svshape 21,16,10,10,1
+svshape 21,16,10,15,0
+svshape 21,16,10,15,1
+svshape 21,16,21,0,0
+svshape 21,16,21,0,1
+svshape 21,16,21,5,0
+svshape 21,16,21,5,1
+svshape 21,16,21,10,0
+svshape 21,16,21,10,1
+svshape 21,16,21,15,0
+svshape 21,16,21,15,1
+svshape 21,16,27,0,0
+svshape 21,16,27,0,1
+svshape 21,16,27,5,0
+svshape 21,16,27,5,1
+svshape 21,16,27,10,0
+svshape 21,16,27,10,1
+svshape 21,16,27,15,0
+svshape 21,16,27,15,1
+svshape 21,16,31,0,0
+svshape 21,16,31,0,1
+svshape 21,16,31,5,0
+svshape 21,16,31,5,1
+svshape 21,16,31,10,0
+svshape 21,16,31,10,1
+svshape 21,16,31,15,0
+svshape 21,16,31,15,1
+svshape 21,16,16,0,0
+svshape 21,16,16,0,1
+svshape 21,16,16,5,0
+svshape 21,16,16,5,1
+svshape 21,16,16,10,0
+svshape 21,16,16,10,1
+svshape 21,16,16,15,0
+svshape 21,16,16,15,1
+svshape 27,1,1,0,0
+svshape 27,1,1,0,1
+svshape 27,1,1,5,0
+svshape 27,1,1,5,1
+svshape 27,1,1,10,0
+svshape 27,1,1,10,1
+svshape 27,1,1,15,0
+svshape 27,1,1,15,1
+svshape 27,1,10,0,0
+svshape 27,1,10,0,1
+svshape 27,1,10,5,0
+svshape 27,1,10,5,1
+svshape 27,1,10,10,0
+svshape 27,1,10,10,1
+svshape 27,1,10,15,0
+svshape 27,1,10,15,1
+svshape 27,1,21,0,0
+svshape 27,1,21,0,1
+svshape 27,1,21,5,0
+svshape 27,1,21,5,1
+svshape 27,1,21,10,0
+svshape 27,1,21,10,1
+svshape 27,1,21,15,0
+svshape 27,1,21,15,1
+svshape 27,1,27,0,0
+svshape 27,1,27,0,1
+svshape 27,1,27,5,0
+svshape 27,1,27,5,1
+svshape 27,1,27,10,0
+svshape 27,1,27,10,1
+svshape 27,1,27,15,0
+svshape 27,1,27,15,1
+svshape 27,1,31,0,0
+svshape 27,1,31,0,1
+svshape 27,1,31,5,0
+svshape 27,1,31,5,1
+svshape 27,1,31,10,0
+svshape 27,1,31,10,1
+svshape 27,1,31,15,0
+svshape 27,1,31,15,1
+svshape 27,1,16,0,0
+svshape 27,1,16,0,1
+svshape 27,1,16,5,0
+svshape 27,1,16,5,1
+svshape 27,1,16,10,0
+svshape 27,1,16,10,1
+svshape 27,1,16,15,0
+svshape 27,1,16,15,1
+svshape 27,10,1,0,0
+svshape 27,10,1,0,1
+svshape 27,10,1,5,0
+svshape 27,10,1,5,1
+svshape 27,10,1,10,0
+svshape 27,10,1,10,1
+svshape 27,10,1,15,0
+svshape 27,10,1,15,1
+svshape 27,10,10,0,0
+svshape 27,10,10,0,1
+svshape 27,10,10,5,0
+svshape 27,10,10,5,1
+svshape 27,10,10,10,0
+svshape 27,10,10,10,1
+svshape 27,10,10,15,0
+svshape 27,10,10,15,1
+svshape 27,10,21,0,0
+svshape 27,10,21,0,1
+svshape 27,10,21,5,0
+svshape 27,10,21,5,1
+svshape 27,10,21,10,0
+svshape 27,10,21,10,1
+svshape 27,10,21,15,0
+svshape 27,10,21,15,1
+svshape 27,10,27,0,0
+svshape 27,10,27,0,1
+svshape 27,10,27,5,0
+svshape 27,10,27,5,1
+svshape 27,10,27,10,0
+svshape 27,10,27,10,1
+svshape 27,10,27,15,0
+svshape 27,10,27,15,1
+svshape 27,10,31,0,0
+svshape 27,10,31,0,1
+svshape 27,10,31,5,0
+svshape 27,10,31,5,1
+svshape 27,10,31,10,0
+svshape 27,10,31,10,1
+svshape 27,10,31,15,0
+svshape 27,10,31,15,1
+svshape 27,10,16,0,0
+svshape 27,10,16,0,1
+svshape 27,10,16,5,0
+svshape 27,10,16,5,1
+svshape 27,10,16,10,0
+svshape 27,10,16,10,1
+svshape 27,10,16,15,0
+svshape 27,10,16,15,1
+svshape 27,21,1,0,0
+svshape 27,21,1,0,1
+svshape 27,21,1,5,0
+svshape 27,21,1,5,1
+svshape 27,21,1,10,0
+svshape 27,21,1,10,1
+svshape 27,21,1,15,0
+svshape 27,21,1,15,1
+svshape 27,21,10,0,0
+svshape 27,21,10,0,1
+svshape 27,21,10,5,0
+svshape 27,21,10,5,1
+svshape 27,21,10,10,0
+svshape 27,21,10,10,1
+svshape 27,21,10,15,0
+svshape 27,21,10,15,1
+svshape 27,21,21,0,0
+svshape 27,21,21,0,1
+svshape 27,21,21,5,0
+svshape 27,21,21,5,1
+svshape 27,21,21,10,0
+svshape 27,21,21,10,1
+svshape 27,21,21,15,0
+svshape 27,21,21,15,1
+svshape 27,21,27,0,0
+svshape 27,21,27,0,1
+svshape 27,21,27,5,0
+svshape 27,21,27,5,1
+svshape 27,21,27,10,0
+svshape 27,21,27,10,1
+svshape 27,21,27,15,0
+svshape 27,21,27,15,1
+svshape 27,21,31,0,0
+svshape 27,21,31,0,1
+svshape 27,21,31,5,0
+svshape 27,21,31,5,1
+svshape 27,21,31,10,0
+svshape 27,21,31,10,1
+svshape 27,21,31,15,0
+svshape 27,21,31,15,1
+svshape 27,21,16,0,0
+svshape 27,21,16,0,1
+svshape 27,21,16,5,0
+svshape 27,21,16,5,1
+svshape 27,21,16,10,0
+svshape 27,21,16,10,1
+svshape 27,21,16,15,0
+svshape 27,21,16,15,1
+svshape 27,27,1,0,0
+svshape 27,27,1,0,1
+svshape 27,27,1,5,0
+svshape 27,27,1,5,1
+svshape 27,27,1,10,0
+svshape 27,27,1,10,1
+svshape 27,27,1,15,0
+svshape 27,27,1,15,1
+svshape 27,27,10,0,0
+svshape 27,27,10,0,1
+svshape 27,27,10,5,0
+svshape 27,27,10,5,1
+svshape 27,27,10,10,0
+svshape 27,27,10,10,1
+svshape 27,27,10,15,0
+svshape 27,27,10,15,1
+svshape 27,27,21,0,0
+svshape 27,27,21,0,1
+svshape 27,27,21,5,0
+svshape 27,27,21,5,1
+svshape 27,27,21,10,0
+svshape 27,27,21,10,1
+svshape 27,27,21,15,0
+svshape 27,27,21,15,1
+svshape 27,27,27,0,0
+svshape 27,27,27,0,1
+svshape 27,27,27,5,0
+svshape 27,27,27,5,1
+svshape 27,27,27,10,0
+svshape 27,27,27,10,1
+svshape 27,27,27,15,0
+svshape 27,27,27,15,1
+svshape 27,27,31,0,0
+svshape 27,27,31,0,1
+svshape 27,27,31,5,0
+svshape 27,27,31,5,1
+svshape 27,27,31,10,0
+svshape 27,27,31,10,1
+svshape 27,27,31,15,0
+svshape 27,27,31,15,1
+svshape 27,27,16,0,0
+svshape 27,27,16,0,1
+svshape 27,27,16,5,0
+svshape 27,27,16,5,1
+svshape 27,27,16,10,0
+svshape 27,27,16,10,1
+svshape 27,27,16,15,0
+svshape 27,27,16,15,1
+svshape 27,31,1,0,0
+svshape 27,31,1,0,1
+svshape 27,31,1,5,0
+svshape 27,31,1,5,1
+svshape 27,31,1,10,0
+svshape 27,31,1,10,1
+svshape 27,31,1,15,0
+svshape 27,31,1,15,1
+svshape 27,31,10,0,0
+svshape 27,31,10,0,1
+svshape 27,31,10,5,0
+svshape 27,31,10,5,1
+svshape 27,31,10,10,0
+svshape 27,31,10,10,1
+svshape 27,31,10,15,0
+svshape 27,31,10,15,1
+svshape 27,31,21,0,0
+svshape 27,31,21,0,1
+svshape 27,31,21,5,0
+svshape 27,31,21,5,1
+svshape 27,31,21,10,0
+svshape 27,31,21,10,1
+svshape 27,31,21,15,0
+svshape 27,31,21,15,1
+svshape 27,31,27,0,0
+svshape 27,31,27,0,1
+svshape 27,31,27,5,0
+svshape 27,31,27,5,1
+svshape 27,31,27,10,0
+svshape 27,31,27,10,1
+svshape 27,31,27,15,0
+svshape 27,31,27,15,1
+svshape 27,31,31,0,0
+svshape 27,31,31,0,1
+svshape 27,31,31,5,0
+svshape 27,31,31,5,1
+svshape 27,31,31,10,0
+svshape 27,31,31,10,1
+svshape 27,31,31,15,0
+svshape 27,31,31,15,1
+svshape 27,31,16,0,0
+svshape 27,31,16,0,1
+svshape 27,31,16,5,0
+svshape 27,31,16,5,1
+svshape 27,31,16,10,0
+svshape 27,31,16,10,1
+svshape 27,31,16,15,0
+svshape 27,31,16,15,1
+svshape 27,16,1,0,0
+svshape 27,16,1,0,1
+svshape 27,16,1,5,0
+svshape 27,16,1,5,1
+svshape 27,16,1,10,0
+svshape 27,16,1,10,1
+svshape 27,16,1,15,0
+svshape 27,16,1,15,1
+svshape 27,16,10,0,0
+svshape 27,16,10,0,1
+svshape 27,16,10,5,0
+svshape 27,16,10,5,1
+svshape 27,16,10,10,0
+svshape 27,16,10,10,1
+svshape 27,16,10,15,0
+svshape 27,16,10,15,1
+svshape 27,16,21,0,0
+svshape 27,16,21,0,1
+svshape 27,16,21,5,0
+svshape 27,16,21,5,1
+svshape 27,16,21,10,0
+svshape 27,16,21,10,1
+svshape 27,16,21,15,0
+svshape 27,16,21,15,1
+svshape 27,16,27,0,0
+svshape 27,16,27,0,1
+svshape 27,16,27,5,0
+svshape 27,16,27,5,1
+svshape 27,16,27,10,0
+svshape 27,16,27,10,1
+svshape 27,16,27,15,0
+svshape 27,16,27,15,1
+svshape 27,16,31,0,0
+svshape 27,16,31,0,1
+svshape 27,16,31,5,0
+svshape 27,16,31,5,1
+svshape 27,16,31,10,0
+svshape 27,16,31,10,1
+svshape 27,16,31,15,0
+svshape 27,16,31,15,1
+svshape 27,16,16,0,0
+svshape 27,16,16,0,1
+svshape 27,16,16,5,0
+svshape 27,16,16,5,1
+svshape 27,16,16,10,0
+svshape 27,16,16,10,1
+svshape 27,16,16,15,0
+svshape 27,16,16,15,1
+svshape 31,1,1,0,0
+svshape 31,1,1,0,1
+svshape 31,1,1,5,0
+svshape 31,1,1,5,1
+svshape 31,1,1,10,0
+svshape 31,1,1,10,1
+svshape 31,1,1,15,0
+svshape 31,1,1,15,1
+svshape 31,1,10,0,0
+svshape 31,1,10,0,1
+svshape 31,1,10,5,0
+svshape 31,1,10,5,1
+svshape 31,1,10,10,0
+svshape 31,1,10,10,1
+svshape 31,1,10,15,0
+svshape 31,1,10,15,1
+svshape 31,1,21,0,0
+svshape 31,1,21,0,1
+svshape 31,1,21,5,0
+svshape 31,1,21,5,1
+svshape 31,1,21,10,0
+svshape 31,1,21,10,1
+svshape 31,1,21,15,0
+svshape 31,1,21,15,1
+svshape 31,1,27,0,0
+svshape 31,1,27,0,1
+svshape 31,1,27,5,0
+svshape 31,1,27,5,1
+svshape 31,1,27,10,0
+svshape 31,1,27,10,1
+svshape 31,1,27,15,0
+svshape 31,1,27,15,1
+svshape 31,1,31,0,0
+svshape 31,1,31,0,1
+svshape 31,1,31,5,0
+svshape 31,1,31,5,1
+svshape 31,1,31,10,0
+svshape 31,1,31,10,1
+svshape 31,1,31,15,0
+svshape 31,1,31,15,1
+svshape 31,1,16,0,0
+svshape 31,1,16,0,1
+svshape 31,1,16,5,0
+svshape 31,1,16,5,1
+svshape 31,1,16,10,0
+svshape 31,1,16,10,1
+svshape 31,1,16,15,0
+svshape 31,1,16,15,1
+svshape 31,10,1,0,0
+svshape 31,10,1,0,1
+svshape 31,10,1,5,0
+svshape 31,10,1,5,1
+svshape 31,10,1,10,0
+svshape 31,10,1,10,1
+svshape 31,10,1,15,0
+svshape 31,10,1,15,1
+svshape 31,10,10,0,0
+svshape 31,10,10,0,1
+svshape 31,10,10,5,0
+svshape 31,10,10,5,1
+svshape 31,10,10,10,0
+svshape 31,10,10,10,1
+svshape 31,10,10,15,0
+svshape 31,10,10,15,1
+svshape 31,10,21,0,0
+svshape 31,10,21,0,1
+svshape 31,10,21,5,0
+svshape 31,10,21,5,1
+svshape 31,10,21,10,0
+svshape 31,10,21,10,1
+svshape 31,10,21,15,0
+svshape 31,10,21,15,1
+svshape 31,10,27,0,0
+svshape 31,10,27,0,1
+svshape 31,10,27,5,0
+svshape 31,10,27,5,1
+svshape 31,10,27,10,0
+svshape 31,10,27,10,1
+svshape 31,10,27,15,0
+svshape 31,10,27,15,1
+svshape 31,10,31,0,0
+svshape 31,10,31,0,1
+svshape 31,10,31,5,0
+svshape 31,10,31,5,1
+svshape 31,10,31,10,0
+svshape 31,10,31,10,1
+svshape 31,10,31,15,0
+svshape 31,10,31,15,1
+svshape 31,10,16,0,0
+svshape 31,10,16,0,1
+svshape 31,10,16,5,0
+svshape 31,10,16,5,1
+svshape 31,10,16,10,0
+svshape 31,10,16,10,1
+svshape 31,10,16,15,0
+svshape 31,10,16,15,1
+svshape 31,21,1,0,0
+svshape 31,21,1,0,1
+svshape 31,21,1,5,0
+svshape 31,21,1,5,1
+svshape 31,21,1,10,0
+svshape 31,21,1,10,1
+svshape 31,21,1,15,0
+svshape 31,21,1,15,1
+svshape 31,21,10,0,0
+svshape 31,21,10,0,1
+svshape 31,21,10,5,0
+svshape 31,21,10,5,1
+svshape 31,21,10,10,0
+svshape 31,21,10,10,1
+svshape 31,21,10,15,0
+svshape 31,21,10,15,1
+svshape 31,21,21,0,0
+svshape 31,21,21,0,1
+svshape 31,21,21,5,0
+svshape 31,21,21,5,1
+svshape 31,21,21,10,0
+svshape 31,21,21,10,1
+svshape 31,21,21,15,0
+svshape 31,21,21,15,1
+svshape 31,21,27,0,0
+svshape 31,21,27,0,1
+svshape 31,21,27,5,0
+svshape 31,21,27,5,1
+svshape 31,21,27,10,0
+svshape 31,21,27,10,1
+svshape 31,21,27,15,0
+svshape 31,21,27,15,1
+svshape 31,21,31,0,0
+svshape 31,21,31,0,1
+svshape 31,21,31,5,0
+svshape 31,21,31,5,1
+svshape 31,21,31,10,0
+svshape 31,21,31,10,1
+svshape 31,21,31,15,0
+svshape 31,21,31,15,1
+svshape 31,21,16,0,0
+svshape 31,21,16,0,1
+svshape 31,21,16,5,0
+svshape 31,21,16,5,1
+svshape 31,21,16,10,0
+svshape 31,21,16,10,1
+svshape 31,21,16,15,0
+svshape 31,21,16,15,1
+svshape 31,27,1,0,0
+svshape 31,27,1,0,1
+svshape 31,27,1,5,0
+svshape 31,27,1,5,1
+svshape 31,27,1,10,0
+svshape 31,27,1,10,1
+svshape 31,27,1,15,0
+svshape 31,27,1,15,1
+svshape 31,27,10,0,0
+svshape 31,27,10,0,1
+svshape 31,27,10,5,0
+svshape 31,27,10,5,1
+svshape 31,27,10,10,0
+svshape 31,27,10,10,1
+svshape 31,27,10,15,0
+svshape 31,27,10,15,1
+svshape 31,27,21,0,0
+svshape 31,27,21,0,1
+svshape 31,27,21,5,0
+svshape 31,27,21,5,1
+svshape 31,27,21,10,0
+svshape 31,27,21,10,1
+svshape 31,27,21,15,0
+svshape 31,27,21,15,1
+svshape 31,27,27,0,0
+svshape 31,27,27,0,1
+svshape 31,27,27,5,0
+svshape 31,27,27,5,1
+svshape 31,27,27,10,0
+svshape 31,27,27,10,1
+svshape 31,27,27,15,0
+svshape 31,27,27,15,1
+svshape 31,27,31,0,0
+svshape 31,27,31,0,1
+svshape 31,27,31,5,0
+svshape 31,27,31,5,1
+svshape 31,27,31,10,0
+svshape 31,27,31,10,1
+svshape 31,27,31,15,0
+svshape 31,27,31,15,1
+svshape 31,27,16,0,0
+svshape 31,27,16,0,1
+svshape 31,27,16,5,0
+svshape 31,27,16,5,1
+svshape 31,27,16,10,0
+svshape 31,27,16,10,1
+svshape 31,27,16,15,0
+svshape 31,27,16,15,1
+svshape 31,31,1,0,0
+svshape 31,31,1,0,1
+svshape 31,31,1,5,0
+svshape 31,31,1,5,1
+svshape 31,31,1,10,0
+svshape 31,31,1,10,1
+svshape 31,31,1,15,0
+svshape 31,31,1,15,1
+svshape 31,31,10,0,0
+svshape 31,31,10,0,1
+svshape 31,31,10,5,0
+svshape 31,31,10,5,1
+svshape 31,31,10,10,0
+svshape 31,31,10,10,1
+svshape 31,31,10,15,0
+svshape 31,31,10,15,1
+svshape 31,31,21,0,0
+svshape 31,31,21,0,1
+svshape 31,31,21,5,0
+svshape 31,31,21,5,1
+svshape 31,31,21,10,0
+svshape 31,31,21,10,1
+svshape 31,31,21,15,0
+svshape 31,31,21,15,1
+svshape 31,31,27,0,0
+svshape 31,31,27,0,1
+svshape 31,31,27,5,0
+svshape 31,31,27,5,1
+svshape 31,31,27,10,0
+svshape 31,31,27,10,1
+svshape 31,31,27,15,0
+svshape 31,31,27,15,1
+svshape 31,31,31,0,0
+svshape 31,31,31,0,1
+svshape 31,31,31,5,0
+svshape 31,31,31,5,1
+svshape 31,31,31,10,0
+svshape 31,31,31,10,1
+svshape 31,31,31,15,0
+svshape 31,31,31,15,1
+svshape 31,31,16,0,0
+svshape 31,31,16,0,1
+svshape 31,31,16,5,0
+svshape 31,31,16,5,1
+svshape 31,31,16,10,0
+svshape 31,31,16,10,1
+svshape 31,31,16,15,0
+svshape 31,31,16,15,1
+svshape 31,16,1,0,0
+svshape 31,16,1,0,1
+svshape 31,16,1,5,0
+svshape 31,16,1,5,1
+svshape 31,16,1,10,0
+svshape 31,16,1,10,1
+svshape 31,16,1,15,0
+svshape 31,16,1,15,1
+svshape 31,16,10,0,0
+svshape 31,16,10,0,1
+svshape 31,16,10,5,0
+svshape 31,16,10,5,1
+svshape 31,16,10,10,0
+svshape 31,16,10,10,1
+svshape 31,16,10,15,0
+svshape 31,16,10,15,1
+svshape 31,16,21,0,0
+svshape 31,16,21,0,1
+svshape 31,16,21,5,0
+svshape 31,16,21,5,1
+svshape 31,16,21,10,0
+svshape 31,16,21,10,1
+svshape 31,16,21,15,0
+svshape 31,16,21,15,1
+svshape 31,16,27,0,0
+svshape 31,16,27,0,1
+svshape 31,16,27,5,0
+svshape 31,16,27,5,1
+svshape 31,16,27,10,0
+svshape 31,16,27,10,1
+svshape 31,16,27,15,0
+svshape 31,16,27,15,1
+svshape 31,16,31,0,0
+svshape 31,16,31,0,1
+svshape 31,16,31,5,0
+svshape 31,16,31,5,1
+svshape 31,16,31,10,0
+svshape 31,16,31,10,1
+svshape 31,16,31,15,0
+svshape 31,16,31,15,1
+svshape 31,16,16,0,0
+svshape 31,16,16,0,1
+svshape 31,16,16,5,0
+svshape 31,16,16,5,1
+svshape 31,16,16,10,0
+svshape 31,16,16,10,1
+svshape 31,16,16,15,0
+svshape 31,16,16,15,1
+svshape 16,1,1,0,0
+svshape 16,1,1,0,1
+svshape 16,1,1,5,0
+svshape 16,1,1,5,1
+svshape 16,1,1,10,0
+svshape 16,1,1,10,1
+svshape 16,1,1,15,0
+svshape 16,1,1,15,1
+svshape 16,1,10,0,0
+svshape 16,1,10,0,1
+svshape 16,1,10,5,0
+svshape 16,1,10,5,1
+svshape 16,1,10,10,0
+svshape 16,1,10,10,1
+svshape 16,1,10,15,0
+svshape 16,1,10,15,1
+svshape 16,1,21,0,0
+svshape 16,1,21,0,1
+svshape 16,1,21,5,0
+svshape 16,1,21,5,1
+svshape 16,1,21,10,0
+svshape 16,1,21,10,1
+svshape 16,1,21,15,0
+svshape 16,1,21,15,1
+svshape 16,1,27,0,0
+svshape 16,1,27,0,1
+svshape 16,1,27,5,0
+svshape 16,1,27,5,1
+svshape 16,1,27,10,0
+svshape 16,1,27,10,1
+svshape 16,1,27,15,0
+svshape 16,1,27,15,1
+svshape 16,1,31,0,0
+svshape 16,1,31,0,1
+svshape 16,1,31,5,0
+svshape 16,1,31,5,1
+svshape 16,1,31,10,0
+svshape 16,1,31,10,1
+svshape 16,1,31,15,0
+svshape 16,1,31,15,1
+svshape 16,1,16,0,0
+svshape 16,1,16,0,1
+svshape 16,1,16,5,0
+svshape 16,1,16,5,1
+svshape 16,1,16,10,0
+svshape 16,1,16,10,1
+svshape 16,1,16,15,0
+svshape 16,1,16,15,1
+svshape 16,10,1,0,0
+svshape 16,10,1,0,1
+svshape 16,10,1,5,0
+svshape 16,10,1,5,1
+svshape 16,10,1,10,0
+svshape 16,10,1,10,1
+svshape 16,10,1,15,0
+svshape 16,10,1,15,1
+svshape 16,10,10,0,0
+svshape 16,10,10,0,1
+svshape 16,10,10,5,0
+svshape 16,10,10,5,1
+svshape 16,10,10,10,0
+svshape 16,10,10,10,1
+svshape 16,10,10,15,0
+svshape 16,10,10,15,1
+svshape 16,10,21,0,0
+svshape 16,10,21,0,1
+svshape 16,10,21,5,0
+svshape 16,10,21,5,1
+svshape 16,10,21,10,0
+svshape 16,10,21,10,1
+svshape 16,10,21,15,0
+svshape 16,10,21,15,1
+svshape 16,10,27,0,0
+svshape 16,10,27,0,1
+svshape 16,10,27,5,0
+svshape 16,10,27,5,1
+svshape 16,10,27,10,0
+svshape 16,10,27,10,1
+svshape 16,10,27,15,0
+svshape 16,10,27,15,1
+svshape 16,10,31,0,0
+svshape 16,10,31,0,1
+svshape 16,10,31,5,0
+svshape 16,10,31,5,1
+svshape 16,10,31,10,0
+svshape 16,10,31,10,1
+svshape 16,10,31,15,0
+svshape 16,10,31,15,1
+svshape 16,10,16,0,0
+svshape 16,10,16,0,1
+svshape 16,10,16,5,0
+svshape 16,10,16,5,1
+svshape 16,10,16,10,0
+svshape 16,10,16,10,1
+svshape 16,10,16,15,0
+svshape 16,10,16,15,1
+svshape 16,21,1,0,0
+svshape 16,21,1,0,1
+svshape 16,21,1,5,0
+svshape 16,21,1,5,1
+svshape 16,21,1,10,0
+svshape 16,21,1,10,1
+svshape 16,21,1,15,0
+svshape 16,21,1,15,1
+svshape 16,21,10,0,0
+svshape 16,21,10,0,1
+svshape 16,21,10,5,0
+svshape 16,21,10,5,1
+svshape 16,21,10,10,0
+svshape 16,21,10,10,1
+svshape 16,21,10,15,0
+svshape 16,21,10,15,1
+svshape 16,21,21,0,0
+svshape 16,21,21,0,1
+svshape 16,21,21,5,0
+svshape 16,21,21,5,1
+svshape 16,21,21,10,0
+svshape 16,21,21,10,1
+svshape 16,21,21,15,0
+svshape 16,21,21,15,1
+svshape 16,21,27,0,0
+svshape 16,21,27,0,1
+svshape 16,21,27,5,0
+svshape 16,21,27,5,1
+svshape 16,21,27,10,0
+svshape 16,21,27,10,1
+svshape 16,21,27,15,0
+svshape 16,21,27,15,1
+svshape 16,21,31,0,0
+svshape 16,21,31,0,1
+svshape 16,21,31,5,0
+svshape 16,21,31,5,1
+svshape 16,21,31,10,0
+svshape 16,21,31,10,1
+svshape 16,21,31,15,0
+svshape 16,21,31,15,1
+svshape 16,21,16,0,0
+svshape 16,21,16,0,1
+svshape 16,21,16,5,0
+svshape 16,21,16,5,1
+svshape 16,21,16,10,0
+svshape 16,21,16,10,1
+svshape 16,21,16,15,0
+svshape 16,21,16,15,1
+svshape 16,27,1,0,0
+svshape 16,27,1,0,1
+svshape 16,27,1,5,0
+svshape 16,27,1,5,1
+svshape 16,27,1,10,0
+svshape 16,27,1,10,1
+svshape 16,27,1,15,0
+svshape 16,27,1,15,1
+svshape 16,27,10,0,0
+svshape 16,27,10,0,1
+svshape 16,27,10,5,0
+svshape 16,27,10,5,1
+svshape 16,27,10,10,0
+svshape 16,27,10,10,1
+svshape 16,27,10,15,0
+svshape 16,27,10,15,1
+svshape 16,27,21,0,0
+svshape 16,27,21,0,1
+svshape 16,27,21,5,0
+svshape 16,27,21,5,1
+svshape 16,27,21,10,0
+svshape 16,27,21,10,1
+svshape 16,27,21,15,0
+svshape 16,27,21,15,1
+svshape 16,27,27,0,0
+svshape 16,27,27,0,1
+svshape 16,27,27,5,0
+svshape 16,27,27,5,1
+svshape 16,27,27,10,0
+svshape 16,27,27,10,1
+svshape 16,27,27,15,0
+svshape 16,27,27,15,1
+svshape 16,27,31,0,0
+svshape 16,27,31,0,1
+svshape 16,27,31,5,0
+svshape 16,27,31,5,1
+svshape 16,27,31,10,0
+svshape 16,27,31,10,1
+svshape 16,27,31,15,0
+svshape 16,27,31,15,1
+svshape 16,27,16,0,0
+svshape 16,27,16,0,1
+svshape 16,27,16,5,0
+svshape 16,27,16,5,1
+svshape 16,27,16,10,0
+svshape 16,27,16,10,1
+svshape 16,27,16,15,0
+svshape 16,27,16,15,1
+svshape 16,31,1,0,0
+svshape 16,31,1,0,1
+svshape 16,31,1,5,0
+svshape 16,31,1,5,1
+svshape 16,31,1,10,0
+svshape 16,31,1,10,1
+svshape 16,31,1,15,0
+svshape 16,31,1,15,1
+svshape 16,31,10,0,0
+svshape 16,31,10,0,1
+svshape 16,31,10,5,0
+svshape 16,31,10,5,1
+svshape 16,31,10,10,0
+svshape 16,31,10,10,1
+svshape 16,31,10,15,0
+svshape 16,31,10,15,1
+svshape 16,31,21,0,0
+svshape 16,31,21,0,1
+svshape 16,31,21,5,0
+svshape 16,31,21,5,1
+svshape 16,31,21,10,0
+svshape 16,31,21,10,1
+svshape 16,31,21,15,0
+svshape 16,31,21,15,1
+svshape 16,31,27,0,0
+svshape 16,31,27,0,1
+svshape 16,31,27,5,0
+svshape 16,31,27,5,1
+svshape 16,31,27,10,0
+svshape 16,31,27,10,1
+svshape 16,31,27,15,0
+svshape 16,31,27,15,1
+svshape 16,31,31,0,0
+svshape 16,31,31,0,1
+svshape 16,31,31,5,0
+svshape 16,31,31,5,1
+svshape 16,31,31,10,0
+svshape 16,31,31,10,1
+svshape 16,31,31,15,0
+svshape 16,31,31,15,1
+svshape 16,31,16,0,0
+svshape 16,31,16,0,1
+svshape 16,31,16,5,0
+svshape 16,31,16,5,1
+svshape 16,31,16,10,0
+svshape 16,31,16,10,1
+svshape 16,31,16,15,0
+svshape 16,31,16,15,1
+svshape 16,16,1,0,0
+svshape 16,16,1,0,1
+svshape 16,16,1,5,0
+svshape 16,16,1,5,1
+svshape 16,16,1,10,0
+svshape 16,16,1,10,1
+svshape 16,16,1,15,0
+svshape 16,16,1,15,1
+svshape 16,16,10,0,0
+svshape 16,16,10,0,1
+svshape 16,16,10,5,0
+svshape 16,16,10,5,1
+svshape 16,16,10,10,0
+svshape 16,16,10,10,1
+svshape 16,16,10,15,0
+svshape 16,16,10,15,1
+svshape 16,16,21,0,0
+svshape 16,16,21,0,1
+svshape 16,16,21,5,0
+svshape 16,16,21,5,1
+svshape 16,16,21,10,0
+svshape 16,16,21,10,1
+svshape 16,16,21,15,0
+svshape 16,16,21,15,1
+svshape 16,16,27,0,0
+svshape 16,16,27,0,1
+svshape 16,16,27,5,0
+svshape 16,16,27,5,1
+svshape 16,16,27,10,0
+svshape 16,16,27,10,1
+svshape 16,16,27,15,0
+svshape 16,16,27,15,1
+svshape 16,16,31,0,0
+svshape 16,16,31,0,1
+svshape 16,16,31,5,0
+svshape 16,16,31,5,1
+svshape 16,16,31,10,0
+svshape 16,16,31,10,1
+svshape 16,16,31,15,0
+svshape 16,16,31,15,1
+svshape 16,16,16,0,0
+svshape 16,16,16,0,1
+svshape 16,16,16,5,0
+svshape 16,16,16,5,1
+svshape 16,16,16,10,0
+svshape 16,16,16,10,1
+svshape 16,16,16,15,0
+svshape 16,16,16,15,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index b053a15125..f5fd444ea3 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -2739,6 +2739,76 @@ extract_svi (uint64_t insn ATTRIBUTE_UNUSED,
   return (((insn >> 9) & 0x3f) + 1);
 }
 
+static uint64_t
+insert_svm (uint64_t insn,
+            int64_t value,
+	    unsigned int shift,
+            ppc_cpu_t dialect ATTRIBUTE_UNUSED,
+            const char **errmsg ATTRIBUTE_UNUSED)
+{
+  return (insn | (((value - 1) & 0x1f) << shift));
+}
+
+static uint64_t
+insert_svxd (uint64_t insn,
+             int64_t value,
+             ppc_cpu_t dialect,
+             const char **errmsg)
+{
+  return insert_svm (insn, value,  21, dialect, errmsg);
+}
+
+static uint64_t
+insert_svyd (uint64_t insn,
+             int64_t value,
+             ppc_cpu_t dialect,
+             const char **errmsg)
+{
+  return insert_svm (insn, value,  16, dialect, errmsg);
+}
+
+static uint64_t
+insert_svzd (uint64_t insn,
+             int64_t value,
+             ppc_cpu_t dialect,
+             const char **errmsg)
+{
+  return insert_svm (insn, value,  11, dialect, errmsg);
+}
+
+static int64_t
+extract_svm (uint64_t insn,
+             unsigned int shift,
+             ppc_cpu_t dialect ATTRIBUTE_UNUSED,
+             int *invalid ATTRIBUTE_UNUSED)
+{
+  return (((insn >> shift) & 0x1f) + 1);
+}
+
+static int64_t
+extract_svxd (uint64_t insn,
+              ppc_cpu_t dialect,
+              int *invalid)
+{
+  return extract_svm (insn, 21, dialect, invalid);
+}
+
+static int64_t
+extract_svyd (uint64_t insn,
+              ppc_cpu_t dialect,
+              int *invalid)
+{
+  return extract_svm (insn, 16, dialect, invalid);
+}
+
+static int64_t
+extract_svzd (uint64_t insn,
+              ppc_cpu_t dialect,
+              int *invalid)
+{
+  return extract_svm (insn, 11, dialect, invalid);
+}
+
 \f
 /* The operands table.
 
@@ -3857,6 +3927,21 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define ms vs + 1
   { 0x1, 8, NULL, NULL, 0 },
+
+#define SVLcr ms + 1
+  { 0x1, 5, NULL, NULL, 0 },
+
+#define SVxd SVLcr + 1
+  { 0x1f, 21, insert_svxd, extract_svxd, 0 },
+
+#define SVyd SVxd + 1
+  { 0x1f, 16, insert_svyd, extract_svyd, 0 },
+
+#define SVzd SVyd + 1
+  { 0x1f, 11, insert_svzd, extract_svzd, 0 },
+
+#define SVRMf SVzd + 1
+  { 0xf, 7, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4733,6 +4818,12 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
    | (((uint64_t)(rc)) & 1))
 #define SVL_MASK	SVL (0x3f, 0x1f, 1)
 
+/* An SVM form instruction. */
+#define SVM(op, xop)				\
+  (OP (op)					\
+   | (((uint64_t)(xop)) & 0x3f))
+#define SVM_MASK	SVM (0x3f, 0x3f)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6805,6 +6896,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"svstep",	SVL(22,19,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
 {"svstep.",	SVL(22,19,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
 
+{"svshape",	SVM(22,25),	SVM_MASK,	SVP64,	PPCVLE,	{SVxd, SVyd, SVzd, SVRMf, vf}},
+
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 0/5] ppc/svp64: support SVP64 and its first insns
  2022-06-17 19:08 [PATCH 0/5] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                   ` (3 preceding siblings ...)
  2022-06-17 19:08 ` [PATCH 4/5] ppc/svp64: support svshape instruction Dmitry Selyutin
@ 2022-06-19 23:49 ` Alan Modra
  2022-06-21 11:55   ` Dmitry Selyutin
  2022-06-21 11:51 ` [PATCH v2 " Dmitry Selyutin
  5 siblings, 1 reply; 62+ messages in thread
From: Alan Modra @ 2022-06-19 23:49 UTC (permalink / raw)
  To: Dmitry Selyutin; +Cc: binutils, luke.leighton

On Fri, Jun 17, 2022 at 10:08:15PM +0300, Dmitry Selyutin wrote:
> These patches introduce SVP64 extension and LibreSOC CPU which supports
> this extension. We also provide the first 32-bit instructions, namely
> setvl, svstep, svshape and svremap, plus the corresponding tests.

These all look good to me, and can be pushed when your copyright
assignment is complete.  The only review comment I have is that
#define SVme TO
would be better for maintenance if placed with the TO definition, so
that someone doesn't change the TO entry without realising they are
also changing things for SVme.  Similarly for the other aliases you
define.

-- 
Alan Modra
Australia Development Lab, IBM

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v2 0/5] ppc/svp64: support SVP64 and its first insns
  2022-06-17 19:08 [PATCH 0/5] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                   ` (4 preceding siblings ...)
  2022-06-19 23:49 ` [PATCH 0/5] ppc/svp64: support SVP64 and its first insns Alan Modra
@ 2022-06-21 11:51 ` Dmitry Selyutin
  2022-06-21 11:51   ` [PATCH v2 1/5] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
                     ` (6 more replies)
  5 siblings, 7 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-21 11:51 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

Changes since v1:
- Aliased instruction fields now appear after the original ones.

Dmitry Selyutin (5):
  ppc/svp64: support LibreSOC architecture
  ppc/svp64: support setvl instructions
  ppc/svp64: support svstep instructions
  ppc/svp64: support svshape instruction
  ppc/svp64: support svremap instruction

 gas/config/tc-ppc.c             |     2 +
 gas/testsuite/gas/ppc/ppc.exp   |     5 +
 gas/testsuite/gas/ppc/setvl.d   |  2408 +++++++
 gas/testsuite/gas/ppc/setvl.s   |  2400 +++++++
 gas/testsuite/gas/ppc/svremap.d | 10248 ++++++++++++++++++++++++++++++
 gas/testsuite/gas/ppc/svremap.s | 10240 +++++++++++++++++++++++++++++
 gas/testsuite/gas/ppc/svshape.d |  1736 +++++
 gas/testsuite/gas/ppc/svshape.s |  1728 +++++
 gas/testsuite/gas/ppc/svstep.d  |   128 +
 gas/testsuite/gas/ppc/svstep.s  |   120 +
 include/opcode/ppc.h            |     3 +
 opcodes/ppc-dis.c               |     5 +
 opcodes/ppc-opc.c               |   159 +
 13 files changed, 29182 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/setvl.d
 create mode 100644 gas/testsuite/gas/ppc/setvl.s
 create mode 100644 gas/testsuite/gas/ppc/svremap.d
 create mode 100644 gas/testsuite/gas/ppc/svremap.s
 create mode 100644 gas/testsuite/gas/ppc/svshape.d
 create mode 100644 gas/testsuite/gas/ppc/svshape.s
 create mode 100644 gas/testsuite/gas/ppc/svstep.d
 create mode 100644 gas/testsuite/gas/ppc/svstep.s

-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v2 1/5] ppc/svp64: support LibreSOC architecture
  2022-06-21 11:51 ` [PATCH v2 " Dmitry Selyutin
@ 2022-06-21 11:51   ` Dmitry Selyutin
  2022-06-21 11:51   ` [PATCH v2 2/5] ppc/svp64: support setvl instructions Dmitry Selyutin
                     ` (5 subsequent siblings)
  6 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-21 11:51 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

---
 gas/config/tc-ppc.c  | 2 ++
 include/opcode/ppc.h | 3 +++
 opcodes/ppc-dis.c    | 5 +++++
 opcodes/ppc-opc.c    | 1 +
 4 files changed, 11 insertions(+)

diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 4d789fd16a..76bdfb2e35 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1384,6 +1384,8 @@ PowerPC options:\n"));
   fprintf (stream, _("\
 -mpower10, -mpwr10      generate code for Power10 architecture\n"));
   fprintf (stream, _("\
+-mlibresoc              generate code for Libre-SOC architecture\n"));
+  fprintf (stream, _("\
 -mcell                  generate code for Cell Broadband Engine architecture\n"));
   fprintf (stream, _("\
 -mcom                   generate code for Power/PowerPC common instructions\n"));
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index 7bc6ee216e..d5752a42e6 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -237,6 +237,9 @@ extern const unsigned int spe2_num_opcodes;
 /* Opcode is only supported by power10 architecture.  */
 #define PPC_OPCODE_POWER10  0x400000000000ull
 
+/* Opcode is only supported by SVP64 extensions (LibreSOC architecture).  */
+#define PPC_OPCODE_SVP64	 0x800000000000ull
+
 /* A macro to extract the major opcode from an instruction.  */
 #define PPC_OP(i) (((i) >> 26) & 0x3f)
 
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index 45e8faeef5..f61e6518f1 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -200,6 +200,11 @@ struct ppc_mopt ppc_opts[] = {
 		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
 		| PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX),
     0 },
+  { "libresoc",  (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
+		| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
+		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
+		| PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_SVP64),
+    0 },
   { "future",  (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
 		| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
 		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index f5bd6dac50..fe2fcaeb1d 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -4826,6 +4826,7 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
 #define PPCHTM  PPC_OPCODE_POWER8
 #define E200Z4  PPC_OPCODE_E200Z4
 #define PPCLSP  PPC_OPCODE_LSP
+#define SVP64 PPC_OPCODE_SVP64
 /* Used to mark extended mnemonic in deprecated field so that -Mraw
    won't use this variant in disassembly.  */
 #define EXT	PPC_OPCODE_RAW
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v2 2/5] ppc/svp64: support setvl instructions
  2022-06-21 11:51 ` [PATCH v2 " Dmitry Selyutin
  2022-06-21 11:51   ` [PATCH v2 1/5] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
@ 2022-06-21 11:51   ` Dmitry Selyutin
  2022-06-21 18:25     ` Peter Bergner
  2022-06-21 11:51   ` [PATCH v2 3/5] ppc/svp64: support svstep instructions Dmitry Selyutin
                     ` (4 subsequent siblings)
  6 siblings, 1 reply; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-21 11:51 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

---
 gas/testsuite/gas/ppc/ppc.exp |    2 +
 gas/testsuite/gas/ppc/setvl.d | 2408 +++++++++++++++++++++++++++++++++
 gas/testsuite/gas/ppc/setvl.s | 2400 ++++++++++++++++++++++++++++++++
 opcodes/ppc-opc.c             |   42 +
 4 files changed, 4852 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/setvl.d
 create mode 100644 gas/testsuite/gas/ppc/setvl.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index a2e23a2c6a..cd4dd658ce 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -153,3 +153,5 @@ run_dump_test "rop-checks"
 run_dump_test "dcbt"
 run_dump_test "pr27676"
 run_dump_test "raw"
+
+run_dump_test "setvl"
diff --git a/gas/testsuite/gas/ppc/setvl.d b/gas/testsuite/gas/ppc/setvl.d
new file mode 100644
index 0000000000..46c6d9bbc0
--- /dev/null
+++ b/gas/testsuite/gas/ppc/setvl.d
@@ -0,0 +1,2408 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+       0:	36 00 00 58 	setvl   r0,r0,1,0,0,0
+       4:	36 01 00 58 	setvl   r0,r0,1,0,0,1
+       8:	b6 00 00 58 	setvl   r0,r0,1,0,1,0
+       c:	b6 01 00 58 	setvl   r0,r0,1,0,1,1
+      10:	76 00 00 58 	setvl   r0,r0,1,1,0,0
+      14:	76 01 00 58 	setvl   r0,r0,1,1,0,1
+      18:	f6 00 00 58 	setvl   r0,r0,1,1,1,0
+      1c:	f6 01 00 58 	setvl   r0,r0,1,1,1,1
+      20:	36 28 00 58 	setvl   r0,r0,21,0,0,0
+      24:	36 29 00 58 	setvl   r0,r0,21,0,0,1
+      28:	b6 28 00 58 	setvl   r0,r0,21,0,1,0
+      2c:	b6 29 00 58 	setvl   r0,r0,21,0,1,1
+      30:	76 28 00 58 	setvl   r0,r0,21,1,0,0
+      34:	76 29 00 58 	setvl   r0,r0,21,1,0,1
+      38:	f6 28 00 58 	setvl   r0,r0,21,1,1,0
+      3c:	f6 29 00 58 	setvl   r0,r0,21,1,1,1
+      40:	36 52 00 58 	setvl   r0,r0,42,0,0,0
+      44:	36 53 00 58 	setvl   r0,r0,42,0,0,1
+      48:	b6 52 00 58 	setvl   r0,r0,42,0,1,0
+      4c:	b6 53 00 58 	setvl   r0,r0,42,0,1,1
+      50:	76 52 00 58 	setvl   r0,r0,42,1,0,0
+      54:	76 53 00 58 	setvl   r0,r0,42,1,0,1
+      58:	f6 52 00 58 	setvl   r0,r0,42,1,1,0
+      5c:	f6 53 00 58 	setvl   r0,r0,42,1,1,1
+      60:	36 64 00 58 	setvl   r0,r0,51,0,0,0
+      64:	36 65 00 58 	setvl   r0,r0,51,0,0,1
+      68:	b6 64 00 58 	setvl   r0,r0,51,0,1,0
+      6c:	b6 65 00 58 	setvl   r0,r0,51,0,1,1
+      70:	76 64 00 58 	setvl   r0,r0,51,1,0,0
+      74:	76 65 00 58 	setvl   r0,r0,51,1,0,1
+      78:	f6 64 00 58 	setvl   r0,r0,51,1,1,0
+      7c:	f6 65 00 58 	setvl   r0,r0,51,1,1,1
+      80:	36 7c 00 58 	setvl   r0,r0,63,0,0,0
+      84:	36 7d 00 58 	setvl   r0,r0,63,0,0,1
+      88:	b6 7c 00 58 	setvl   r0,r0,63,0,1,0
+      8c:	b6 7d 00 58 	setvl   r0,r0,63,0,1,1
+      90:	76 7c 00 58 	setvl   r0,r0,63,1,0,0
+      94:	76 7d 00 58 	setvl   r0,r0,63,1,0,1
+      98:	f6 7c 00 58 	setvl   r0,r0,63,1,1,0
+      9c:	f6 7d 00 58 	setvl   r0,r0,63,1,1,1
+      a0:	36 3e 00 58 	setvl   r0,r0,32,0,0,0
+      a4:	36 3f 00 58 	setvl   r0,r0,32,0,0,1
+      a8:	b6 3e 00 58 	setvl   r0,r0,32,0,1,0
+      ac:	b6 3f 00 58 	setvl   r0,r0,32,0,1,1
+      b0:	76 3e 00 58 	setvl   r0,r0,32,1,0,0
+      b4:	76 3f 00 58 	setvl   r0,r0,32,1,0,1
+      b8:	f6 3e 00 58 	setvl   r0,r0,32,1,1,0
+      bc:	f6 3f 00 58 	setvl   r0,r0,32,1,1,1
+      c0:	36 00 0a 58 	setvl   r0,r10,1,0,0,0
+      c4:	36 01 0a 58 	setvl   r0,r10,1,0,0,1
+      c8:	b6 00 0a 58 	setvl   r0,r10,1,0,1,0
+      cc:	b6 01 0a 58 	setvl   r0,r10,1,0,1,1
+      d0:	76 00 0a 58 	setvl   r0,r10,1,1,0,0
+      d4:	76 01 0a 58 	setvl   r0,r10,1,1,0,1
+      d8:	f6 00 0a 58 	setvl   r0,r10,1,1,1,0
+      dc:	f6 01 0a 58 	setvl   r0,r10,1,1,1,1
+      e0:	36 28 0a 58 	setvl   r0,r10,21,0,0,0
+      e4:	36 29 0a 58 	setvl   r0,r10,21,0,0,1
+      e8:	b6 28 0a 58 	setvl   r0,r10,21,0,1,0
+      ec:	b6 29 0a 58 	setvl   r0,r10,21,0,1,1
+      f0:	76 28 0a 58 	setvl   r0,r10,21,1,0,0
+      f4:	76 29 0a 58 	setvl   r0,r10,21,1,0,1
+      f8:	f6 28 0a 58 	setvl   r0,r10,21,1,1,0
+      fc:	f6 29 0a 58 	setvl   r0,r10,21,1,1,1
+     100:	36 52 0a 58 	setvl   r0,r10,42,0,0,0
+     104:	36 53 0a 58 	setvl   r0,r10,42,0,0,1
+     108:	b6 52 0a 58 	setvl   r0,r10,42,0,1,0
+     10c:	b6 53 0a 58 	setvl   r0,r10,42,0,1,1
+     110:	76 52 0a 58 	setvl   r0,r10,42,1,0,0
+     114:	76 53 0a 58 	setvl   r0,r10,42,1,0,1
+     118:	f6 52 0a 58 	setvl   r0,r10,42,1,1,0
+     11c:	f6 53 0a 58 	setvl   r0,r10,42,1,1,1
+     120:	36 64 0a 58 	setvl   r0,r10,51,0,0,0
+     124:	36 65 0a 58 	setvl   r0,r10,51,0,0,1
+     128:	b6 64 0a 58 	setvl   r0,r10,51,0,1,0
+     12c:	b6 65 0a 58 	setvl   r0,r10,51,0,1,1
+     130:	76 64 0a 58 	setvl   r0,r10,51,1,0,0
+     134:	76 65 0a 58 	setvl   r0,r10,51,1,0,1
+     138:	f6 64 0a 58 	setvl   r0,r10,51,1,1,0
+     13c:	f6 65 0a 58 	setvl   r0,r10,51,1,1,1
+     140:	36 7c 0a 58 	setvl   r0,r10,63,0,0,0
+     144:	36 7d 0a 58 	setvl   r0,r10,63,0,0,1
+     148:	b6 7c 0a 58 	setvl   r0,r10,63,0,1,0
+     14c:	b6 7d 0a 58 	setvl   r0,r10,63,0,1,1
+     150:	76 7c 0a 58 	setvl   r0,r10,63,1,0,0
+     154:	76 7d 0a 58 	setvl   r0,r10,63,1,0,1
+     158:	f6 7c 0a 58 	setvl   r0,r10,63,1,1,0
+     15c:	f6 7d 0a 58 	setvl   r0,r10,63,1,1,1
+     160:	36 3e 0a 58 	setvl   r0,r10,32,0,0,0
+     164:	36 3f 0a 58 	setvl   r0,r10,32,0,0,1
+     168:	b6 3e 0a 58 	setvl   r0,r10,32,0,1,0
+     16c:	b6 3f 0a 58 	setvl   r0,r10,32,0,1,1
+     170:	76 3e 0a 58 	setvl   r0,r10,32,1,0,0
+     174:	76 3f 0a 58 	setvl   r0,r10,32,1,0,1
+     178:	f6 3e 0a 58 	setvl   r0,r10,32,1,1,0
+     17c:	f6 3f 0a 58 	setvl   r0,r10,32,1,1,1
+     180:	36 00 15 58 	setvl   r0,r21,1,0,0,0
+     184:	36 01 15 58 	setvl   r0,r21,1,0,0,1
+     188:	b6 00 15 58 	setvl   r0,r21,1,0,1,0
+     18c:	b6 01 15 58 	setvl   r0,r21,1,0,1,1
+     190:	76 00 15 58 	setvl   r0,r21,1,1,0,0
+     194:	76 01 15 58 	setvl   r0,r21,1,1,0,1
+     198:	f6 00 15 58 	setvl   r0,r21,1,1,1,0
+     19c:	f6 01 15 58 	setvl   r0,r21,1,1,1,1
+     1a0:	36 28 15 58 	setvl   r0,r21,21,0,0,0
+     1a4:	36 29 15 58 	setvl   r0,r21,21,0,0,1
+     1a8:	b6 28 15 58 	setvl   r0,r21,21,0,1,0
+     1ac:	b6 29 15 58 	setvl   r0,r21,21,0,1,1
+     1b0:	76 28 15 58 	setvl   r0,r21,21,1,0,0
+     1b4:	76 29 15 58 	setvl   r0,r21,21,1,0,1
+     1b8:	f6 28 15 58 	setvl   r0,r21,21,1,1,0
+     1bc:	f6 29 15 58 	setvl   r0,r21,21,1,1,1
+     1c0:	36 52 15 58 	setvl   r0,r21,42,0,0,0
+     1c4:	36 53 15 58 	setvl   r0,r21,42,0,0,1
+     1c8:	b6 52 15 58 	setvl   r0,r21,42,0,1,0
+     1cc:	b6 53 15 58 	setvl   r0,r21,42,0,1,1
+     1d0:	76 52 15 58 	setvl   r0,r21,42,1,0,0
+     1d4:	76 53 15 58 	setvl   r0,r21,42,1,0,1
+     1d8:	f6 52 15 58 	setvl   r0,r21,42,1,1,0
+     1dc:	f6 53 15 58 	setvl   r0,r21,42,1,1,1
+     1e0:	36 64 15 58 	setvl   r0,r21,51,0,0,0
+     1e4:	36 65 15 58 	setvl   r0,r21,51,0,0,1
+     1e8:	b6 64 15 58 	setvl   r0,r21,51,0,1,0
+     1ec:	b6 65 15 58 	setvl   r0,r21,51,0,1,1
+     1f0:	76 64 15 58 	setvl   r0,r21,51,1,0,0
+     1f4:	76 65 15 58 	setvl   r0,r21,51,1,0,1
+     1f8:	f6 64 15 58 	setvl   r0,r21,51,1,1,0
+     1fc:	f6 65 15 58 	setvl   r0,r21,51,1,1,1
+     200:	36 7c 15 58 	setvl   r0,r21,63,0,0,0
+     204:	36 7d 15 58 	setvl   r0,r21,63,0,0,1
+     208:	b6 7c 15 58 	setvl   r0,r21,63,0,1,0
+     20c:	b6 7d 15 58 	setvl   r0,r21,63,0,1,1
+     210:	76 7c 15 58 	setvl   r0,r21,63,1,0,0
+     214:	76 7d 15 58 	setvl   r0,r21,63,1,0,1
+     218:	f6 7c 15 58 	setvl   r0,r21,63,1,1,0
+     21c:	f6 7d 15 58 	setvl   r0,r21,63,1,1,1
+     220:	36 3e 15 58 	setvl   r0,r21,32,0,0,0
+     224:	36 3f 15 58 	setvl   r0,r21,32,0,0,1
+     228:	b6 3e 15 58 	setvl   r0,r21,32,0,1,0
+     22c:	b6 3f 15 58 	setvl   r0,r21,32,0,1,1
+     230:	76 3e 15 58 	setvl   r0,r21,32,1,0,0
+     234:	76 3f 15 58 	setvl   r0,r21,32,1,0,1
+     238:	f6 3e 15 58 	setvl   r0,r21,32,1,1,0
+     23c:	f6 3f 15 58 	setvl   r0,r21,32,1,1,1
+     240:	36 00 1b 58 	setvl   r0,r27,1,0,0,0
+     244:	36 01 1b 58 	setvl   r0,r27,1,0,0,1
+     248:	b6 00 1b 58 	setvl   r0,r27,1,0,1,0
+     24c:	b6 01 1b 58 	setvl   r0,r27,1,0,1,1
+     250:	76 00 1b 58 	setvl   r0,r27,1,1,0,0
+     254:	76 01 1b 58 	setvl   r0,r27,1,1,0,1
+     258:	f6 00 1b 58 	setvl   r0,r27,1,1,1,0
+     25c:	f6 01 1b 58 	setvl   r0,r27,1,1,1,1
+     260:	36 28 1b 58 	setvl   r0,r27,21,0,0,0
+     264:	36 29 1b 58 	setvl   r0,r27,21,0,0,1
+     268:	b6 28 1b 58 	setvl   r0,r27,21,0,1,0
+     26c:	b6 29 1b 58 	setvl   r0,r27,21,0,1,1
+     270:	76 28 1b 58 	setvl   r0,r27,21,1,0,0
+     274:	76 29 1b 58 	setvl   r0,r27,21,1,0,1
+     278:	f6 28 1b 58 	setvl   r0,r27,21,1,1,0
+     27c:	f6 29 1b 58 	setvl   r0,r27,21,1,1,1
+     280:	36 52 1b 58 	setvl   r0,r27,42,0,0,0
+     284:	36 53 1b 58 	setvl   r0,r27,42,0,0,1
+     288:	b6 52 1b 58 	setvl   r0,r27,42,0,1,0
+     28c:	b6 53 1b 58 	setvl   r0,r27,42,0,1,1
+     290:	76 52 1b 58 	setvl   r0,r27,42,1,0,0
+     294:	76 53 1b 58 	setvl   r0,r27,42,1,0,1
+     298:	f6 52 1b 58 	setvl   r0,r27,42,1,1,0
+     29c:	f6 53 1b 58 	setvl   r0,r27,42,1,1,1
+     2a0:	36 64 1b 58 	setvl   r0,r27,51,0,0,0
+     2a4:	36 65 1b 58 	setvl   r0,r27,51,0,0,1
+     2a8:	b6 64 1b 58 	setvl   r0,r27,51,0,1,0
+     2ac:	b6 65 1b 58 	setvl   r0,r27,51,0,1,1
+     2b0:	76 64 1b 58 	setvl   r0,r27,51,1,0,0
+     2b4:	76 65 1b 58 	setvl   r0,r27,51,1,0,1
+     2b8:	f6 64 1b 58 	setvl   r0,r27,51,1,1,0
+     2bc:	f6 65 1b 58 	setvl   r0,r27,51,1,1,1
+     2c0:	36 7c 1b 58 	setvl   r0,r27,63,0,0,0
+     2c4:	36 7d 1b 58 	setvl   r0,r27,63,0,0,1
+     2c8:	b6 7c 1b 58 	setvl   r0,r27,63,0,1,0
+     2cc:	b6 7d 1b 58 	setvl   r0,r27,63,0,1,1
+     2d0:	76 7c 1b 58 	setvl   r0,r27,63,1,0,0
+     2d4:	76 7d 1b 58 	setvl   r0,r27,63,1,0,1
+     2d8:	f6 7c 1b 58 	setvl   r0,r27,63,1,1,0
+     2dc:	f6 7d 1b 58 	setvl   r0,r27,63,1,1,1
+     2e0:	36 3e 1b 58 	setvl   r0,r27,32,0,0,0
+     2e4:	36 3f 1b 58 	setvl   r0,r27,32,0,0,1
+     2e8:	b6 3e 1b 58 	setvl   r0,r27,32,0,1,0
+     2ec:	b6 3f 1b 58 	setvl   r0,r27,32,0,1,1
+     2f0:	76 3e 1b 58 	setvl   r0,r27,32,1,0,0
+     2f4:	76 3f 1b 58 	setvl   r0,r27,32,1,0,1
+     2f8:	f6 3e 1b 58 	setvl   r0,r27,32,1,1,0
+     2fc:	f6 3f 1b 58 	setvl   r0,r27,32,1,1,1
+     300:	36 00 1f 58 	setvl   r0,r31,1,0,0,0
+     304:	36 01 1f 58 	setvl   r0,r31,1,0,0,1
+     308:	b6 00 1f 58 	setvl   r0,r31,1,0,1,0
+     30c:	b6 01 1f 58 	setvl   r0,r31,1,0,1,1
+     310:	76 00 1f 58 	setvl   r0,r31,1,1,0,0
+     314:	76 01 1f 58 	setvl   r0,r31,1,1,0,1
+     318:	f6 00 1f 58 	setvl   r0,r31,1,1,1,0
+     31c:	f6 01 1f 58 	setvl   r0,r31,1,1,1,1
+     320:	36 28 1f 58 	setvl   r0,r31,21,0,0,0
+     324:	36 29 1f 58 	setvl   r0,r31,21,0,0,1
+     328:	b6 28 1f 58 	setvl   r0,r31,21,0,1,0
+     32c:	b6 29 1f 58 	setvl   r0,r31,21,0,1,1
+     330:	76 28 1f 58 	setvl   r0,r31,21,1,0,0
+     334:	76 29 1f 58 	setvl   r0,r31,21,1,0,1
+     338:	f6 28 1f 58 	setvl   r0,r31,21,1,1,0
+     33c:	f6 29 1f 58 	setvl   r0,r31,21,1,1,1
+     340:	36 52 1f 58 	setvl   r0,r31,42,0,0,0
+     344:	36 53 1f 58 	setvl   r0,r31,42,0,0,1
+     348:	b6 52 1f 58 	setvl   r0,r31,42,0,1,0
+     34c:	b6 53 1f 58 	setvl   r0,r31,42,0,1,1
+     350:	76 52 1f 58 	setvl   r0,r31,42,1,0,0
+     354:	76 53 1f 58 	setvl   r0,r31,42,1,0,1
+     358:	f6 52 1f 58 	setvl   r0,r31,42,1,1,0
+     35c:	f6 53 1f 58 	setvl   r0,r31,42,1,1,1
+     360:	36 64 1f 58 	setvl   r0,r31,51,0,0,0
+     364:	36 65 1f 58 	setvl   r0,r31,51,0,0,1
+     368:	b6 64 1f 58 	setvl   r0,r31,51,0,1,0
+     36c:	b6 65 1f 58 	setvl   r0,r31,51,0,1,1
+     370:	76 64 1f 58 	setvl   r0,r31,51,1,0,0
+     374:	76 65 1f 58 	setvl   r0,r31,51,1,0,1
+     378:	f6 64 1f 58 	setvl   r0,r31,51,1,1,0
+     37c:	f6 65 1f 58 	setvl   r0,r31,51,1,1,1
+     380:	36 7c 1f 58 	setvl   r0,r31,63,0,0,0
+     384:	36 7d 1f 58 	setvl   r0,r31,63,0,0,1
+     388:	b6 7c 1f 58 	setvl   r0,r31,63,0,1,0
+     38c:	b6 7d 1f 58 	setvl   r0,r31,63,0,1,1
+     390:	76 7c 1f 58 	setvl   r0,r31,63,1,0,0
+     394:	76 7d 1f 58 	setvl   r0,r31,63,1,0,1
+     398:	f6 7c 1f 58 	setvl   r0,r31,63,1,1,0
+     39c:	f6 7d 1f 58 	setvl   r0,r31,63,1,1,1
+     3a0:	36 3e 1f 58 	setvl   r0,r31,32,0,0,0
+     3a4:	36 3f 1f 58 	setvl   r0,r31,32,0,0,1
+     3a8:	b6 3e 1f 58 	setvl   r0,r31,32,0,1,0
+     3ac:	b6 3f 1f 58 	setvl   r0,r31,32,0,1,1
+     3b0:	76 3e 1f 58 	setvl   r0,r31,32,1,0,0
+     3b4:	76 3f 1f 58 	setvl   r0,r31,32,1,0,1
+     3b8:	f6 3e 1f 58 	setvl   r0,r31,32,1,1,0
+     3bc:	f6 3f 1f 58 	setvl   r0,r31,32,1,1,1
+     3c0:	36 00 40 59 	setvl   r10,r0,1,0,0,0
+     3c4:	36 01 40 59 	setvl   r10,r0,1,0,0,1
+     3c8:	b6 00 40 59 	setvl   r10,r0,1,0,1,0
+     3cc:	b6 01 40 59 	setvl   r10,r0,1,0,1,1
+     3d0:	76 00 40 59 	setvl   r10,r0,1,1,0,0
+     3d4:	76 01 40 59 	setvl   r10,r0,1,1,0,1
+     3d8:	f6 00 40 59 	setvl   r10,r0,1,1,1,0
+     3dc:	f6 01 40 59 	setvl   r10,r0,1,1,1,1
+     3e0:	36 28 40 59 	setvl   r10,r0,21,0,0,0
+     3e4:	36 29 40 59 	setvl   r10,r0,21,0,0,1
+     3e8:	b6 28 40 59 	setvl   r10,r0,21,0,1,0
+     3ec:	b6 29 40 59 	setvl   r10,r0,21,0,1,1
+     3f0:	76 28 40 59 	setvl   r10,r0,21,1,0,0
+     3f4:	76 29 40 59 	setvl   r10,r0,21,1,0,1
+     3f8:	f6 28 40 59 	setvl   r10,r0,21,1,1,0
+     3fc:	f6 29 40 59 	setvl   r10,r0,21,1,1,1
+     400:	36 52 40 59 	setvl   r10,r0,42,0,0,0
+     404:	36 53 40 59 	setvl   r10,r0,42,0,0,1
+     408:	b6 52 40 59 	setvl   r10,r0,42,0,1,0
+     40c:	b6 53 40 59 	setvl   r10,r0,42,0,1,1
+     410:	76 52 40 59 	setvl   r10,r0,42,1,0,0
+     414:	76 53 40 59 	setvl   r10,r0,42,1,0,1
+     418:	f6 52 40 59 	setvl   r10,r0,42,1,1,0
+     41c:	f6 53 40 59 	setvl   r10,r0,42,1,1,1
+     420:	36 64 40 59 	setvl   r10,r0,51,0,0,0
+     424:	36 65 40 59 	setvl   r10,r0,51,0,0,1
+     428:	b6 64 40 59 	setvl   r10,r0,51,0,1,0
+     42c:	b6 65 40 59 	setvl   r10,r0,51,0,1,1
+     430:	76 64 40 59 	setvl   r10,r0,51,1,0,0
+     434:	76 65 40 59 	setvl   r10,r0,51,1,0,1
+     438:	f6 64 40 59 	setvl   r10,r0,51,1,1,0
+     43c:	f6 65 40 59 	setvl   r10,r0,51,1,1,1
+     440:	36 7c 40 59 	setvl   r10,r0,63,0,0,0
+     444:	36 7d 40 59 	setvl   r10,r0,63,0,0,1
+     448:	b6 7c 40 59 	setvl   r10,r0,63,0,1,0
+     44c:	b6 7d 40 59 	setvl   r10,r0,63,0,1,1
+     450:	76 7c 40 59 	setvl   r10,r0,63,1,0,0
+     454:	76 7d 40 59 	setvl   r10,r0,63,1,0,1
+     458:	f6 7c 40 59 	setvl   r10,r0,63,1,1,0
+     45c:	f6 7d 40 59 	setvl   r10,r0,63,1,1,1
+     460:	36 3e 40 59 	setvl   r10,r0,32,0,0,0
+     464:	36 3f 40 59 	setvl   r10,r0,32,0,0,1
+     468:	b6 3e 40 59 	setvl   r10,r0,32,0,1,0
+     46c:	b6 3f 40 59 	setvl   r10,r0,32,0,1,1
+     470:	76 3e 40 59 	setvl   r10,r0,32,1,0,0
+     474:	76 3f 40 59 	setvl   r10,r0,32,1,0,1
+     478:	f6 3e 40 59 	setvl   r10,r0,32,1,1,0
+     47c:	f6 3f 40 59 	setvl   r10,r0,32,1,1,1
+     480:	36 00 4a 59 	setvl   r10,r10,1,0,0,0
+     484:	36 01 4a 59 	setvl   r10,r10,1,0,0,1
+     488:	b6 00 4a 59 	setvl   r10,r10,1,0,1,0
+     48c:	b6 01 4a 59 	setvl   r10,r10,1,0,1,1
+     490:	76 00 4a 59 	setvl   r10,r10,1,1,0,0
+     494:	76 01 4a 59 	setvl   r10,r10,1,1,0,1
+     498:	f6 00 4a 59 	setvl   r10,r10,1,1,1,0
+     49c:	f6 01 4a 59 	setvl   r10,r10,1,1,1,1
+     4a0:	36 28 4a 59 	setvl   r10,r10,21,0,0,0
+     4a4:	36 29 4a 59 	setvl   r10,r10,21,0,0,1
+     4a8:	b6 28 4a 59 	setvl   r10,r10,21,0,1,0
+     4ac:	b6 29 4a 59 	setvl   r10,r10,21,0,1,1
+     4b0:	76 28 4a 59 	setvl   r10,r10,21,1,0,0
+     4b4:	76 29 4a 59 	setvl   r10,r10,21,1,0,1
+     4b8:	f6 28 4a 59 	setvl   r10,r10,21,1,1,0
+     4bc:	f6 29 4a 59 	setvl   r10,r10,21,1,1,1
+     4c0:	36 52 4a 59 	setvl   r10,r10,42,0,0,0
+     4c4:	36 53 4a 59 	setvl   r10,r10,42,0,0,1
+     4c8:	b6 52 4a 59 	setvl   r10,r10,42,0,1,0
+     4cc:	b6 53 4a 59 	setvl   r10,r10,42,0,1,1
+     4d0:	76 52 4a 59 	setvl   r10,r10,42,1,0,0
+     4d4:	76 53 4a 59 	setvl   r10,r10,42,1,0,1
+     4d8:	f6 52 4a 59 	setvl   r10,r10,42,1,1,0
+     4dc:	f6 53 4a 59 	setvl   r10,r10,42,1,1,1
+     4e0:	36 64 4a 59 	setvl   r10,r10,51,0,0,0
+     4e4:	36 65 4a 59 	setvl   r10,r10,51,0,0,1
+     4e8:	b6 64 4a 59 	setvl   r10,r10,51,0,1,0
+     4ec:	b6 65 4a 59 	setvl   r10,r10,51,0,1,1
+     4f0:	76 64 4a 59 	setvl   r10,r10,51,1,0,0
+     4f4:	76 65 4a 59 	setvl   r10,r10,51,1,0,1
+     4f8:	f6 64 4a 59 	setvl   r10,r10,51,1,1,0
+     4fc:	f6 65 4a 59 	setvl   r10,r10,51,1,1,1
+     500:	36 7c 4a 59 	setvl   r10,r10,63,0,0,0
+     504:	36 7d 4a 59 	setvl   r10,r10,63,0,0,1
+     508:	b6 7c 4a 59 	setvl   r10,r10,63,0,1,0
+     50c:	b6 7d 4a 59 	setvl   r10,r10,63,0,1,1
+     510:	76 7c 4a 59 	setvl   r10,r10,63,1,0,0
+     514:	76 7d 4a 59 	setvl   r10,r10,63,1,0,1
+     518:	f6 7c 4a 59 	setvl   r10,r10,63,1,1,0
+     51c:	f6 7d 4a 59 	setvl   r10,r10,63,1,1,1
+     520:	36 3e 4a 59 	setvl   r10,r10,32,0,0,0
+     524:	36 3f 4a 59 	setvl   r10,r10,32,0,0,1
+     528:	b6 3e 4a 59 	setvl   r10,r10,32,0,1,0
+     52c:	b6 3f 4a 59 	setvl   r10,r10,32,0,1,1
+     530:	76 3e 4a 59 	setvl   r10,r10,32,1,0,0
+     534:	76 3f 4a 59 	setvl   r10,r10,32,1,0,1
+     538:	f6 3e 4a 59 	setvl   r10,r10,32,1,1,0
+     53c:	f6 3f 4a 59 	setvl   r10,r10,32,1,1,1
+     540:	36 00 55 59 	setvl   r10,r21,1,0,0,0
+     544:	36 01 55 59 	setvl   r10,r21,1,0,0,1
+     548:	b6 00 55 59 	setvl   r10,r21,1,0,1,0
+     54c:	b6 01 55 59 	setvl   r10,r21,1,0,1,1
+     550:	76 00 55 59 	setvl   r10,r21,1,1,0,0
+     554:	76 01 55 59 	setvl   r10,r21,1,1,0,1
+     558:	f6 00 55 59 	setvl   r10,r21,1,1,1,0
+     55c:	f6 01 55 59 	setvl   r10,r21,1,1,1,1
+     560:	36 28 55 59 	setvl   r10,r21,21,0,0,0
+     564:	36 29 55 59 	setvl   r10,r21,21,0,0,1
+     568:	b6 28 55 59 	setvl   r10,r21,21,0,1,0
+     56c:	b6 29 55 59 	setvl   r10,r21,21,0,1,1
+     570:	76 28 55 59 	setvl   r10,r21,21,1,0,0
+     574:	76 29 55 59 	setvl   r10,r21,21,1,0,1
+     578:	f6 28 55 59 	setvl   r10,r21,21,1,1,0
+     57c:	f6 29 55 59 	setvl   r10,r21,21,1,1,1
+     580:	36 52 55 59 	setvl   r10,r21,42,0,0,0
+     584:	36 53 55 59 	setvl   r10,r21,42,0,0,1
+     588:	b6 52 55 59 	setvl   r10,r21,42,0,1,0
+     58c:	b6 53 55 59 	setvl   r10,r21,42,0,1,1
+     590:	76 52 55 59 	setvl   r10,r21,42,1,0,0
+     594:	76 53 55 59 	setvl   r10,r21,42,1,0,1
+     598:	f6 52 55 59 	setvl   r10,r21,42,1,1,0
+     59c:	f6 53 55 59 	setvl   r10,r21,42,1,1,1
+     5a0:	36 64 55 59 	setvl   r10,r21,51,0,0,0
+     5a4:	36 65 55 59 	setvl   r10,r21,51,0,0,1
+     5a8:	b6 64 55 59 	setvl   r10,r21,51,0,1,0
+     5ac:	b6 65 55 59 	setvl   r10,r21,51,0,1,1
+     5b0:	76 64 55 59 	setvl   r10,r21,51,1,0,0
+     5b4:	76 65 55 59 	setvl   r10,r21,51,1,0,1
+     5b8:	f6 64 55 59 	setvl   r10,r21,51,1,1,0
+     5bc:	f6 65 55 59 	setvl   r10,r21,51,1,1,1
+     5c0:	36 7c 55 59 	setvl   r10,r21,63,0,0,0
+     5c4:	36 7d 55 59 	setvl   r10,r21,63,0,0,1
+     5c8:	b6 7c 55 59 	setvl   r10,r21,63,0,1,0
+     5cc:	b6 7d 55 59 	setvl   r10,r21,63,0,1,1
+     5d0:	76 7c 55 59 	setvl   r10,r21,63,1,0,0
+     5d4:	76 7d 55 59 	setvl   r10,r21,63,1,0,1
+     5d8:	f6 7c 55 59 	setvl   r10,r21,63,1,1,0
+     5dc:	f6 7d 55 59 	setvl   r10,r21,63,1,1,1
+     5e0:	36 3e 55 59 	setvl   r10,r21,32,0,0,0
+     5e4:	36 3f 55 59 	setvl   r10,r21,32,0,0,1
+     5e8:	b6 3e 55 59 	setvl   r10,r21,32,0,1,0
+     5ec:	b6 3f 55 59 	setvl   r10,r21,32,0,1,1
+     5f0:	76 3e 55 59 	setvl   r10,r21,32,1,0,0
+     5f4:	76 3f 55 59 	setvl   r10,r21,32,1,0,1
+     5f8:	f6 3e 55 59 	setvl   r10,r21,32,1,1,0
+     5fc:	f6 3f 55 59 	setvl   r10,r21,32,1,1,1
+     600:	36 00 5b 59 	setvl   r10,r27,1,0,0,0
+     604:	36 01 5b 59 	setvl   r10,r27,1,0,0,1
+     608:	b6 00 5b 59 	setvl   r10,r27,1,0,1,0
+     60c:	b6 01 5b 59 	setvl   r10,r27,1,0,1,1
+     610:	76 00 5b 59 	setvl   r10,r27,1,1,0,0
+     614:	76 01 5b 59 	setvl   r10,r27,1,1,0,1
+     618:	f6 00 5b 59 	setvl   r10,r27,1,1,1,0
+     61c:	f6 01 5b 59 	setvl   r10,r27,1,1,1,1
+     620:	36 28 5b 59 	setvl   r10,r27,21,0,0,0
+     624:	36 29 5b 59 	setvl   r10,r27,21,0,0,1
+     628:	b6 28 5b 59 	setvl   r10,r27,21,0,1,0
+     62c:	b6 29 5b 59 	setvl   r10,r27,21,0,1,1
+     630:	76 28 5b 59 	setvl   r10,r27,21,1,0,0
+     634:	76 29 5b 59 	setvl   r10,r27,21,1,0,1
+     638:	f6 28 5b 59 	setvl   r10,r27,21,1,1,0
+     63c:	f6 29 5b 59 	setvl   r10,r27,21,1,1,1
+     640:	36 52 5b 59 	setvl   r10,r27,42,0,0,0
+     644:	36 53 5b 59 	setvl   r10,r27,42,0,0,1
+     648:	b6 52 5b 59 	setvl   r10,r27,42,0,1,0
+     64c:	b6 53 5b 59 	setvl   r10,r27,42,0,1,1
+     650:	76 52 5b 59 	setvl   r10,r27,42,1,0,0
+     654:	76 53 5b 59 	setvl   r10,r27,42,1,0,1
+     658:	f6 52 5b 59 	setvl   r10,r27,42,1,1,0
+     65c:	f6 53 5b 59 	setvl   r10,r27,42,1,1,1
+     660:	36 64 5b 59 	setvl   r10,r27,51,0,0,0
+     664:	36 65 5b 59 	setvl   r10,r27,51,0,0,1
+     668:	b6 64 5b 59 	setvl   r10,r27,51,0,1,0
+     66c:	b6 65 5b 59 	setvl   r10,r27,51,0,1,1
+     670:	76 64 5b 59 	setvl   r10,r27,51,1,0,0
+     674:	76 65 5b 59 	setvl   r10,r27,51,1,0,1
+     678:	f6 64 5b 59 	setvl   r10,r27,51,1,1,0
+     67c:	f6 65 5b 59 	setvl   r10,r27,51,1,1,1
+     680:	36 7c 5b 59 	setvl   r10,r27,63,0,0,0
+     684:	36 7d 5b 59 	setvl   r10,r27,63,0,0,1
+     688:	b6 7c 5b 59 	setvl   r10,r27,63,0,1,0
+     68c:	b6 7d 5b 59 	setvl   r10,r27,63,0,1,1
+     690:	76 7c 5b 59 	setvl   r10,r27,63,1,0,0
+     694:	76 7d 5b 59 	setvl   r10,r27,63,1,0,1
+     698:	f6 7c 5b 59 	setvl   r10,r27,63,1,1,0
+     69c:	f6 7d 5b 59 	setvl   r10,r27,63,1,1,1
+     6a0:	36 3e 5b 59 	setvl   r10,r27,32,0,0,0
+     6a4:	36 3f 5b 59 	setvl   r10,r27,32,0,0,1
+     6a8:	b6 3e 5b 59 	setvl   r10,r27,32,0,1,0
+     6ac:	b6 3f 5b 59 	setvl   r10,r27,32,0,1,1
+     6b0:	76 3e 5b 59 	setvl   r10,r27,32,1,0,0
+     6b4:	76 3f 5b 59 	setvl   r10,r27,32,1,0,1
+     6b8:	f6 3e 5b 59 	setvl   r10,r27,32,1,1,0
+     6bc:	f6 3f 5b 59 	setvl   r10,r27,32,1,1,1
+     6c0:	36 00 5f 59 	setvl   r10,r31,1,0,0,0
+     6c4:	36 01 5f 59 	setvl   r10,r31,1,0,0,1
+     6c8:	b6 00 5f 59 	setvl   r10,r31,1,0,1,0
+     6cc:	b6 01 5f 59 	setvl   r10,r31,1,0,1,1
+     6d0:	76 00 5f 59 	setvl   r10,r31,1,1,0,0
+     6d4:	76 01 5f 59 	setvl   r10,r31,1,1,0,1
+     6d8:	f6 00 5f 59 	setvl   r10,r31,1,1,1,0
+     6dc:	f6 01 5f 59 	setvl   r10,r31,1,1,1,1
+     6e0:	36 28 5f 59 	setvl   r10,r31,21,0,0,0
+     6e4:	36 29 5f 59 	setvl   r10,r31,21,0,0,1
+     6e8:	b6 28 5f 59 	setvl   r10,r31,21,0,1,0
+     6ec:	b6 29 5f 59 	setvl   r10,r31,21,0,1,1
+     6f0:	76 28 5f 59 	setvl   r10,r31,21,1,0,0
+     6f4:	76 29 5f 59 	setvl   r10,r31,21,1,0,1
+     6f8:	f6 28 5f 59 	setvl   r10,r31,21,1,1,0
+     6fc:	f6 29 5f 59 	setvl   r10,r31,21,1,1,1
+     700:	36 52 5f 59 	setvl   r10,r31,42,0,0,0
+     704:	36 53 5f 59 	setvl   r10,r31,42,0,0,1
+     708:	b6 52 5f 59 	setvl   r10,r31,42,0,1,0
+     70c:	b6 53 5f 59 	setvl   r10,r31,42,0,1,1
+     710:	76 52 5f 59 	setvl   r10,r31,42,1,0,0
+     714:	76 53 5f 59 	setvl   r10,r31,42,1,0,1
+     718:	f6 52 5f 59 	setvl   r10,r31,42,1,1,0
+     71c:	f6 53 5f 59 	setvl   r10,r31,42,1,1,1
+     720:	36 64 5f 59 	setvl   r10,r31,51,0,0,0
+     724:	36 65 5f 59 	setvl   r10,r31,51,0,0,1
+     728:	b6 64 5f 59 	setvl   r10,r31,51,0,1,0
+     72c:	b6 65 5f 59 	setvl   r10,r31,51,0,1,1
+     730:	76 64 5f 59 	setvl   r10,r31,51,1,0,0
+     734:	76 65 5f 59 	setvl   r10,r31,51,1,0,1
+     738:	f6 64 5f 59 	setvl   r10,r31,51,1,1,0
+     73c:	f6 65 5f 59 	setvl   r10,r31,51,1,1,1
+     740:	36 7c 5f 59 	setvl   r10,r31,63,0,0,0
+     744:	36 7d 5f 59 	setvl   r10,r31,63,0,0,1
+     748:	b6 7c 5f 59 	setvl   r10,r31,63,0,1,0
+     74c:	b6 7d 5f 59 	setvl   r10,r31,63,0,1,1
+     750:	76 7c 5f 59 	setvl   r10,r31,63,1,0,0
+     754:	76 7d 5f 59 	setvl   r10,r31,63,1,0,1
+     758:	f6 7c 5f 59 	setvl   r10,r31,63,1,1,0
+     75c:	f6 7d 5f 59 	setvl   r10,r31,63,1,1,1
+     760:	36 3e 5f 59 	setvl   r10,r31,32,0,0,0
+     764:	36 3f 5f 59 	setvl   r10,r31,32,0,0,1
+     768:	b6 3e 5f 59 	setvl   r10,r31,32,0,1,0
+     76c:	b6 3f 5f 59 	setvl   r10,r31,32,0,1,1
+     770:	76 3e 5f 59 	setvl   r10,r31,32,1,0,0
+     774:	76 3f 5f 59 	setvl   r10,r31,32,1,0,1
+     778:	f6 3e 5f 59 	setvl   r10,r31,32,1,1,0
+     77c:	f6 3f 5f 59 	setvl   r10,r31,32,1,1,1
+     780:	36 00 a0 5a 	setvl   r21,r0,1,0,0,0
+     784:	36 01 a0 5a 	setvl   r21,r0,1,0,0,1
+     788:	b6 00 a0 5a 	setvl   r21,r0,1,0,1,0
+     78c:	b6 01 a0 5a 	setvl   r21,r0,1,0,1,1
+     790:	76 00 a0 5a 	setvl   r21,r0,1,1,0,0
+     794:	76 01 a0 5a 	setvl   r21,r0,1,1,0,1
+     798:	f6 00 a0 5a 	setvl   r21,r0,1,1,1,0
+     79c:	f6 01 a0 5a 	setvl   r21,r0,1,1,1,1
+     7a0:	36 28 a0 5a 	setvl   r21,r0,21,0,0,0
+     7a4:	36 29 a0 5a 	setvl   r21,r0,21,0,0,1
+     7a8:	b6 28 a0 5a 	setvl   r21,r0,21,0,1,0
+     7ac:	b6 29 a0 5a 	setvl   r21,r0,21,0,1,1
+     7b0:	76 28 a0 5a 	setvl   r21,r0,21,1,0,0
+     7b4:	76 29 a0 5a 	setvl   r21,r0,21,1,0,1
+     7b8:	f6 28 a0 5a 	setvl   r21,r0,21,1,1,0
+     7bc:	f6 29 a0 5a 	setvl   r21,r0,21,1,1,1
+     7c0:	36 52 a0 5a 	setvl   r21,r0,42,0,0,0
+     7c4:	36 53 a0 5a 	setvl   r21,r0,42,0,0,1
+     7c8:	b6 52 a0 5a 	setvl   r21,r0,42,0,1,0
+     7cc:	b6 53 a0 5a 	setvl   r21,r0,42,0,1,1
+     7d0:	76 52 a0 5a 	setvl   r21,r0,42,1,0,0
+     7d4:	76 53 a0 5a 	setvl   r21,r0,42,1,0,1
+     7d8:	f6 52 a0 5a 	setvl   r21,r0,42,1,1,0
+     7dc:	f6 53 a0 5a 	setvl   r21,r0,42,1,1,1
+     7e0:	36 64 a0 5a 	setvl   r21,r0,51,0,0,0
+     7e4:	36 65 a0 5a 	setvl   r21,r0,51,0,0,1
+     7e8:	b6 64 a0 5a 	setvl   r21,r0,51,0,1,0
+     7ec:	b6 65 a0 5a 	setvl   r21,r0,51,0,1,1
+     7f0:	76 64 a0 5a 	setvl   r21,r0,51,1,0,0
+     7f4:	76 65 a0 5a 	setvl   r21,r0,51,1,0,1
+     7f8:	f6 64 a0 5a 	setvl   r21,r0,51,1,1,0
+     7fc:	f6 65 a0 5a 	setvl   r21,r0,51,1,1,1
+     800:	36 7c a0 5a 	setvl   r21,r0,63,0,0,0
+     804:	36 7d a0 5a 	setvl   r21,r0,63,0,0,1
+     808:	b6 7c a0 5a 	setvl   r21,r0,63,0,1,0
+     80c:	b6 7d a0 5a 	setvl   r21,r0,63,0,1,1
+     810:	76 7c a0 5a 	setvl   r21,r0,63,1,0,0
+     814:	76 7d a0 5a 	setvl   r21,r0,63,1,0,1
+     818:	f6 7c a0 5a 	setvl   r21,r0,63,1,1,0
+     81c:	f6 7d a0 5a 	setvl   r21,r0,63,1,1,1
+     820:	36 3e a0 5a 	setvl   r21,r0,32,0,0,0
+     824:	36 3f a0 5a 	setvl   r21,r0,32,0,0,1
+     828:	b6 3e a0 5a 	setvl   r21,r0,32,0,1,0
+     82c:	b6 3f a0 5a 	setvl   r21,r0,32,0,1,1
+     830:	76 3e a0 5a 	setvl   r21,r0,32,1,0,0
+     834:	76 3f a0 5a 	setvl   r21,r0,32,1,0,1
+     838:	f6 3e a0 5a 	setvl   r21,r0,32,1,1,0
+     83c:	f6 3f a0 5a 	setvl   r21,r0,32,1,1,1
+     840:	36 00 aa 5a 	setvl   r21,r10,1,0,0,0
+     844:	36 01 aa 5a 	setvl   r21,r10,1,0,0,1
+     848:	b6 00 aa 5a 	setvl   r21,r10,1,0,1,0
+     84c:	b6 01 aa 5a 	setvl   r21,r10,1,0,1,1
+     850:	76 00 aa 5a 	setvl   r21,r10,1,1,0,0
+     854:	76 01 aa 5a 	setvl   r21,r10,1,1,0,1
+     858:	f6 00 aa 5a 	setvl   r21,r10,1,1,1,0
+     85c:	f6 01 aa 5a 	setvl   r21,r10,1,1,1,1
+     860:	36 28 aa 5a 	setvl   r21,r10,21,0,0,0
+     864:	36 29 aa 5a 	setvl   r21,r10,21,0,0,1
+     868:	b6 28 aa 5a 	setvl   r21,r10,21,0,1,0
+     86c:	b6 29 aa 5a 	setvl   r21,r10,21,0,1,1
+     870:	76 28 aa 5a 	setvl   r21,r10,21,1,0,0
+     874:	76 29 aa 5a 	setvl   r21,r10,21,1,0,1
+     878:	f6 28 aa 5a 	setvl   r21,r10,21,1,1,0
+     87c:	f6 29 aa 5a 	setvl   r21,r10,21,1,1,1
+     880:	36 52 aa 5a 	setvl   r21,r10,42,0,0,0
+     884:	36 53 aa 5a 	setvl   r21,r10,42,0,0,1
+     888:	b6 52 aa 5a 	setvl   r21,r10,42,0,1,0
+     88c:	b6 53 aa 5a 	setvl   r21,r10,42,0,1,1
+     890:	76 52 aa 5a 	setvl   r21,r10,42,1,0,0
+     894:	76 53 aa 5a 	setvl   r21,r10,42,1,0,1
+     898:	f6 52 aa 5a 	setvl   r21,r10,42,1,1,0
+     89c:	f6 53 aa 5a 	setvl   r21,r10,42,1,1,1
+     8a0:	36 64 aa 5a 	setvl   r21,r10,51,0,0,0
+     8a4:	36 65 aa 5a 	setvl   r21,r10,51,0,0,1
+     8a8:	b6 64 aa 5a 	setvl   r21,r10,51,0,1,0
+     8ac:	b6 65 aa 5a 	setvl   r21,r10,51,0,1,1
+     8b0:	76 64 aa 5a 	setvl   r21,r10,51,1,0,0
+     8b4:	76 65 aa 5a 	setvl   r21,r10,51,1,0,1
+     8b8:	f6 64 aa 5a 	setvl   r21,r10,51,1,1,0
+     8bc:	f6 65 aa 5a 	setvl   r21,r10,51,1,1,1
+     8c0:	36 7c aa 5a 	setvl   r21,r10,63,0,0,0
+     8c4:	36 7d aa 5a 	setvl   r21,r10,63,0,0,1
+     8c8:	b6 7c aa 5a 	setvl   r21,r10,63,0,1,0
+     8cc:	b6 7d aa 5a 	setvl   r21,r10,63,0,1,1
+     8d0:	76 7c aa 5a 	setvl   r21,r10,63,1,0,0
+     8d4:	76 7d aa 5a 	setvl   r21,r10,63,1,0,1
+     8d8:	f6 7c aa 5a 	setvl   r21,r10,63,1,1,0
+     8dc:	f6 7d aa 5a 	setvl   r21,r10,63,1,1,1
+     8e0:	36 3e aa 5a 	setvl   r21,r10,32,0,0,0
+     8e4:	36 3f aa 5a 	setvl   r21,r10,32,0,0,1
+     8e8:	b6 3e aa 5a 	setvl   r21,r10,32,0,1,0
+     8ec:	b6 3f aa 5a 	setvl   r21,r10,32,0,1,1
+     8f0:	76 3e aa 5a 	setvl   r21,r10,32,1,0,0
+     8f4:	76 3f aa 5a 	setvl   r21,r10,32,1,0,1
+     8f8:	f6 3e aa 5a 	setvl   r21,r10,32,1,1,0
+     8fc:	f6 3f aa 5a 	setvl   r21,r10,32,1,1,1
+     900:	36 00 b5 5a 	setvl   r21,r21,1,0,0,0
+     904:	36 01 b5 5a 	setvl   r21,r21,1,0,0,1
+     908:	b6 00 b5 5a 	setvl   r21,r21,1,0,1,0
+     90c:	b6 01 b5 5a 	setvl   r21,r21,1,0,1,1
+     910:	76 00 b5 5a 	setvl   r21,r21,1,1,0,0
+     914:	76 01 b5 5a 	setvl   r21,r21,1,1,0,1
+     918:	f6 00 b5 5a 	setvl   r21,r21,1,1,1,0
+     91c:	f6 01 b5 5a 	setvl   r21,r21,1,1,1,1
+     920:	36 28 b5 5a 	setvl   r21,r21,21,0,0,0
+     924:	36 29 b5 5a 	setvl   r21,r21,21,0,0,1
+     928:	b6 28 b5 5a 	setvl   r21,r21,21,0,1,0
+     92c:	b6 29 b5 5a 	setvl   r21,r21,21,0,1,1
+     930:	76 28 b5 5a 	setvl   r21,r21,21,1,0,0
+     934:	76 29 b5 5a 	setvl   r21,r21,21,1,0,1
+     938:	f6 28 b5 5a 	setvl   r21,r21,21,1,1,0
+     93c:	f6 29 b5 5a 	setvl   r21,r21,21,1,1,1
+     940:	36 52 b5 5a 	setvl   r21,r21,42,0,0,0
+     944:	36 53 b5 5a 	setvl   r21,r21,42,0,0,1
+     948:	b6 52 b5 5a 	setvl   r21,r21,42,0,1,0
+     94c:	b6 53 b5 5a 	setvl   r21,r21,42,0,1,1
+     950:	76 52 b5 5a 	setvl   r21,r21,42,1,0,0
+     954:	76 53 b5 5a 	setvl   r21,r21,42,1,0,1
+     958:	f6 52 b5 5a 	setvl   r21,r21,42,1,1,0
+     95c:	f6 53 b5 5a 	setvl   r21,r21,42,1,1,1
+     960:	36 64 b5 5a 	setvl   r21,r21,51,0,0,0
+     964:	36 65 b5 5a 	setvl   r21,r21,51,0,0,1
+     968:	b6 64 b5 5a 	setvl   r21,r21,51,0,1,0
+     96c:	b6 65 b5 5a 	setvl   r21,r21,51,0,1,1
+     970:	76 64 b5 5a 	setvl   r21,r21,51,1,0,0
+     974:	76 65 b5 5a 	setvl   r21,r21,51,1,0,1
+     978:	f6 64 b5 5a 	setvl   r21,r21,51,1,1,0
+     97c:	f6 65 b5 5a 	setvl   r21,r21,51,1,1,1
+     980:	36 7c b5 5a 	setvl   r21,r21,63,0,0,0
+     984:	36 7d b5 5a 	setvl   r21,r21,63,0,0,1
+     988:	b6 7c b5 5a 	setvl   r21,r21,63,0,1,0
+     98c:	b6 7d b5 5a 	setvl   r21,r21,63,0,1,1
+     990:	76 7c b5 5a 	setvl   r21,r21,63,1,0,0
+     994:	76 7d b5 5a 	setvl   r21,r21,63,1,0,1
+     998:	f6 7c b5 5a 	setvl   r21,r21,63,1,1,0
+     99c:	f6 7d b5 5a 	setvl   r21,r21,63,1,1,1
+     9a0:	36 3e b5 5a 	setvl   r21,r21,32,0,0,0
+     9a4:	36 3f b5 5a 	setvl   r21,r21,32,0,0,1
+     9a8:	b6 3e b5 5a 	setvl   r21,r21,32,0,1,0
+     9ac:	b6 3f b5 5a 	setvl   r21,r21,32,0,1,1
+     9b0:	76 3e b5 5a 	setvl   r21,r21,32,1,0,0
+     9b4:	76 3f b5 5a 	setvl   r21,r21,32,1,0,1
+     9b8:	f6 3e b5 5a 	setvl   r21,r21,32,1,1,0
+     9bc:	f6 3f b5 5a 	setvl   r21,r21,32,1,1,1
+     9c0:	36 00 bb 5a 	setvl   r21,r27,1,0,0,0
+     9c4:	36 01 bb 5a 	setvl   r21,r27,1,0,0,1
+     9c8:	b6 00 bb 5a 	setvl   r21,r27,1,0,1,0
+     9cc:	b6 01 bb 5a 	setvl   r21,r27,1,0,1,1
+     9d0:	76 00 bb 5a 	setvl   r21,r27,1,1,0,0
+     9d4:	76 01 bb 5a 	setvl   r21,r27,1,1,0,1
+     9d8:	f6 00 bb 5a 	setvl   r21,r27,1,1,1,0
+     9dc:	f6 01 bb 5a 	setvl   r21,r27,1,1,1,1
+     9e0:	36 28 bb 5a 	setvl   r21,r27,21,0,0,0
+     9e4:	36 29 bb 5a 	setvl   r21,r27,21,0,0,1
+     9e8:	b6 28 bb 5a 	setvl   r21,r27,21,0,1,0
+     9ec:	b6 29 bb 5a 	setvl   r21,r27,21,0,1,1
+     9f0:	76 28 bb 5a 	setvl   r21,r27,21,1,0,0
+     9f4:	76 29 bb 5a 	setvl   r21,r27,21,1,0,1
+     9f8:	f6 28 bb 5a 	setvl   r21,r27,21,1,1,0
+     9fc:	f6 29 bb 5a 	setvl   r21,r27,21,1,1,1
+     a00:	36 52 bb 5a 	setvl   r21,r27,42,0,0,0
+     a04:	36 53 bb 5a 	setvl   r21,r27,42,0,0,1
+     a08:	b6 52 bb 5a 	setvl   r21,r27,42,0,1,0
+     a0c:	b6 53 bb 5a 	setvl   r21,r27,42,0,1,1
+     a10:	76 52 bb 5a 	setvl   r21,r27,42,1,0,0
+     a14:	76 53 bb 5a 	setvl   r21,r27,42,1,0,1
+     a18:	f6 52 bb 5a 	setvl   r21,r27,42,1,1,0
+     a1c:	f6 53 bb 5a 	setvl   r21,r27,42,1,1,1
+     a20:	36 64 bb 5a 	setvl   r21,r27,51,0,0,0
+     a24:	36 65 bb 5a 	setvl   r21,r27,51,0,0,1
+     a28:	b6 64 bb 5a 	setvl   r21,r27,51,0,1,0
+     a2c:	b6 65 bb 5a 	setvl   r21,r27,51,0,1,1
+     a30:	76 64 bb 5a 	setvl   r21,r27,51,1,0,0
+     a34:	76 65 bb 5a 	setvl   r21,r27,51,1,0,1
+     a38:	f6 64 bb 5a 	setvl   r21,r27,51,1,1,0
+     a3c:	f6 65 bb 5a 	setvl   r21,r27,51,1,1,1
+     a40:	36 7c bb 5a 	setvl   r21,r27,63,0,0,0
+     a44:	36 7d bb 5a 	setvl   r21,r27,63,0,0,1
+     a48:	b6 7c bb 5a 	setvl   r21,r27,63,0,1,0
+     a4c:	b6 7d bb 5a 	setvl   r21,r27,63,0,1,1
+     a50:	76 7c bb 5a 	setvl   r21,r27,63,1,0,0
+     a54:	76 7d bb 5a 	setvl   r21,r27,63,1,0,1
+     a58:	f6 7c bb 5a 	setvl   r21,r27,63,1,1,0
+     a5c:	f6 7d bb 5a 	setvl   r21,r27,63,1,1,1
+     a60:	36 3e bb 5a 	setvl   r21,r27,32,0,0,0
+     a64:	36 3f bb 5a 	setvl   r21,r27,32,0,0,1
+     a68:	b6 3e bb 5a 	setvl   r21,r27,32,0,1,0
+     a6c:	b6 3f bb 5a 	setvl   r21,r27,32,0,1,1
+     a70:	76 3e bb 5a 	setvl   r21,r27,32,1,0,0
+     a74:	76 3f bb 5a 	setvl   r21,r27,32,1,0,1
+     a78:	f6 3e bb 5a 	setvl   r21,r27,32,1,1,0
+     a7c:	f6 3f bb 5a 	setvl   r21,r27,32,1,1,1
+     a80:	36 00 bf 5a 	setvl   r21,r31,1,0,0,0
+     a84:	36 01 bf 5a 	setvl   r21,r31,1,0,0,1
+     a88:	b6 00 bf 5a 	setvl   r21,r31,1,0,1,0
+     a8c:	b6 01 bf 5a 	setvl   r21,r31,1,0,1,1
+     a90:	76 00 bf 5a 	setvl   r21,r31,1,1,0,0
+     a94:	76 01 bf 5a 	setvl   r21,r31,1,1,0,1
+     a98:	f6 00 bf 5a 	setvl   r21,r31,1,1,1,0
+     a9c:	f6 01 bf 5a 	setvl   r21,r31,1,1,1,1
+     aa0:	36 28 bf 5a 	setvl   r21,r31,21,0,0,0
+     aa4:	36 29 bf 5a 	setvl   r21,r31,21,0,0,1
+     aa8:	b6 28 bf 5a 	setvl   r21,r31,21,0,1,0
+     aac:	b6 29 bf 5a 	setvl   r21,r31,21,0,1,1
+     ab0:	76 28 bf 5a 	setvl   r21,r31,21,1,0,0
+     ab4:	76 29 bf 5a 	setvl   r21,r31,21,1,0,1
+     ab8:	f6 28 bf 5a 	setvl   r21,r31,21,1,1,0
+     abc:	f6 29 bf 5a 	setvl   r21,r31,21,1,1,1
+     ac0:	36 52 bf 5a 	setvl   r21,r31,42,0,0,0
+     ac4:	36 53 bf 5a 	setvl   r21,r31,42,0,0,1
+     ac8:	b6 52 bf 5a 	setvl   r21,r31,42,0,1,0
+     acc:	b6 53 bf 5a 	setvl   r21,r31,42,0,1,1
+     ad0:	76 52 bf 5a 	setvl   r21,r31,42,1,0,0
+     ad4:	76 53 bf 5a 	setvl   r21,r31,42,1,0,1
+     ad8:	f6 52 bf 5a 	setvl   r21,r31,42,1,1,0
+     adc:	f6 53 bf 5a 	setvl   r21,r31,42,1,1,1
+     ae0:	36 64 bf 5a 	setvl   r21,r31,51,0,0,0
+     ae4:	36 65 bf 5a 	setvl   r21,r31,51,0,0,1
+     ae8:	b6 64 bf 5a 	setvl   r21,r31,51,0,1,0
+     aec:	b6 65 bf 5a 	setvl   r21,r31,51,0,1,1
+     af0:	76 64 bf 5a 	setvl   r21,r31,51,1,0,0
+     af4:	76 65 bf 5a 	setvl   r21,r31,51,1,0,1
+     af8:	f6 64 bf 5a 	setvl   r21,r31,51,1,1,0
+     afc:	f6 65 bf 5a 	setvl   r21,r31,51,1,1,1
+     b00:	36 7c bf 5a 	setvl   r21,r31,63,0,0,0
+     b04:	36 7d bf 5a 	setvl   r21,r31,63,0,0,1
+     b08:	b6 7c bf 5a 	setvl   r21,r31,63,0,1,0
+     b0c:	b6 7d bf 5a 	setvl   r21,r31,63,0,1,1
+     b10:	76 7c bf 5a 	setvl   r21,r31,63,1,0,0
+     b14:	76 7d bf 5a 	setvl   r21,r31,63,1,0,1
+     b18:	f6 7c bf 5a 	setvl   r21,r31,63,1,1,0
+     b1c:	f6 7d bf 5a 	setvl   r21,r31,63,1,1,1
+     b20:	36 3e bf 5a 	setvl   r21,r31,32,0,0,0
+     b24:	36 3f bf 5a 	setvl   r21,r31,32,0,0,1
+     b28:	b6 3e bf 5a 	setvl   r21,r31,32,0,1,0
+     b2c:	b6 3f bf 5a 	setvl   r21,r31,32,0,1,1
+     b30:	76 3e bf 5a 	setvl   r21,r31,32,1,0,0
+     b34:	76 3f bf 5a 	setvl   r21,r31,32,1,0,1
+     b38:	f6 3e bf 5a 	setvl   r21,r31,32,1,1,0
+     b3c:	f6 3f bf 5a 	setvl   r21,r31,32,1,1,1
+     b40:	36 00 60 5b 	setvl   r27,r0,1,0,0,0
+     b44:	36 01 60 5b 	setvl   r27,r0,1,0,0,1
+     b48:	b6 00 60 5b 	setvl   r27,r0,1,0,1,0
+     b4c:	b6 01 60 5b 	setvl   r27,r0,1,0,1,1
+     b50:	76 00 60 5b 	setvl   r27,r0,1,1,0,0
+     b54:	76 01 60 5b 	setvl   r27,r0,1,1,0,1
+     b58:	f6 00 60 5b 	setvl   r27,r0,1,1,1,0
+     b5c:	f6 01 60 5b 	setvl   r27,r0,1,1,1,1
+     b60:	36 28 60 5b 	setvl   r27,r0,21,0,0,0
+     b64:	36 29 60 5b 	setvl   r27,r0,21,0,0,1
+     b68:	b6 28 60 5b 	setvl   r27,r0,21,0,1,0
+     b6c:	b6 29 60 5b 	setvl   r27,r0,21,0,1,1
+     b70:	76 28 60 5b 	setvl   r27,r0,21,1,0,0
+     b74:	76 29 60 5b 	setvl   r27,r0,21,1,0,1
+     b78:	f6 28 60 5b 	setvl   r27,r0,21,1,1,0
+     b7c:	f6 29 60 5b 	setvl   r27,r0,21,1,1,1
+     b80:	36 52 60 5b 	setvl   r27,r0,42,0,0,0
+     b84:	36 53 60 5b 	setvl   r27,r0,42,0,0,1
+     b88:	b6 52 60 5b 	setvl   r27,r0,42,0,1,0
+     b8c:	b6 53 60 5b 	setvl   r27,r0,42,0,1,1
+     b90:	76 52 60 5b 	setvl   r27,r0,42,1,0,0
+     b94:	76 53 60 5b 	setvl   r27,r0,42,1,0,1
+     b98:	f6 52 60 5b 	setvl   r27,r0,42,1,1,0
+     b9c:	f6 53 60 5b 	setvl   r27,r0,42,1,1,1
+     ba0:	36 64 60 5b 	setvl   r27,r0,51,0,0,0
+     ba4:	36 65 60 5b 	setvl   r27,r0,51,0,0,1
+     ba8:	b6 64 60 5b 	setvl   r27,r0,51,0,1,0
+     bac:	b6 65 60 5b 	setvl   r27,r0,51,0,1,1
+     bb0:	76 64 60 5b 	setvl   r27,r0,51,1,0,0
+     bb4:	76 65 60 5b 	setvl   r27,r0,51,1,0,1
+     bb8:	f6 64 60 5b 	setvl   r27,r0,51,1,1,0
+     bbc:	f6 65 60 5b 	setvl   r27,r0,51,1,1,1
+     bc0:	36 7c 60 5b 	setvl   r27,r0,63,0,0,0
+     bc4:	36 7d 60 5b 	setvl   r27,r0,63,0,0,1
+     bc8:	b6 7c 60 5b 	setvl   r27,r0,63,0,1,0
+     bcc:	b6 7d 60 5b 	setvl   r27,r0,63,0,1,1
+     bd0:	76 7c 60 5b 	setvl   r27,r0,63,1,0,0
+     bd4:	76 7d 60 5b 	setvl   r27,r0,63,1,0,1
+     bd8:	f6 7c 60 5b 	setvl   r27,r0,63,1,1,0
+     bdc:	f6 7d 60 5b 	setvl   r27,r0,63,1,1,1
+     be0:	36 3e 60 5b 	setvl   r27,r0,32,0,0,0
+     be4:	36 3f 60 5b 	setvl   r27,r0,32,0,0,1
+     be8:	b6 3e 60 5b 	setvl   r27,r0,32,0,1,0
+     bec:	b6 3f 60 5b 	setvl   r27,r0,32,0,1,1
+     bf0:	76 3e 60 5b 	setvl   r27,r0,32,1,0,0
+     bf4:	76 3f 60 5b 	setvl   r27,r0,32,1,0,1
+     bf8:	f6 3e 60 5b 	setvl   r27,r0,32,1,1,0
+     bfc:	f6 3f 60 5b 	setvl   r27,r0,32,1,1,1
+     c00:	36 00 6a 5b 	setvl   r27,r10,1,0,0,0
+     c04:	36 01 6a 5b 	setvl   r27,r10,1,0,0,1
+     c08:	b6 00 6a 5b 	setvl   r27,r10,1,0,1,0
+     c0c:	b6 01 6a 5b 	setvl   r27,r10,1,0,1,1
+     c10:	76 00 6a 5b 	setvl   r27,r10,1,1,0,0
+     c14:	76 01 6a 5b 	setvl   r27,r10,1,1,0,1
+     c18:	f6 00 6a 5b 	setvl   r27,r10,1,1,1,0
+     c1c:	f6 01 6a 5b 	setvl   r27,r10,1,1,1,1
+     c20:	36 28 6a 5b 	setvl   r27,r10,21,0,0,0
+     c24:	36 29 6a 5b 	setvl   r27,r10,21,0,0,1
+     c28:	b6 28 6a 5b 	setvl   r27,r10,21,0,1,0
+     c2c:	b6 29 6a 5b 	setvl   r27,r10,21,0,1,1
+     c30:	76 28 6a 5b 	setvl   r27,r10,21,1,0,0
+     c34:	76 29 6a 5b 	setvl   r27,r10,21,1,0,1
+     c38:	f6 28 6a 5b 	setvl   r27,r10,21,1,1,0
+     c3c:	f6 29 6a 5b 	setvl   r27,r10,21,1,1,1
+     c40:	36 52 6a 5b 	setvl   r27,r10,42,0,0,0
+     c44:	36 53 6a 5b 	setvl   r27,r10,42,0,0,1
+     c48:	b6 52 6a 5b 	setvl   r27,r10,42,0,1,0
+     c4c:	b6 53 6a 5b 	setvl   r27,r10,42,0,1,1
+     c50:	76 52 6a 5b 	setvl   r27,r10,42,1,0,0
+     c54:	76 53 6a 5b 	setvl   r27,r10,42,1,0,1
+     c58:	f6 52 6a 5b 	setvl   r27,r10,42,1,1,0
+     c5c:	f6 53 6a 5b 	setvl   r27,r10,42,1,1,1
+     c60:	36 64 6a 5b 	setvl   r27,r10,51,0,0,0
+     c64:	36 65 6a 5b 	setvl   r27,r10,51,0,0,1
+     c68:	b6 64 6a 5b 	setvl   r27,r10,51,0,1,0
+     c6c:	b6 65 6a 5b 	setvl   r27,r10,51,0,1,1
+     c70:	76 64 6a 5b 	setvl   r27,r10,51,1,0,0
+     c74:	76 65 6a 5b 	setvl   r27,r10,51,1,0,1
+     c78:	f6 64 6a 5b 	setvl   r27,r10,51,1,1,0
+     c7c:	f6 65 6a 5b 	setvl   r27,r10,51,1,1,1
+     c80:	36 7c 6a 5b 	setvl   r27,r10,63,0,0,0
+     c84:	36 7d 6a 5b 	setvl   r27,r10,63,0,0,1
+     c88:	b6 7c 6a 5b 	setvl   r27,r10,63,0,1,0
+     c8c:	b6 7d 6a 5b 	setvl   r27,r10,63,0,1,1
+     c90:	76 7c 6a 5b 	setvl   r27,r10,63,1,0,0
+     c94:	76 7d 6a 5b 	setvl   r27,r10,63,1,0,1
+     c98:	f6 7c 6a 5b 	setvl   r27,r10,63,1,1,0
+     c9c:	f6 7d 6a 5b 	setvl   r27,r10,63,1,1,1
+     ca0:	36 3e 6a 5b 	setvl   r27,r10,32,0,0,0
+     ca4:	36 3f 6a 5b 	setvl   r27,r10,32,0,0,1
+     ca8:	b6 3e 6a 5b 	setvl   r27,r10,32,0,1,0
+     cac:	b6 3f 6a 5b 	setvl   r27,r10,32,0,1,1
+     cb0:	76 3e 6a 5b 	setvl   r27,r10,32,1,0,0
+     cb4:	76 3f 6a 5b 	setvl   r27,r10,32,1,0,1
+     cb8:	f6 3e 6a 5b 	setvl   r27,r10,32,1,1,0
+     cbc:	f6 3f 6a 5b 	setvl   r27,r10,32,1,1,1
+     cc0:	36 00 75 5b 	setvl   r27,r21,1,0,0,0
+     cc4:	36 01 75 5b 	setvl   r27,r21,1,0,0,1
+     cc8:	b6 00 75 5b 	setvl   r27,r21,1,0,1,0
+     ccc:	b6 01 75 5b 	setvl   r27,r21,1,0,1,1
+     cd0:	76 00 75 5b 	setvl   r27,r21,1,1,0,0
+     cd4:	76 01 75 5b 	setvl   r27,r21,1,1,0,1
+     cd8:	f6 00 75 5b 	setvl   r27,r21,1,1,1,0
+     cdc:	f6 01 75 5b 	setvl   r27,r21,1,1,1,1
+     ce0:	36 28 75 5b 	setvl   r27,r21,21,0,0,0
+     ce4:	36 29 75 5b 	setvl   r27,r21,21,0,0,1
+     ce8:	b6 28 75 5b 	setvl   r27,r21,21,0,1,0
+     cec:	b6 29 75 5b 	setvl   r27,r21,21,0,1,1
+     cf0:	76 28 75 5b 	setvl   r27,r21,21,1,0,0
+     cf4:	76 29 75 5b 	setvl   r27,r21,21,1,0,1
+     cf8:	f6 28 75 5b 	setvl   r27,r21,21,1,1,0
+     cfc:	f6 29 75 5b 	setvl   r27,r21,21,1,1,1
+     d00:	36 52 75 5b 	setvl   r27,r21,42,0,0,0
+     d04:	36 53 75 5b 	setvl   r27,r21,42,0,0,1
+     d08:	b6 52 75 5b 	setvl   r27,r21,42,0,1,0
+     d0c:	b6 53 75 5b 	setvl   r27,r21,42,0,1,1
+     d10:	76 52 75 5b 	setvl   r27,r21,42,1,0,0
+     d14:	76 53 75 5b 	setvl   r27,r21,42,1,0,1
+     d18:	f6 52 75 5b 	setvl   r27,r21,42,1,1,0
+     d1c:	f6 53 75 5b 	setvl   r27,r21,42,1,1,1
+     d20:	36 64 75 5b 	setvl   r27,r21,51,0,0,0
+     d24:	36 65 75 5b 	setvl   r27,r21,51,0,0,1
+     d28:	b6 64 75 5b 	setvl   r27,r21,51,0,1,0
+     d2c:	b6 65 75 5b 	setvl   r27,r21,51,0,1,1
+     d30:	76 64 75 5b 	setvl   r27,r21,51,1,0,0
+     d34:	76 65 75 5b 	setvl   r27,r21,51,1,0,1
+     d38:	f6 64 75 5b 	setvl   r27,r21,51,1,1,0
+     d3c:	f6 65 75 5b 	setvl   r27,r21,51,1,1,1
+     d40:	36 7c 75 5b 	setvl   r27,r21,63,0,0,0
+     d44:	36 7d 75 5b 	setvl   r27,r21,63,0,0,1
+     d48:	b6 7c 75 5b 	setvl   r27,r21,63,0,1,0
+     d4c:	b6 7d 75 5b 	setvl   r27,r21,63,0,1,1
+     d50:	76 7c 75 5b 	setvl   r27,r21,63,1,0,0
+     d54:	76 7d 75 5b 	setvl   r27,r21,63,1,0,1
+     d58:	f6 7c 75 5b 	setvl   r27,r21,63,1,1,0
+     d5c:	f6 7d 75 5b 	setvl   r27,r21,63,1,1,1
+     d60:	36 3e 75 5b 	setvl   r27,r21,32,0,0,0
+     d64:	36 3f 75 5b 	setvl   r27,r21,32,0,0,1
+     d68:	b6 3e 75 5b 	setvl   r27,r21,32,0,1,0
+     d6c:	b6 3f 75 5b 	setvl   r27,r21,32,0,1,1
+     d70:	76 3e 75 5b 	setvl   r27,r21,32,1,0,0
+     d74:	76 3f 75 5b 	setvl   r27,r21,32,1,0,1
+     d78:	f6 3e 75 5b 	setvl   r27,r21,32,1,1,0
+     d7c:	f6 3f 75 5b 	setvl   r27,r21,32,1,1,1
+     d80:	36 00 7b 5b 	setvl   r27,r27,1,0,0,0
+     d84:	36 01 7b 5b 	setvl   r27,r27,1,0,0,1
+     d88:	b6 00 7b 5b 	setvl   r27,r27,1,0,1,0
+     d8c:	b6 01 7b 5b 	setvl   r27,r27,1,0,1,1
+     d90:	76 00 7b 5b 	setvl   r27,r27,1,1,0,0
+     d94:	76 01 7b 5b 	setvl   r27,r27,1,1,0,1
+     d98:	f6 00 7b 5b 	setvl   r27,r27,1,1,1,0
+     d9c:	f6 01 7b 5b 	setvl   r27,r27,1,1,1,1
+     da0:	36 28 7b 5b 	setvl   r27,r27,21,0,0,0
+     da4:	36 29 7b 5b 	setvl   r27,r27,21,0,0,1
+     da8:	b6 28 7b 5b 	setvl   r27,r27,21,0,1,0
+     dac:	b6 29 7b 5b 	setvl   r27,r27,21,0,1,1
+     db0:	76 28 7b 5b 	setvl   r27,r27,21,1,0,0
+     db4:	76 29 7b 5b 	setvl   r27,r27,21,1,0,1
+     db8:	f6 28 7b 5b 	setvl   r27,r27,21,1,1,0
+     dbc:	f6 29 7b 5b 	setvl   r27,r27,21,1,1,1
+     dc0:	36 52 7b 5b 	setvl   r27,r27,42,0,0,0
+     dc4:	36 53 7b 5b 	setvl   r27,r27,42,0,0,1
+     dc8:	b6 52 7b 5b 	setvl   r27,r27,42,0,1,0
+     dcc:	b6 53 7b 5b 	setvl   r27,r27,42,0,1,1
+     dd0:	76 52 7b 5b 	setvl   r27,r27,42,1,0,0
+     dd4:	76 53 7b 5b 	setvl   r27,r27,42,1,0,1
+     dd8:	f6 52 7b 5b 	setvl   r27,r27,42,1,1,0
+     ddc:	f6 53 7b 5b 	setvl   r27,r27,42,1,1,1
+     de0:	36 64 7b 5b 	setvl   r27,r27,51,0,0,0
+     de4:	36 65 7b 5b 	setvl   r27,r27,51,0,0,1
+     de8:	b6 64 7b 5b 	setvl   r27,r27,51,0,1,0
+     dec:	b6 65 7b 5b 	setvl   r27,r27,51,0,1,1
+     df0:	76 64 7b 5b 	setvl   r27,r27,51,1,0,0
+     df4:	76 65 7b 5b 	setvl   r27,r27,51,1,0,1
+     df8:	f6 64 7b 5b 	setvl   r27,r27,51,1,1,0
+     dfc:	f6 65 7b 5b 	setvl   r27,r27,51,1,1,1
+     e00:	36 7c 7b 5b 	setvl   r27,r27,63,0,0,0
+     e04:	36 7d 7b 5b 	setvl   r27,r27,63,0,0,1
+     e08:	b6 7c 7b 5b 	setvl   r27,r27,63,0,1,0
+     e0c:	b6 7d 7b 5b 	setvl   r27,r27,63,0,1,1
+     e10:	76 7c 7b 5b 	setvl   r27,r27,63,1,0,0
+     e14:	76 7d 7b 5b 	setvl   r27,r27,63,1,0,1
+     e18:	f6 7c 7b 5b 	setvl   r27,r27,63,1,1,0
+     e1c:	f6 7d 7b 5b 	setvl   r27,r27,63,1,1,1
+     e20:	36 3e 7b 5b 	setvl   r27,r27,32,0,0,0
+     e24:	36 3f 7b 5b 	setvl   r27,r27,32,0,0,1
+     e28:	b6 3e 7b 5b 	setvl   r27,r27,32,0,1,0
+     e2c:	b6 3f 7b 5b 	setvl   r27,r27,32,0,1,1
+     e30:	76 3e 7b 5b 	setvl   r27,r27,32,1,0,0
+     e34:	76 3f 7b 5b 	setvl   r27,r27,32,1,0,1
+     e38:	f6 3e 7b 5b 	setvl   r27,r27,32,1,1,0
+     e3c:	f6 3f 7b 5b 	setvl   r27,r27,32,1,1,1
+     e40:	36 00 7f 5b 	setvl   r27,r31,1,0,0,0
+     e44:	36 01 7f 5b 	setvl   r27,r31,1,0,0,1
+     e48:	b6 00 7f 5b 	setvl   r27,r31,1,0,1,0
+     e4c:	b6 01 7f 5b 	setvl   r27,r31,1,0,1,1
+     e50:	76 00 7f 5b 	setvl   r27,r31,1,1,0,0
+     e54:	76 01 7f 5b 	setvl   r27,r31,1,1,0,1
+     e58:	f6 00 7f 5b 	setvl   r27,r31,1,1,1,0
+     e5c:	f6 01 7f 5b 	setvl   r27,r31,1,1,1,1
+     e60:	36 28 7f 5b 	setvl   r27,r31,21,0,0,0
+     e64:	36 29 7f 5b 	setvl   r27,r31,21,0,0,1
+     e68:	b6 28 7f 5b 	setvl   r27,r31,21,0,1,0
+     e6c:	b6 29 7f 5b 	setvl   r27,r31,21,0,1,1
+     e70:	76 28 7f 5b 	setvl   r27,r31,21,1,0,0
+     e74:	76 29 7f 5b 	setvl   r27,r31,21,1,0,1
+     e78:	f6 28 7f 5b 	setvl   r27,r31,21,1,1,0
+     e7c:	f6 29 7f 5b 	setvl   r27,r31,21,1,1,1
+     e80:	36 52 7f 5b 	setvl   r27,r31,42,0,0,0
+     e84:	36 53 7f 5b 	setvl   r27,r31,42,0,0,1
+     e88:	b6 52 7f 5b 	setvl   r27,r31,42,0,1,0
+     e8c:	b6 53 7f 5b 	setvl   r27,r31,42,0,1,1
+     e90:	76 52 7f 5b 	setvl   r27,r31,42,1,0,0
+     e94:	76 53 7f 5b 	setvl   r27,r31,42,1,0,1
+     e98:	f6 52 7f 5b 	setvl   r27,r31,42,1,1,0
+     e9c:	f6 53 7f 5b 	setvl   r27,r31,42,1,1,1
+     ea0:	36 64 7f 5b 	setvl   r27,r31,51,0,0,0
+     ea4:	36 65 7f 5b 	setvl   r27,r31,51,0,0,1
+     ea8:	b6 64 7f 5b 	setvl   r27,r31,51,0,1,0
+     eac:	b6 65 7f 5b 	setvl   r27,r31,51,0,1,1
+     eb0:	76 64 7f 5b 	setvl   r27,r31,51,1,0,0
+     eb4:	76 65 7f 5b 	setvl   r27,r31,51,1,0,1
+     eb8:	f6 64 7f 5b 	setvl   r27,r31,51,1,1,0
+     ebc:	f6 65 7f 5b 	setvl   r27,r31,51,1,1,1
+     ec0:	36 7c 7f 5b 	setvl   r27,r31,63,0,0,0
+     ec4:	36 7d 7f 5b 	setvl   r27,r31,63,0,0,1
+     ec8:	b6 7c 7f 5b 	setvl   r27,r31,63,0,1,0
+     ecc:	b6 7d 7f 5b 	setvl   r27,r31,63,0,1,1
+     ed0:	76 7c 7f 5b 	setvl   r27,r31,63,1,0,0
+     ed4:	76 7d 7f 5b 	setvl   r27,r31,63,1,0,1
+     ed8:	f6 7c 7f 5b 	setvl   r27,r31,63,1,1,0
+     edc:	f6 7d 7f 5b 	setvl   r27,r31,63,1,1,1
+     ee0:	36 3e 7f 5b 	setvl   r27,r31,32,0,0,0
+     ee4:	36 3f 7f 5b 	setvl   r27,r31,32,0,0,1
+     ee8:	b6 3e 7f 5b 	setvl   r27,r31,32,0,1,0
+     eec:	b6 3f 7f 5b 	setvl   r27,r31,32,0,1,1
+     ef0:	76 3e 7f 5b 	setvl   r27,r31,32,1,0,0
+     ef4:	76 3f 7f 5b 	setvl   r27,r31,32,1,0,1
+     ef8:	f6 3e 7f 5b 	setvl   r27,r31,32,1,1,0
+     efc:	f6 3f 7f 5b 	setvl   r27,r31,32,1,1,1
+     f00:	36 00 e0 5b 	setvl   r31,r0,1,0,0,0
+     f04:	36 01 e0 5b 	setvl   r31,r0,1,0,0,1
+     f08:	b6 00 e0 5b 	setvl   r31,r0,1,0,1,0
+     f0c:	b6 01 e0 5b 	setvl   r31,r0,1,0,1,1
+     f10:	76 00 e0 5b 	setvl   r31,r0,1,1,0,0
+     f14:	76 01 e0 5b 	setvl   r31,r0,1,1,0,1
+     f18:	f6 00 e0 5b 	setvl   r31,r0,1,1,1,0
+     f1c:	f6 01 e0 5b 	setvl   r31,r0,1,1,1,1
+     f20:	36 28 e0 5b 	setvl   r31,r0,21,0,0,0
+     f24:	36 29 e0 5b 	setvl   r31,r0,21,0,0,1
+     f28:	b6 28 e0 5b 	setvl   r31,r0,21,0,1,0
+     f2c:	b6 29 e0 5b 	setvl   r31,r0,21,0,1,1
+     f30:	76 28 e0 5b 	setvl   r31,r0,21,1,0,0
+     f34:	76 29 e0 5b 	setvl   r31,r0,21,1,0,1
+     f38:	f6 28 e0 5b 	setvl   r31,r0,21,1,1,0
+     f3c:	f6 29 e0 5b 	setvl   r31,r0,21,1,1,1
+     f40:	36 52 e0 5b 	setvl   r31,r0,42,0,0,0
+     f44:	36 53 e0 5b 	setvl   r31,r0,42,0,0,1
+     f48:	b6 52 e0 5b 	setvl   r31,r0,42,0,1,0
+     f4c:	b6 53 e0 5b 	setvl   r31,r0,42,0,1,1
+     f50:	76 52 e0 5b 	setvl   r31,r0,42,1,0,0
+     f54:	76 53 e0 5b 	setvl   r31,r0,42,1,0,1
+     f58:	f6 52 e0 5b 	setvl   r31,r0,42,1,1,0
+     f5c:	f6 53 e0 5b 	setvl   r31,r0,42,1,1,1
+     f60:	36 64 e0 5b 	setvl   r31,r0,51,0,0,0
+     f64:	36 65 e0 5b 	setvl   r31,r0,51,0,0,1
+     f68:	b6 64 e0 5b 	setvl   r31,r0,51,0,1,0
+     f6c:	b6 65 e0 5b 	setvl   r31,r0,51,0,1,1
+     f70:	76 64 e0 5b 	setvl   r31,r0,51,1,0,0
+     f74:	76 65 e0 5b 	setvl   r31,r0,51,1,0,1
+     f78:	f6 64 e0 5b 	setvl   r31,r0,51,1,1,0
+     f7c:	f6 65 e0 5b 	setvl   r31,r0,51,1,1,1
+     f80:	36 7c e0 5b 	setvl   r31,r0,63,0,0,0
+     f84:	36 7d e0 5b 	setvl   r31,r0,63,0,0,1
+     f88:	b6 7c e0 5b 	setvl   r31,r0,63,0,1,0
+     f8c:	b6 7d e0 5b 	setvl   r31,r0,63,0,1,1
+     f90:	76 7c e0 5b 	setvl   r31,r0,63,1,0,0
+     f94:	76 7d e0 5b 	setvl   r31,r0,63,1,0,1
+     f98:	f6 7c e0 5b 	setvl   r31,r0,63,1,1,0
+     f9c:	f6 7d e0 5b 	setvl   r31,r0,63,1,1,1
+     fa0:	36 3e e0 5b 	setvl   r31,r0,32,0,0,0
+     fa4:	36 3f e0 5b 	setvl   r31,r0,32,0,0,1
+     fa8:	b6 3e e0 5b 	setvl   r31,r0,32,0,1,0
+     fac:	b6 3f e0 5b 	setvl   r31,r0,32,0,1,1
+     fb0:	76 3e e0 5b 	setvl   r31,r0,32,1,0,0
+     fb4:	76 3f e0 5b 	setvl   r31,r0,32,1,0,1
+     fb8:	f6 3e e0 5b 	setvl   r31,r0,32,1,1,0
+     fbc:	f6 3f e0 5b 	setvl   r31,r0,32,1,1,1
+     fc0:	36 00 ea 5b 	setvl   r31,r10,1,0,0,0
+     fc4:	36 01 ea 5b 	setvl   r31,r10,1,0,0,1
+     fc8:	b6 00 ea 5b 	setvl   r31,r10,1,0,1,0
+     fcc:	b6 01 ea 5b 	setvl   r31,r10,1,0,1,1
+     fd0:	76 00 ea 5b 	setvl   r31,r10,1,1,0,0
+     fd4:	76 01 ea 5b 	setvl   r31,r10,1,1,0,1
+     fd8:	f6 00 ea 5b 	setvl   r31,r10,1,1,1,0
+     fdc:	f6 01 ea 5b 	setvl   r31,r10,1,1,1,1
+     fe0:	36 28 ea 5b 	setvl   r31,r10,21,0,0,0
+     fe4:	36 29 ea 5b 	setvl   r31,r10,21,0,0,1
+     fe8:	b6 28 ea 5b 	setvl   r31,r10,21,0,1,0
+     fec:	b6 29 ea 5b 	setvl   r31,r10,21,0,1,1
+     ff0:	76 28 ea 5b 	setvl   r31,r10,21,1,0,0
+     ff4:	76 29 ea 5b 	setvl   r31,r10,21,1,0,1
+     ff8:	f6 28 ea 5b 	setvl   r31,r10,21,1,1,0
+     ffc:	f6 29 ea 5b 	setvl   r31,r10,21,1,1,1
+    1000:	36 52 ea 5b 	setvl   r31,r10,42,0,0,0
+    1004:	36 53 ea 5b 	setvl   r31,r10,42,0,0,1
+    1008:	b6 52 ea 5b 	setvl   r31,r10,42,0,1,0
+    100c:	b6 53 ea 5b 	setvl   r31,r10,42,0,1,1
+    1010:	76 52 ea 5b 	setvl   r31,r10,42,1,0,0
+    1014:	76 53 ea 5b 	setvl   r31,r10,42,1,0,1
+    1018:	f6 52 ea 5b 	setvl   r31,r10,42,1,1,0
+    101c:	f6 53 ea 5b 	setvl   r31,r10,42,1,1,1
+    1020:	36 64 ea 5b 	setvl   r31,r10,51,0,0,0
+    1024:	36 65 ea 5b 	setvl   r31,r10,51,0,0,1
+    1028:	b6 64 ea 5b 	setvl   r31,r10,51,0,1,0
+    102c:	b6 65 ea 5b 	setvl   r31,r10,51,0,1,1
+    1030:	76 64 ea 5b 	setvl   r31,r10,51,1,0,0
+    1034:	76 65 ea 5b 	setvl   r31,r10,51,1,0,1
+    1038:	f6 64 ea 5b 	setvl   r31,r10,51,1,1,0
+    103c:	f6 65 ea 5b 	setvl   r31,r10,51,1,1,1
+    1040:	36 7c ea 5b 	setvl   r31,r10,63,0,0,0
+    1044:	36 7d ea 5b 	setvl   r31,r10,63,0,0,1
+    1048:	b6 7c ea 5b 	setvl   r31,r10,63,0,1,0
+    104c:	b6 7d ea 5b 	setvl   r31,r10,63,0,1,1
+    1050:	76 7c ea 5b 	setvl   r31,r10,63,1,0,0
+    1054:	76 7d ea 5b 	setvl   r31,r10,63,1,0,1
+    1058:	f6 7c ea 5b 	setvl   r31,r10,63,1,1,0
+    105c:	f6 7d ea 5b 	setvl   r31,r10,63,1,1,1
+    1060:	36 3e ea 5b 	setvl   r31,r10,32,0,0,0
+    1064:	36 3f ea 5b 	setvl   r31,r10,32,0,0,1
+    1068:	b6 3e ea 5b 	setvl   r31,r10,32,0,1,0
+    106c:	b6 3f ea 5b 	setvl   r31,r10,32,0,1,1
+    1070:	76 3e ea 5b 	setvl   r31,r10,32,1,0,0
+    1074:	76 3f ea 5b 	setvl   r31,r10,32,1,0,1
+    1078:	f6 3e ea 5b 	setvl   r31,r10,32,1,1,0
+    107c:	f6 3f ea 5b 	setvl   r31,r10,32,1,1,1
+    1080:	36 00 f5 5b 	setvl   r31,r21,1,0,0,0
+    1084:	36 01 f5 5b 	setvl   r31,r21,1,0,0,1
+    1088:	b6 00 f5 5b 	setvl   r31,r21,1,0,1,0
+    108c:	b6 01 f5 5b 	setvl   r31,r21,1,0,1,1
+    1090:	76 00 f5 5b 	setvl   r31,r21,1,1,0,0
+    1094:	76 01 f5 5b 	setvl   r31,r21,1,1,0,1
+    1098:	f6 00 f5 5b 	setvl   r31,r21,1,1,1,0
+    109c:	f6 01 f5 5b 	setvl   r31,r21,1,1,1,1
+    10a0:	36 28 f5 5b 	setvl   r31,r21,21,0,0,0
+    10a4:	36 29 f5 5b 	setvl   r31,r21,21,0,0,1
+    10a8:	b6 28 f5 5b 	setvl   r31,r21,21,0,1,0
+    10ac:	b6 29 f5 5b 	setvl   r31,r21,21,0,1,1
+    10b0:	76 28 f5 5b 	setvl   r31,r21,21,1,0,0
+    10b4:	76 29 f5 5b 	setvl   r31,r21,21,1,0,1
+    10b8:	f6 28 f5 5b 	setvl   r31,r21,21,1,1,0
+    10bc:	f6 29 f5 5b 	setvl   r31,r21,21,1,1,1
+    10c0:	36 52 f5 5b 	setvl   r31,r21,42,0,0,0
+    10c4:	36 53 f5 5b 	setvl   r31,r21,42,0,0,1
+    10c8:	b6 52 f5 5b 	setvl   r31,r21,42,0,1,0
+    10cc:	b6 53 f5 5b 	setvl   r31,r21,42,0,1,1
+    10d0:	76 52 f5 5b 	setvl   r31,r21,42,1,0,0
+    10d4:	76 53 f5 5b 	setvl   r31,r21,42,1,0,1
+    10d8:	f6 52 f5 5b 	setvl   r31,r21,42,1,1,0
+    10dc:	f6 53 f5 5b 	setvl   r31,r21,42,1,1,1
+    10e0:	36 64 f5 5b 	setvl   r31,r21,51,0,0,0
+    10e4:	36 65 f5 5b 	setvl   r31,r21,51,0,0,1
+    10e8:	b6 64 f5 5b 	setvl   r31,r21,51,0,1,0
+    10ec:	b6 65 f5 5b 	setvl   r31,r21,51,0,1,1
+    10f0:	76 64 f5 5b 	setvl   r31,r21,51,1,0,0
+    10f4:	76 65 f5 5b 	setvl   r31,r21,51,1,0,1
+    10f8:	f6 64 f5 5b 	setvl   r31,r21,51,1,1,0
+    10fc:	f6 65 f5 5b 	setvl   r31,r21,51,1,1,1
+    1100:	36 7c f5 5b 	setvl   r31,r21,63,0,0,0
+    1104:	36 7d f5 5b 	setvl   r31,r21,63,0,0,1
+    1108:	b6 7c f5 5b 	setvl   r31,r21,63,0,1,0
+    110c:	b6 7d f5 5b 	setvl   r31,r21,63,0,1,1
+    1110:	76 7c f5 5b 	setvl   r31,r21,63,1,0,0
+    1114:	76 7d f5 5b 	setvl   r31,r21,63,1,0,1
+    1118:	f6 7c f5 5b 	setvl   r31,r21,63,1,1,0
+    111c:	f6 7d f5 5b 	setvl   r31,r21,63,1,1,1
+    1120:	36 3e f5 5b 	setvl   r31,r21,32,0,0,0
+    1124:	36 3f f5 5b 	setvl   r31,r21,32,0,0,1
+    1128:	b6 3e f5 5b 	setvl   r31,r21,32,0,1,0
+    112c:	b6 3f f5 5b 	setvl   r31,r21,32,0,1,1
+    1130:	76 3e f5 5b 	setvl   r31,r21,32,1,0,0
+    1134:	76 3f f5 5b 	setvl   r31,r21,32,1,0,1
+    1138:	f6 3e f5 5b 	setvl   r31,r21,32,1,1,0
+    113c:	f6 3f f5 5b 	setvl   r31,r21,32,1,1,1
+    1140:	36 00 fb 5b 	setvl   r31,r27,1,0,0,0
+    1144:	36 01 fb 5b 	setvl   r31,r27,1,0,0,1
+    1148:	b6 00 fb 5b 	setvl   r31,r27,1,0,1,0
+    114c:	b6 01 fb 5b 	setvl   r31,r27,1,0,1,1
+    1150:	76 00 fb 5b 	setvl   r31,r27,1,1,0,0
+    1154:	76 01 fb 5b 	setvl   r31,r27,1,1,0,1
+    1158:	f6 00 fb 5b 	setvl   r31,r27,1,1,1,0
+    115c:	f6 01 fb 5b 	setvl   r31,r27,1,1,1,1
+    1160:	36 28 fb 5b 	setvl   r31,r27,21,0,0,0
+    1164:	36 29 fb 5b 	setvl   r31,r27,21,0,0,1
+    1168:	b6 28 fb 5b 	setvl   r31,r27,21,0,1,0
+    116c:	b6 29 fb 5b 	setvl   r31,r27,21,0,1,1
+    1170:	76 28 fb 5b 	setvl   r31,r27,21,1,0,0
+    1174:	76 29 fb 5b 	setvl   r31,r27,21,1,0,1
+    1178:	f6 28 fb 5b 	setvl   r31,r27,21,1,1,0
+    117c:	f6 29 fb 5b 	setvl   r31,r27,21,1,1,1
+    1180:	36 52 fb 5b 	setvl   r31,r27,42,0,0,0
+    1184:	36 53 fb 5b 	setvl   r31,r27,42,0,0,1
+    1188:	b6 52 fb 5b 	setvl   r31,r27,42,0,1,0
+    118c:	b6 53 fb 5b 	setvl   r31,r27,42,0,1,1
+    1190:	76 52 fb 5b 	setvl   r31,r27,42,1,0,0
+    1194:	76 53 fb 5b 	setvl   r31,r27,42,1,0,1
+    1198:	f6 52 fb 5b 	setvl   r31,r27,42,1,1,0
+    119c:	f6 53 fb 5b 	setvl   r31,r27,42,1,1,1
+    11a0:	36 64 fb 5b 	setvl   r31,r27,51,0,0,0
+    11a4:	36 65 fb 5b 	setvl   r31,r27,51,0,0,1
+    11a8:	b6 64 fb 5b 	setvl   r31,r27,51,0,1,0
+    11ac:	b6 65 fb 5b 	setvl   r31,r27,51,0,1,1
+    11b0:	76 64 fb 5b 	setvl   r31,r27,51,1,0,0
+    11b4:	76 65 fb 5b 	setvl   r31,r27,51,1,0,1
+    11b8:	f6 64 fb 5b 	setvl   r31,r27,51,1,1,0
+    11bc:	f6 65 fb 5b 	setvl   r31,r27,51,1,1,1
+    11c0:	36 7c fb 5b 	setvl   r31,r27,63,0,0,0
+    11c4:	36 7d fb 5b 	setvl   r31,r27,63,0,0,1
+    11c8:	b6 7c fb 5b 	setvl   r31,r27,63,0,1,0
+    11cc:	b6 7d fb 5b 	setvl   r31,r27,63,0,1,1
+    11d0:	76 7c fb 5b 	setvl   r31,r27,63,1,0,0
+    11d4:	76 7d fb 5b 	setvl   r31,r27,63,1,0,1
+    11d8:	f6 7c fb 5b 	setvl   r31,r27,63,1,1,0
+    11dc:	f6 7d fb 5b 	setvl   r31,r27,63,1,1,1
+    11e0:	36 3e fb 5b 	setvl   r31,r27,32,0,0,0
+    11e4:	36 3f fb 5b 	setvl   r31,r27,32,0,0,1
+    11e8:	b6 3e fb 5b 	setvl   r31,r27,32,0,1,0
+    11ec:	b6 3f fb 5b 	setvl   r31,r27,32,0,1,1
+    11f0:	76 3e fb 5b 	setvl   r31,r27,32,1,0,0
+    11f4:	76 3f fb 5b 	setvl   r31,r27,32,1,0,1
+    11f8:	f6 3e fb 5b 	setvl   r31,r27,32,1,1,0
+    11fc:	f6 3f fb 5b 	setvl   r31,r27,32,1,1,1
+    1200:	36 00 ff 5b 	setvl   r31,r31,1,0,0,0
+    1204:	36 01 ff 5b 	setvl   r31,r31,1,0,0,1
+    1208:	b6 00 ff 5b 	setvl   r31,r31,1,0,1,0
+    120c:	b6 01 ff 5b 	setvl   r31,r31,1,0,1,1
+    1210:	76 00 ff 5b 	setvl   r31,r31,1,1,0,0
+    1214:	76 01 ff 5b 	setvl   r31,r31,1,1,0,1
+    1218:	f6 00 ff 5b 	setvl   r31,r31,1,1,1,0
+    121c:	f6 01 ff 5b 	setvl   r31,r31,1,1,1,1
+    1220:	36 28 ff 5b 	setvl   r31,r31,21,0,0,0
+    1224:	36 29 ff 5b 	setvl   r31,r31,21,0,0,1
+    1228:	b6 28 ff 5b 	setvl   r31,r31,21,0,1,0
+    122c:	b6 29 ff 5b 	setvl   r31,r31,21,0,1,1
+    1230:	76 28 ff 5b 	setvl   r31,r31,21,1,0,0
+    1234:	76 29 ff 5b 	setvl   r31,r31,21,1,0,1
+    1238:	f6 28 ff 5b 	setvl   r31,r31,21,1,1,0
+    123c:	f6 29 ff 5b 	setvl   r31,r31,21,1,1,1
+    1240:	36 52 ff 5b 	setvl   r31,r31,42,0,0,0
+    1244:	36 53 ff 5b 	setvl   r31,r31,42,0,0,1
+    1248:	b6 52 ff 5b 	setvl   r31,r31,42,0,1,0
+    124c:	b6 53 ff 5b 	setvl   r31,r31,42,0,1,1
+    1250:	76 52 ff 5b 	setvl   r31,r31,42,1,0,0
+    1254:	76 53 ff 5b 	setvl   r31,r31,42,1,0,1
+    1258:	f6 52 ff 5b 	setvl   r31,r31,42,1,1,0
+    125c:	f6 53 ff 5b 	setvl   r31,r31,42,1,1,1
+    1260:	36 64 ff 5b 	setvl   r31,r31,51,0,0,0
+    1264:	36 65 ff 5b 	setvl   r31,r31,51,0,0,1
+    1268:	b6 64 ff 5b 	setvl   r31,r31,51,0,1,0
+    126c:	b6 65 ff 5b 	setvl   r31,r31,51,0,1,1
+    1270:	76 64 ff 5b 	setvl   r31,r31,51,1,0,0
+    1274:	76 65 ff 5b 	setvl   r31,r31,51,1,0,1
+    1278:	f6 64 ff 5b 	setvl   r31,r31,51,1,1,0
+    127c:	f6 65 ff 5b 	setvl   r31,r31,51,1,1,1
+    1280:	36 7c ff 5b 	setvl   r31,r31,63,0,0,0
+    1284:	36 7d ff 5b 	setvl   r31,r31,63,0,0,1
+    1288:	b6 7c ff 5b 	setvl   r31,r31,63,0,1,0
+    128c:	b6 7d ff 5b 	setvl   r31,r31,63,0,1,1
+    1290:	76 7c ff 5b 	setvl   r31,r31,63,1,0,0
+    1294:	76 7d ff 5b 	setvl   r31,r31,63,1,0,1
+    1298:	f6 7c ff 5b 	setvl   r31,r31,63,1,1,0
+    129c:	f6 7d ff 5b 	setvl   r31,r31,63,1,1,1
+    12a0:	36 3e ff 5b 	setvl   r31,r31,32,0,0,0
+    12a4:	36 3f ff 5b 	setvl   r31,r31,32,0,0,1
+    12a8:	b6 3e ff 5b 	setvl   r31,r31,32,0,1,0
+    12ac:	b6 3f ff 5b 	setvl   r31,r31,32,0,1,1
+    12b0:	76 3e ff 5b 	setvl   r31,r31,32,1,0,0
+    12b4:	76 3f ff 5b 	setvl   r31,r31,32,1,0,1
+    12b8:	f6 3e ff 5b 	setvl   r31,r31,32,1,1,0
+    12bc:	f6 3f ff 5b 	setvl   r31,r31,32,1,1,1
+    12c0:	37 00 00 58 	setvl\.  r0,r0,1,0,0,0
+    12c4:	37 01 00 58 	setvl\.  r0,r0,1,0,0,1
+    12c8:	b7 00 00 58 	setvl\.  r0,r0,1,0,1,0
+    12cc:	b7 01 00 58 	setvl\.  r0,r0,1,0,1,1
+    12d0:	77 00 00 58 	setvl\.  r0,r0,1,1,0,0
+    12d4:	77 01 00 58 	setvl\.  r0,r0,1,1,0,1
+    12d8:	f7 00 00 58 	setvl\.  r0,r0,1,1,1,0
+    12dc:	f7 01 00 58 	setvl\.  r0,r0,1,1,1,1
+    12e0:	37 28 00 58 	setvl\.  r0,r0,21,0,0,0
+    12e4:	37 29 00 58 	setvl\.  r0,r0,21,0,0,1
+    12e8:	b7 28 00 58 	setvl\.  r0,r0,21,0,1,0
+    12ec:	b7 29 00 58 	setvl\.  r0,r0,21,0,1,1
+    12f0:	77 28 00 58 	setvl\.  r0,r0,21,1,0,0
+    12f4:	77 29 00 58 	setvl\.  r0,r0,21,1,0,1
+    12f8:	f7 28 00 58 	setvl\.  r0,r0,21,1,1,0
+    12fc:	f7 29 00 58 	setvl\.  r0,r0,21,1,1,1
+    1300:	37 52 00 58 	setvl\.  r0,r0,42,0,0,0
+    1304:	37 53 00 58 	setvl\.  r0,r0,42,0,0,1
+    1308:	b7 52 00 58 	setvl\.  r0,r0,42,0,1,0
+    130c:	b7 53 00 58 	setvl\.  r0,r0,42,0,1,1
+    1310:	77 52 00 58 	setvl\.  r0,r0,42,1,0,0
+    1314:	77 53 00 58 	setvl\.  r0,r0,42,1,0,1
+    1318:	f7 52 00 58 	setvl\.  r0,r0,42,1,1,0
+    131c:	f7 53 00 58 	setvl\.  r0,r0,42,1,1,1
+    1320:	37 64 00 58 	setvl\.  r0,r0,51,0,0,0
+    1324:	37 65 00 58 	setvl\.  r0,r0,51,0,0,1
+    1328:	b7 64 00 58 	setvl\.  r0,r0,51,0,1,0
+    132c:	b7 65 00 58 	setvl\.  r0,r0,51,0,1,1
+    1330:	77 64 00 58 	setvl\.  r0,r0,51,1,0,0
+    1334:	77 65 00 58 	setvl\.  r0,r0,51,1,0,1
+    1338:	f7 64 00 58 	setvl\.  r0,r0,51,1,1,0
+    133c:	f7 65 00 58 	setvl\.  r0,r0,51,1,1,1
+    1340:	37 7c 00 58 	setvl\.  r0,r0,63,0,0,0
+    1344:	37 7d 00 58 	setvl\.  r0,r0,63,0,0,1
+    1348:	b7 7c 00 58 	setvl\.  r0,r0,63,0,1,0
+    134c:	b7 7d 00 58 	setvl\.  r0,r0,63,0,1,1
+    1350:	77 7c 00 58 	setvl\.  r0,r0,63,1,0,0
+    1354:	77 7d 00 58 	setvl\.  r0,r0,63,1,0,1
+    1358:	f7 7c 00 58 	setvl\.  r0,r0,63,1,1,0
+    135c:	f7 7d 00 58 	setvl\.  r0,r0,63,1,1,1
+    1360:	37 3e 00 58 	setvl\.  r0,r0,32,0,0,0
+    1364:	37 3f 00 58 	setvl\.  r0,r0,32,0,0,1
+    1368:	b7 3e 00 58 	setvl\.  r0,r0,32,0,1,0
+    136c:	b7 3f 00 58 	setvl\.  r0,r0,32,0,1,1
+    1370:	77 3e 00 58 	setvl\.  r0,r0,32,1,0,0
+    1374:	77 3f 00 58 	setvl\.  r0,r0,32,1,0,1
+    1378:	f7 3e 00 58 	setvl\.  r0,r0,32,1,1,0
+    137c:	f7 3f 00 58 	setvl\.  r0,r0,32,1,1,1
+    1380:	37 00 0a 58 	setvl\.  r0,r10,1,0,0,0
+    1384:	37 01 0a 58 	setvl\.  r0,r10,1,0,0,1
+    1388:	b7 00 0a 58 	setvl\.  r0,r10,1,0,1,0
+    138c:	b7 01 0a 58 	setvl\.  r0,r10,1,0,1,1
+    1390:	77 00 0a 58 	setvl\.  r0,r10,1,1,0,0
+    1394:	77 01 0a 58 	setvl\.  r0,r10,1,1,0,1
+    1398:	f7 00 0a 58 	setvl\.  r0,r10,1,1,1,0
+    139c:	f7 01 0a 58 	setvl\.  r0,r10,1,1,1,1
+    13a0:	37 28 0a 58 	setvl\.  r0,r10,21,0,0,0
+    13a4:	37 29 0a 58 	setvl\.  r0,r10,21,0,0,1
+    13a8:	b7 28 0a 58 	setvl\.  r0,r10,21,0,1,0
+    13ac:	b7 29 0a 58 	setvl\.  r0,r10,21,0,1,1
+    13b0:	77 28 0a 58 	setvl\.  r0,r10,21,1,0,0
+    13b4:	77 29 0a 58 	setvl\.  r0,r10,21,1,0,1
+    13b8:	f7 28 0a 58 	setvl\.  r0,r10,21,1,1,0
+    13bc:	f7 29 0a 58 	setvl\.  r0,r10,21,1,1,1
+    13c0:	37 52 0a 58 	setvl\.  r0,r10,42,0,0,0
+    13c4:	37 53 0a 58 	setvl\.  r0,r10,42,0,0,1
+    13c8:	b7 52 0a 58 	setvl\.  r0,r10,42,0,1,0
+    13cc:	b7 53 0a 58 	setvl\.  r0,r10,42,0,1,1
+    13d0:	77 52 0a 58 	setvl\.  r0,r10,42,1,0,0
+    13d4:	77 53 0a 58 	setvl\.  r0,r10,42,1,0,1
+    13d8:	f7 52 0a 58 	setvl\.  r0,r10,42,1,1,0
+    13dc:	f7 53 0a 58 	setvl\.  r0,r10,42,1,1,1
+    13e0:	37 64 0a 58 	setvl\.  r0,r10,51,0,0,0
+    13e4:	37 65 0a 58 	setvl\.  r0,r10,51,0,0,1
+    13e8:	b7 64 0a 58 	setvl\.  r0,r10,51,0,1,0
+    13ec:	b7 65 0a 58 	setvl\.  r0,r10,51,0,1,1
+    13f0:	77 64 0a 58 	setvl\.  r0,r10,51,1,0,0
+    13f4:	77 65 0a 58 	setvl\.  r0,r10,51,1,0,1
+    13f8:	f7 64 0a 58 	setvl\.  r0,r10,51,1,1,0
+    13fc:	f7 65 0a 58 	setvl\.  r0,r10,51,1,1,1
+    1400:	37 7c 0a 58 	setvl\.  r0,r10,63,0,0,0
+    1404:	37 7d 0a 58 	setvl\.  r0,r10,63,0,0,1
+    1408:	b7 7c 0a 58 	setvl\.  r0,r10,63,0,1,0
+    140c:	b7 7d 0a 58 	setvl\.  r0,r10,63,0,1,1
+    1410:	77 7c 0a 58 	setvl\.  r0,r10,63,1,0,0
+    1414:	77 7d 0a 58 	setvl\.  r0,r10,63,1,0,1
+    1418:	f7 7c 0a 58 	setvl\.  r0,r10,63,1,1,0
+    141c:	f7 7d 0a 58 	setvl\.  r0,r10,63,1,1,1
+    1420:	37 3e 0a 58 	setvl\.  r0,r10,32,0,0,0
+    1424:	37 3f 0a 58 	setvl\.  r0,r10,32,0,0,1
+    1428:	b7 3e 0a 58 	setvl\.  r0,r10,32,0,1,0
+    142c:	b7 3f 0a 58 	setvl\.  r0,r10,32,0,1,1
+    1430:	77 3e 0a 58 	setvl\.  r0,r10,32,1,0,0
+    1434:	77 3f 0a 58 	setvl\.  r0,r10,32,1,0,1
+    1438:	f7 3e 0a 58 	setvl\.  r0,r10,32,1,1,0
+    143c:	f7 3f 0a 58 	setvl\.  r0,r10,32,1,1,1
+    1440:	37 00 15 58 	setvl\.  r0,r21,1,0,0,0
+    1444:	37 01 15 58 	setvl\.  r0,r21,1,0,0,1
+    1448:	b7 00 15 58 	setvl\.  r0,r21,1,0,1,0
+    144c:	b7 01 15 58 	setvl\.  r0,r21,1,0,1,1
+    1450:	77 00 15 58 	setvl\.  r0,r21,1,1,0,0
+    1454:	77 01 15 58 	setvl\.  r0,r21,1,1,0,1
+    1458:	f7 00 15 58 	setvl\.  r0,r21,1,1,1,0
+    145c:	f7 01 15 58 	setvl\.  r0,r21,1,1,1,1
+    1460:	37 28 15 58 	setvl\.  r0,r21,21,0,0,0
+    1464:	37 29 15 58 	setvl\.  r0,r21,21,0,0,1
+    1468:	b7 28 15 58 	setvl\.  r0,r21,21,0,1,0
+    146c:	b7 29 15 58 	setvl\.  r0,r21,21,0,1,1
+    1470:	77 28 15 58 	setvl\.  r0,r21,21,1,0,0
+    1474:	77 29 15 58 	setvl\.  r0,r21,21,1,0,1
+    1478:	f7 28 15 58 	setvl\.  r0,r21,21,1,1,0
+    147c:	f7 29 15 58 	setvl\.  r0,r21,21,1,1,1
+    1480:	37 52 15 58 	setvl\.  r0,r21,42,0,0,0
+    1484:	37 53 15 58 	setvl\.  r0,r21,42,0,0,1
+    1488:	b7 52 15 58 	setvl\.  r0,r21,42,0,1,0
+    148c:	b7 53 15 58 	setvl\.  r0,r21,42,0,1,1
+    1490:	77 52 15 58 	setvl\.  r0,r21,42,1,0,0
+    1494:	77 53 15 58 	setvl\.  r0,r21,42,1,0,1
+    1498:	f7 52 15 58 	setvl\.  r0,r21,42,1,1,0
+    149c:	f7 53 15 58 	setvl\.  r0,r21,42,1,1,1
+    14a0:	37 64 15 58 	setvl\.  r0,r21,51,0,0,0
+    14a4:	37 65 15 58 	setvl\.  r0,r21,51,0,0,1
+    14a8:	b7 64 15 58 	setvl\.  r0,r21,51,0,1,0
+    14ac:	b7 65 15 58 	setvl\.  r0,r21,51,0,1,1
+    14b0:	77 64 15 58 	setvl\.  r0,r21,51,1,0,0
+    14b4:	77 65 15 58 	setvl\.  r0,r21,51,1,0,1
+    14b8:	f7 64 15 58 	setvl\.  r0,r21,51,1,1,0
+    14bc:	f7 65 15 58 	setvl\.  r0,r21,51,1,1,1
+    14c0:	37 7c 15 58 	setvl\.  r0,r21,63,0,0,0
+    14c4:	37 7d 15 58 	setvl\.  r0,r21,63,0,0,1
+    14c8:	b7 7c 15 58 	setvl\.  r0,r21,63,0,1,0
+    14cc:	b7 7d 15 58 	setvl\.  r0,r21,63,0,1,1
+    14d0:	77 7c 15 58 	setvl\.  r0,r21,63,1,0,0
+    14d4:	77 7d 15 58 	setvl\.  r0,r21,63,1,0,1
+    14d8:	f7 7c 15 58 	setvl\.  r0,r21,63,1,1,0
+    14dc:	f7 7d 15 58 	setvl\.  r0,r21,63,1,1,1
+    14e0:	37 3e 15 58 	setvl\.  r0,r21,32,0,0,0
+    14e4:	37 3f 15 58 	setvl\.  r0,r21,32,0,0,1
+    14e8:	b7 3e 15 58 	setvl\.  r0,r21,32,0,1,0
+    14ec:	b7 3f 15 58 	setvl\.  r0,r21,32,0,1,1
+    14f0:	77 3e 15 58 	setvl\.  r0,r21,32,1,0,0
+    14f4:	77 3f 15 58 	setvl\.  r0,r21,32,1,0,1
+    14f8:	f7 3e 15 58 	setvl\.  r0,r21,32,1,1,0
+    14fc:	f7 3f 15 58 	setvl\.  r0,r21,32,1,1,1
+    1500:	37 00 1b 58 	setvl\.  r0,r27,1,0,0,0
+    1504:	37 01 1b 58 	setvl\.  r0,r27,1,0,0,1
+    1508:	b7 00 1b 58 	setvl\.  r0,r27,1,0,1,0
+    150c:	b7 01 1b 58 	setvl\.  r0,r27,1,0,1,1
+    1510:	77 00 1b 58 	setvl\.  r0,r27,1,1,0,0
+    1514:	77 01 1b 58 	setvl\.  r0,r27,1,1,0,1
+    1518:	f7 00 1b 58 	setvl\.  r0,r27,1,1,1,0
+    151c:	f7 01 1b 58 	setvl\.  r0,r27,1,1,1,1
+    1520:	37 28 1b 58 	setvl\.  r0,r27,21,0,0,0
+    1524:	37 29 1b 58 	setvl\.  r0,r27,21,0,0,1
+    1528:	b7 28 1b 58 	setvl\.  r0,r27,21,0,1,0
+    152c:	b7 29 1b 58 	setvl\.  r0,r27,21,0,1,1
+    1530:	77 28 1b 58 	setvl\.  r0,r27,21,1,0,0
+    1534:	77 29 1b 58 	setvl\.  r0,r27,21,1,0,1
+    1538:	f7 28 1b 58 	setvl\.  r0,r27,21,1,1,0
+    153c:	f7 29 1b 58 	setvl\.  r0,r27,21,1,1,1
+    1540:	37 52 1b 58 	setvl\.  r0,r27,42,0,0,0
+    1544:	37 53 1b 58 	setvl\.  r0,r27,42,0,0,1
+    1548:	b7 52 1b 58 	setvl\.  r0,r27,42,0,1,0
+    154c:	b7 53 1b 58 	setvl\.  r0,r27,42,0,1,1
+    1550:	77 52 1b 58 	setvl\.  r0,r27,42,1,0,0
+    1554:	77 53 1b 58 	setvl\.  r0,r27,42,1,0,1
+    1558:	f7 52 1b 58 	setvl\.  r0,r27,42,1,1,0
+    155c:	f7 53 1b 58 	setvl\.  r0,r27,42,1,1,1
+    1560:	37 64 1b 58 	setvl\.  r0,r27,51,0,0,0
+    1564:	37 65 1b 58 	setvl\.  r0,r27,51,0,0,1
+    1568:	b7 64 1b 58 	setvl\.  r0,r27,51,0,1,0
+    156c:	b7 65 1b 58 	setvl\.  r0,r27,51,0,1,1
+    1570:	77 64 1b 58 	setvl\.  r0,r27,51,1,0,0
+    1574:	77 65 1b 58 	setvl\.  r0,r27,51,1,0,1
+    1578:	f7 64 1b 58 	setvl\.  r0,r27,51,1,1,0
+    157c:	f7 65 1b 58 	setvl\.  r0,r27,51,1,1,1
+    1580:	37 7c 1b 58 	setvl\.  r0,r27,63,0,0,0
+    1584:	37 7d 1b 58 	setvl\.  r0,r27,63,0,0,1
+    1588:	b7 7c 1b 58 	setvl\.  r0,r27,63,0,1,0
+    158c:	b7 7d 1b 58 	setvl\.  r0,r27,63,0,1,1
+    1590:	77 7c 1b 58 	setvl\.  r0,r27,63,1,0,0
+    1594:	77 7d 1b 58 	setvl\.  r0,r27,63,1,0,1
+    1598:	f7 7c 1b 58 	setvl\.  r0,r27,63,1,1,0
+    159c:	f7 7d 1b 58 	setvl\.  r0,r27,63,1,1,1
+    15a0:	37 3e 1b 58 	setvl\.  r0,r27,32,0,0,0
+    15a4:	37 3f 1b 58 	setvl\.  r0,r27,32,0,0,1
+    15a8:	b7 3e 1b 58 	setvl\.  r0,r27,32,0,1,0
+    15ac:	b7 3f 1b 58 	setvl\.  r0,r27,32,0,1,1
+    15b0:	77 3e 1b 58 	setvl\.  r0,r27,32,1,0,0
+    15b4:	77 3f 1b 58 	setvl\.  r0,r27,32,1,0,1
+    15b8:	f7 3e 1b 58 	setvl\.  r0,r27,32,1,1,0
+    15bc:	f7 3f 1b 58 	setvl\.  r0,r27,32,1,1,1
+    15c0:	37 00 1f 58 	setvl\.  r0,r31,1,0,0,0
+    15c4:	37 01 1f 58 	setvl\.  r0,r31,1,0,0,1
+    15c8:	b7 00 1f 58 	setvl\.  r0,r31,1,0,1,0
+    15cc:	b7 01 1f 58 	setvl\.  r0,r31,1,0,1,1
+    15d0:	77 00 1f 58 	setvl\.  r0,r31,1,1,0,0
+    15d4:	77 01 1f 58 	setvl\.  r0,r31,1,1,0,1
+    15d8:	f7 00 1f 58 	setvl\.  r0,r31,1,1,1,0
+    15dc:	f7 01 1f 58 	setvl\.  r0,r31,1,1,1,1
+    15e0:	37 28 1f 58 	setvl\.  r0,r31,21,0,0,0
+    15e4:	37 29 1f 58 	setvl\.  r0,r31,21,0,0,1
+    15e8:	b7 28 1f 58 	setvl\.  r0,r31,21,0,1,0
+    15ec:	b7 29 1f 58 	setvl\.  r0,r31,21,0,1,1
+    15f0:	77 28 1f 58 	setvl\.  r0,r31,21,1,0,0
+    15f4:	77 29 1f 58 	setvl\.  r0,r31,21,1,0,1
+    15f8:	f7 28 1f 58 	setvl\.  r0,r31,21,1,1,0
+    15fc:	f7 29 1f 58 	setvl\.  r0,r31,21,1,1,1
+    1600:	37 52 1f 58 	setvl\.  r0,r31,42,0,0,0
+    1604:	37 53 1f 58 	setvl\.  r0,r31,42,0,0,1
+    1608:	b7 52 1f 58 	setvl\.  r0,r31,42,0,1,0
+    160c:	b7 53 1f 58 	setvl\.  r0,r31,42,0,1,1
+    1610:	77 52 1f 58 	setvl\.  r0,r31,42,1,0,0
+    1614:	77 53 1f 58 	setvl\.  r0,r31,42,1,0,1
+    1618:	f7 52 1f 58 	setvl\.  r0,r31,42,1,1,0
+    161c:	f7 53 1f 58 	setvl\.  r0,r31,42,1,1,1
+    1620:	37 64 1f 58 	setvl\.  r0,r31,51,0,0,0
+    1624:	37 65 1f 58 	setvl\.  r0,r31,51,0,0,1
+    1628:	b7 64 1f 58 	setvl\.  r0,r31,51,0,1,0
+    162c:	b7 65 1f 58 	setvl\.  r0,r31,51,0,1,1
+    1630:	77 64 1f 58 	setvl\.  r0,r31,51,1,0,0
+    1634:	77 65 1f 58 	setvl\.  r0,r31,51,1,0,1
+    1638:	f7 64 1f 58 	setvl\.  r0,r31,51,1,1,0
+    163c:	f7 65 1f 58 	setvl\.  r0,r31,51,1,1,1
+    1640:	37 7c 1f 58 	setvl\.  r0,r31,63,0,0,0
+    1644:	37 7d 1f 58 	setvl\.  r0,r31,63,0,0,1
+    1648:	b7 7c 1f 58 	setvl\.  r0,r31,63,0,1,0
+    164c:	b7 7d 1f 58 	setvl\.  r0,r31,63,0,1,1
+    1650:	77 7c 1f 58 	setvl\.  r0,r31,63,1,0,0
+    1654:	77 7d 1f 58 	setvl\.  r0,r31,63,1,0,1
+    1658:	f7 7c 1f 58 	setvl\.  r0,r31,63,1,1,0
+    165c:	f7 7d 1f 58 	setvl\.  r0,r31,63,1,1,1
+    1660:	37 3e 1f 58 	setvl\.  r0,r31,32,0,0,0
+    1664:	37 3f 1f 58 	setvl\.  r0,r31,32,0,0,1
+    1668:	b7 3e 1f 58 	setvl\.  r0,r31,32,0,1,0
+    166c:	b7 3f 1f 58 	setvl\.  r0,r31,32,0,1,1
+    1670:	77 3e 1f 58 	setvl\.  r0,r31,32,1,0,0
+    1674:	77 3f 1f 58 	setvl\.  r0,r31,32,1,0,1
+    1678:	f7 3e 1f 58 	setvl\.  r0,r31,32,1,1,0
+    167c:	f7 3f 1f 58 	setvl\.  r0,r31,32,1,1,1
+    1680:	37 00 40 59 	setvl\.  r10,r0,1,0,0,0
+    1684:	37 01 40 59 	setvl\.  r10,r0,1,0,0,1
+    1688:	b7 00 40 59 	setvl\.  r10,r0,1,0,1,0
+    168c:	b7 01 40 59 	setvl\.  r10,r0,1,0,1,1
+    1690:	77 00 40 59 	setvl\.  r10,r0,1,1,0,0
+    1694:	77 01 40 59 	setvl\.  r10,r0,1,1,0,1
+    1698:	f7 00 40 59 	setvl\.  r10,r0,1,1,1,0
+    169c:	f7 01 40 59 	setvl\.  r10,r0,1,1,1,1
+    16a0:	37 28 40 59 	setvl\.  r10,r0,21,0,0,0
+    16a4:	37 29 40 59 	setvl\.  r10,r0,21,0,0,1
+    16a8:	b7 28 40 59 	setvl\.  r10,r0,21,0,1,0
+    16ac:	b7 29 40 59 	setvl\.  r10,r0,21,0,1,1
+    16b0:	77 28 40 59 	setvl\.  r10,r0,21,1,0,0
+    16b4:	77 29 40 59 	setvl\.  r10,r0,21,1,0,1
+    16b8:	f7 28 40 59 	setvl\.  r10,r0,21,1,1,0
+    16bc:	f7 29 40 59 	setvl\.  r10,r0,21,1,1,1
+    16c0:	37 52 40 59 	setvl\.  r10,r0,42,0,0,0
+    16c4:	37 53 40 59 	setvl\.  r10,r0,42,0,0,1
+    16c8:	b7 52 40 59 	setvl\.  r10,r0,42,0,1,0
+    16cc:	b7 53 40 59 	setvl\.  r10,r0,42,0,1,1
+    16d0:	77 52 40 59 	setvl\.  r10,r0,42,1,0,0
+    16d4:	77 53 40 59 	setvl\.  r10,r0,42,1,0,1
+    16d8:	f7 52 40 59 	setvl\.  r10,r0,42,1,1,0
+    16dc:	f7 53 40 59 	setvl\.  r10,r0,42,1,1,1
+    16e0:	37 64 40 59 	setvl\.  r10,r0,51,0,0,0
+    16e4:	37 65 40 59 	setvl\.  r10,r0,51,0,0,1
+    16e8:	b7 64 40 59 	setvl\.  r10,r0,51,0,1,0
+    16ec:	b7 65 40 59 	setvl\.  r10,r0,51,0,1,1
+    16f0:	77 64 40 59 	setvl\.  r10,r0,51,1,0,0
+    16f4:	77 65 40 59 	setvl\.  r10,r0,51,1,0,1
+    16f8:	f7 64 40 59 	setvl\.  r10,r0,51,1,1,0
+    16fc:	f7 65 40 59 	setvl\.  r10,r0,51,1,1,1
+    1700:	37 7c 40 59 	setvl\.  r10,r0,63,0,0,0
+    1704:	37 7d 40 59 	setvl\.  r10,r0,63,0,0,1
+    1708:	b7 7c 40 59 	setvl\.  r10,r0,63,0,1,0
+    170c:	b7 7d 40 59 	setvl\.  r10,r0,63,0,1,1
+    1710:	77 7c 40 59 	setvl\.  r10,r0,63,1,0,0
+    1714:	77 7d 40 59 	setvl\.  r10,r0,63,1,0,1
+    1718:	f7 7c 40 59 	setvl\.  r10,r0,63,1,1,0
+    171c:	f7 7d 40 59 	setvl\.  r10,r0,63,1,1,1
+    1720:	37 3e 40 59 	setvl\.  r10,r0,32,0,0,0
+    1724:	37 3f 40 59 	setvl\.  r10,r0,32,0,0,1
+    1728:	b7 3e 40 59 	setvl\.  r10,r0,32,0,1,0
+    172c:	b7 3f 40 59 	setvl\.  r10,r0,32,0,1,1
+    1730:	77 3e 40 59 	setvl\.  r10,r0,32,1,0,0
+    1734:	77 3f 40 59 	setvl\.  r10,r0,32,1,0,1
+    1738:	f7 3e 40 59 	setvl\.  r10,r0,32,1,1,0
+    173c:	f7 3f 40 59 	setvl\.  r10,r0,32,1,1,1
+    1740:	37 00 4a 59 	setvl\.  r10,r10,1,0,0,0
+    1744:	37 01 4a 59 	setvl\.  r10,r10,1,0,0,1
+    1748:	b7 00 4a 59 	setvl\.  r10,r10,1,0,1,0
+    174c:	b7 01 4a 59 	setvl\.  r10,r10,1,0,1,1
+    1750:	77 00 4a 59 	setvl\.  r10,r10,1,1,0,0
+    1754:	77 01 4a 59 	setvl\.  r10,r10,1,1,0,1
+    1758:	f7 00 4a 59 	setvl\.  r10,r10,1,1,1,0
+    175c:	f7 01 4a 59 	setvl\.  r10,r10,1,1,1,1
+    1760:	37 28 4a 59 	setvl\.  r10,r10,21,0,0,0
+    1764:	37 29 4a 59 	setvl\.  r10,r10,21,0,0,1
+    1768:	b7 28 4a 59 	setvl\.  r10,r10,21,0,1,0
+    176c:	b7 29 4a 59 	setvl\.  r10,r10,21,0,1,1
+    1770:	77 28 4a 59 	setvl\.  r10,r10,21,1,0,0
+    1774:	77 29 4a 59 	setvl\.  r10,r10,21,1,0,1
+    1778:	f7 28 4a 59 	setvl\.  r10,r10,21,1,1,0
+    177c:	f7 29 4a 59 	setvl\.  r10,r10,21,1,1,1
+    1780:	37 52 4a 59 	setvl\.  r10,r10,42,0,0,0
+    1784:	37 53 4a 59 	setvl\.  r10,r10,42,0,0,1
+    1788:	b7 52 4a 59 	setvl\.  r10,r10,42,0,1,0
+    178c:	b7 53 4a 59 	setvl\.  r10,r10,42,0,1,1
+    1790:	77 52 4a 59 	setvl\.  r10,r10,42,1,0,0
+    1794:	77 53 4a 59 	setvl\.  r10,r10,42,1,0,1
+    1798:	f7 52 4a 59 	setvl\.  r10,r10,42,1,1,0
+    179c:	f7 53 4a 59 	setvl\.  r10,r10,42,1,1,1
+    17a0:	37 64 4a 59 	setvl\.  r10,r10,51,0,0,0
+    17a4:	37 65 4a 59 	setvl\.  r10,r10,51,0,0,1
+    17a8:	b7 64 4a 59 	setvl\.  r10,r10,51,0,1,0
+    17ac:	b7 65 4a 59 	setvl\.  r10,r10,51,0,1,1
+    17b0:	77 64 4a 59 	setvl\.  r10,r10,51,1,0,0
+    17b4:	77 65 4a 59 	setvl\.  r10,r10,51,1,0,1
+    17b8:	f7 64 4a 59 	setvl\.  r10,r10,51,1,1,0
+    17bc:	f7 65 4a 59 	setvl\.  r10,r10,51,1,1,1
+    17c0:	37 7c 4a 59 	setvl\.  r10,r10,63,0,0,0
+    17c4:	37 7d 4a 59 	setvl\.  r10,r10,63,0,0,1
+    17c8:	b7 7c 4a 59 	setvl\.  r10,r10,63,0,1,0
+    17cc:	b7 7d 4a 59 	setvl\.  r10,r10,63,0,1,1
+    17d0:	77 7c 4a 59 	setvl\.  r10,r10,63,1,0,0
+    17d4:	77 7d 4a 59 	setvl\.  r10,r10,63,1,0,1
+    17d8:	f7 7c 4a 59 	setvl\.  r10,r10,63,1,1,0
+    17dc:	f7 7d 4a 59 	setvl\.  r10,r10,63,1,1,1
+    17e0:	37 3e 4a 59 	setvl\.  r10,r10,32,0,0,0
+    17e4:	37 3f 4a 59 	setvl\.  r10,r10,32,0,0,1
+    17e8:	b7 3e 4a 59 	setvl\.  r10,r10,32,0,1,0
+    17ec:	b7 3f 4a 59 	setvl\.  r10,r10,32,0,1,1
+    17f0:	77 3e 4a 59 	setvl\.  r10,r10,32,1,0,0
+    17f4:	77 3f 4a 59 	setvl\.  r10,r10,32,1,0,1
+    17f8:	f7 3e 4a 59 	setvl\.  r10,r10,32,1,1,0
+    17fc:	f7 3f 4a 59 	setvl\.  r10,r10,32,1,1,1
+    1800:	37 00 55 59 	setvl\.  r10,r21,1,0,0,0
+    1804:	37 01 55 59 	setvl\.  r10,r21,1,0,0,1
+    1808:	b7 00 55 59 	setvl\.  r10,r21,1,0,1,0
+    180c:	b7 01 55 59 	setvl\.  r10,r21,1,0,1,1
+    1810:	77 00 55 59 	setvl\.  r10,r21,1,1,0,0
+    1814:	77 01 55 59 	setvl\.  r10,r21,1,1,0,1
+    1818:	f7 00 55 59 	setvl\.  r10,r21,1,1,1,0
+    181c:	f7 01 55 59 	setvl\.  r10,r21,1,1,1,1
+    1820:	37 28 55 59 	setvl\.  r10,r21,21,0,0,0
+    1824:	37 29 55 59 	setvl\.  r10,r21,21,0,0,1
+    1828:	b7 28 55 59 	setvl\.  r10,r21,21,0,1,0
+    182c:	b7 29 55 59 	setvl\.  r10,r21,21,0,1,1
+    1830:	77 28 55 59 	setvl\.  r10,r21,21,1,0,0
+    1834:	77 29 55 59 	setvl\.  r10,r21,21,1,0,1
+    1838:	f7 28 55 59 	setvl\.  r10,r21,21,1,1,0
+    183c:	f7 29 55 59 	setvl\.  r10,r21,21,1,1,1
+    1840:	37 52 55 59 	setvl\.  r10,r21,42,0,0,0
+    1844:	37 53 55 59 	setvl\.  r10,r21,42,0,0,1
+    1848:	b7 52 55 59 	setvl\.  r10,r21,42,0,1,0
+    184c:	b7 53 55 59 	setvl\.  r10,r21,42,0,1,1
+    1850:	77 52 55 59 	setvl\.  r10,r21,42,1,0,0
+    1854:	77 53 55 59 	setvl\.  r10,r21,42,1,0,1
+    1858:	f7 52 55 59 	setvl\.  r10,r21,42,1,1,0
+    185c:	f7 53 55 59 	setvl\.  r10,r21,42,1,1,1
+    1860:	37 64 55 59 	setvl\.  r10,r21,51,0,0,0
+    1864:	37 65 55 59 	setvl\.  r10,r21,51,0,0,1
+    1868:	b7 64 55 59 	setvl\.  r10,r21,51,0,1,0
+    186c:	b7 65 55 59 	setvl\.  r10,r21,51,0,1,1
+    1870:	77 64 55 59 	setvl\.  r10,r21,51,1,0,0
+    1874:	77 65 55 59 	setvl\.  r10,r21,51,1,0,1
+    1878:	f7 64 55 59 	setvl\.  r10,r21,51,1,1,0
+    187c:	f7 65 55 59 	setvl\.  r10,r21,51,1,1,1
+    1880:	37 7c 55 59 	setvl\.  r10,r21,63,0,0,0
+    1884:	37 7d 55 59 	setvl\.  r10,r21,63,0,0,1
+    1888:	b7 7c 55 59 	setvl\.  r10,r21,63,0,1,0
+    188c:	b7 7d 55 59 	setvl\.  r10,r21,63,0,1,1
+    1890:	77 7c 55 59 	setvl\.  r10,r21,63,1,0,0
+    1894:	77 7d 55 59 	setvl\.  r10,r21,63,1,0,1
+    1898:	f7 7c 55 59 	setvl\.  r10,r21,63,1,1,0
+    189c:	f7 7d 55 59 	setvl\.  r10,r21,63,1,1,1
+    18a0:	37 3e 55 59 	setvl\.  r10,r21,32,0,0,0
+    18a4:	37 3f 55 59 	setvl\.  r10,r21,32,0,0,1
+    18a8:	b7 3e 55 59 	setvl\.  r10,r21,32,0,1,0
+    18ac:	b7 3f 55 59 	setvl\.  r10,r21,32,0,1,1
+    18b0:	77 3e 55 59 	setvl\.  r10,r21,32,1,0,0
+    18b4:	77 3f 55 59 	setvl\.  r10,r21,32,1,0,1
+    18b8:	f7 3e 55 59 	setvl\.  r10,r21,32,1,1,0
+    18bc:	f7 3f 55 59 	setvl\.  r10,r21,32,1,1,1
+    18c0:	37 00 5b 59 	setvl\.  r10,r27,1,0,0,0
+    18c4:	37 01 5b 59 	setvl\.  r10,r27,1,0,0,1
+    18c8:	b7 00 5b 59 	setvl\.  r10,r27,1,0,1,0
+    18cc:	b7 01 5b 59 	setvl\.  r10,r27,1,0,1,1
+    18d0:	77 00 5b 59 	setvl\.  r10,r27,1,1,0,0
+    18d4:	77 01 5b 59 	setvl\.  r10,r27,1,1,0,1
+    18d8:	f7 00 5b 59 	setvl\.  r10,r27,1,1,1,0
+    18dc:	f7 01 5b 59 	setvl\.  r10,r27,1,1,1,1
+    18e0:	37 28 5b 59 	setvl\.  r10,r27,21,0,0,0
+    18e4:	37 29 5b 59 	setvl\.  r10,r27,21,0,0,1
+    18e8:	b7 28 5b 59 	setvl\.  r10,r27,21,0,1,0
+    18ec:	b7 29 5b 59 	setvl\.  r10,r27,21,0,1,1
+    18f0:	77 28 5b 59 	setvl\.  r10,r27,21,1,0,0
+    18f4:	77 29 5b 59 	setvl\.  r10,r27,21,1,0,1
+    18f8:	f7 28 5b 59 	setvl\.  r10,r27,21,1,1,0
+    18fc:	f7 29 5b 59 	setvl\.  r10,r27,21,1,1,1
+    1900:	37 52 5b 59 	setvl\.  r10,r27,42,0,0,0
+    1904:	37 53 5b 59 	setvl\.  r10,r27,42,0,0,1
+    1908:	b7 52 5b 59 	setvl\.  r10,r27,42,0,1,0
+    190c:	b7 53 5b 59 	setvl\.  r10,r27,42,0,1,1
+    1910:	77 52 5b 59 	setvl\.  r10,r27,42,1,0,0
+    1914:	77 53 5b 59 	setvl\.  r10,r27,42,1,0,1
+    1918:	f7 52 5b 59 	setvl\.  r10,r27,42,1,1,0
+    191c:	f7 53 5b 59 	setvl\.  r10,r27,42,1,1,1
+    1920:	37 64 5b 59 	setvl\.  r10,r27,51,0,0,0
+    1924:	37 65 5b 59 	setvl\.  r10,r27,51,0,0,1
+    1928:	b7 64 5b 59 	setvl\.  r10,r27,51,0,1,0
+    192c:	b7 65 5b 59 	setvl\.  r10,r27,51,0,1,1
+    1930:	77 64 5b 59 	setvl\.  r10,r27,51,1,0,0
+    1934:	77 65 5b 59 	setvl\.  r10,r27,51,1,0,1
+    1938:	f7 64 5b 59 	setvl\.  r10,r27,51,1,1,0
+    193c:	f7 65 5b 59 	setvl\.  r10,r27,51,1,1,1
+    1940:	37 7c 5b 59 	setvl\.  r10,r27,63,0,0,0
+    1944:	37 7d 5b 59 	setvl\.  r10,r27,63,0,0,1
+    1948:	b7 7c 5b 59 	setvl\.  r10,r27,63,0,1,0
+    194c:	b7 7d 5b 59 	setvl\.  r10,r27,63,0,1,1
+    1950:	77 7c 5b 59 	setvl\.  r10,r27,63,1,0,0
+    1954:	77 7d 5b 59 	setvl\.  r10,r27,63,1,0,1
+    1958:	f7 7c 5b 59 	setvl\.  r10,r27,63,1,1,0
+    195c:	f7 7d 5b 59 	setvl\.  r10,r27,63,1,1,1
+    1960:	37 3e 5b 59 	setvl\.  r10,r27,32,0,0,0
+    1964:	37 3f 5b 59 	setvl\.  r10,r27,32,0,0,1
+    1968:	b7 3e 5b 59 	setvl\.  r10,r27,32,0,1,0
+    196c:	b7 3f 5b 59 	setvl\.  r10,r27,32,0,1,1
+    1970:	77 3e 5b 59 	setvl\.  r10,r27,32,1,0,0
+    1974:	77 3f 5b 59 	setvl\.  r10,r27,32,1,0,1
+    1978:	f7 3e 5b 59 	setvl\.  r10,r27,32,1,1,0
+    197c:	f7 3f 5b 59 	setvl\.  r10,r27,32,1,1,1
+    1980:	37 00 5f 59 	setvl\.  r10,r31,1,0,0,0
+    1984:	37 01 5f 59 	setvl\.  r10,r31,1,0,0,1
+    1988:	b7 00 5f 59 	setvl\.  r10,r31,1,0,1,0
+    198c:	b7 01 5f 59 	setvl\.  r10,r31,1,0,1,1
+    1990:	77 00 5f 59 	setvl\.  r10,r31,1,1,0,0
+    1994:	77 01 5f 59 	setvl\.  r10,r31,1,1,0,1
+    1998:	f7 00 5f 59 	setvl\.  r10,r31,1,1,1,0
+    199c:	f7 01 5f 59 	setvl\.  r10,r31,1,1,1,1
+    19a0:	37 28 5f 59 	setvl\.  r10,r31,21,0,0,0
+    19a4:	37 29 5f 59 	setvl\.  r10,r31,21,0,0,1
+    19a8:	b7 28 5f 59 	setvl\.  r10,r31,21,0,1,0
+    19ac:	b7 29 5f 59 	setvl\.  r10,r31,21,0,1,1
+    19b0:	77 28 5f 59 	setvl\.  r10,r31,21,1,0,0
+    19b4:	77 29 5f 59 	setvl\.  r10,r31,21,1,0,1
+    19b8:	f7 28 5f 59 	setvl\.  r10,r31,21,1,1,0
+    19bc:	f7 29 5f 59 	setvl\.  r10,r31,21,1,1,1
+    19c0:	37 52 5f 59 	setvl\.  r10,r31,42,0,0,0
+    19c4:	37 53 5f 59 	setvl\.  r10,r31,42,0,0,1
+    19c8:	b7 52 5f 59 	setvl\.  r10,r31,42,0,1,0
+    19cc:	b7 53 5f 59 	setvl\.  r10,r31,42,0,1,1
+    19d0:	77 52 5f 59 	setvl\.  r10,r31,42,1,0,0
+    19d4:	77 53 5f 59 	setvl\.  r10,r31,42,1,0,1
+    19d8:	f7 52 5f 59 	setvl\.  r10,r31,42,1,1,0
+    19dc:	f7 53 5f 59 	setvl\.  r10,r31,42,1,1,1
+    19e0:	37 64 5f 59 	setvl\.  r10,r31,51,0,0,0
+    19e4:	37 65 5f 59 	setvl\.  r10,r31,51,0,0,1
+    19e8:	b7 64 5f 59 	setvl\.  r10,r31,51,0,1,0
+    19ec:	b7 65 5f 59 	setvl\.  r10,r31,51,0,1,1
+    19f0:	77 64 5f 59 	setvl\.  r10,r31,51,1,0,0
+    19f4:	77 65 5f 59 	setvl\.  r10,r31,51,1,0,1
+    19f8:	f7 64 5f 59 	setvl\.  r10,r31,51,1,1,0
+    19fc:	f7 65 5f 59 	setvl\.  r10,r31,51,1,1,1
+    1a00:	37 7c 5f 59 	setvl\.  r10,r31,63,0,0,0
+    1a04:	37 7d 5f 59 	setvl\.  r10,r31,63,0,0,1
+    1a08:	b7 7c 5f 59 	setvl\.  r10,r31,63,0,1,0
+    1a0c:	b7 7d 5f 59 	setvl\.  r10,r31,63,0,1,1
+    1a10:	77 7c 5f 59 	setvl\.  r10,r31,63,1,0,0
+    1a14:	77 7d 5f 59 	setvl\.  r10,r31,63,1,0,1
+    1a18:	f7 7c 5f 59 	setvl\.  r10,r31,63,1,1,0
+    1a1c:	f7 7d 5f 59 	setvl\.  r10,r31,63,1,1,1
+    1a20:	37 3e 5f 59 	setvl\.  r10,r31,32,0,0,0
+    1a24:	37 3f 5f 59 	setvl\.  r10,r31,32,0,0,1
+    1a28:	b7 3e 5f 59 	setvl\.  r10,r31,32,0,1,0
+    1a2c:	b7 3f 5f 59 	setvl\.  r10,r31,32,0,1,1
+    1a30:	77 3e 5f 59 	setvl\.  r10,r31,32,1,0,0
+    1a34:	77 3f 5f 59 	setvl\.  r10,r31,32,1,0,1
+    1a38:	f7 3e 5f 59 	setvl\.  r10,r31,32,1,1,0
+    1a3c:	f7 3f 5f 59 	setvl\.  r10,r31,32,1,1,1
+    1a40:	37 00 a0 5a 	setvl\.  r21,r0,1,0,0,0
+    1a44:	37 01 a0 5a 	setvl\.  r21,r0,1,0,0,1
+    1a48:	b7 00 a0 5a 	setvl\.  r21,r0,1,0,1,0
+    1a4c:	b7 01 a0 5a 	setvl\.  r21,r0,1,0,1,1
+    1a50:	77 00 a0 5a 	setvl\.  r21,r0,1,1,0,0
+    1a54:	77 01 a0 5a 	setvl\.  r21,r0,1,1,0,1
+    1a58:	f7 00 a0 5a 	setvl\.  r21,r0,1,1,1,0
+    1a5c:	f7 01 a0 5a 	setvl\.  r21,r0,1,1,1,1
+    1a60:	37 28 a0 5a 	setvl\.  r21,r0,21,0,0,0
+    1a64:	37 29 a0 5a 	setvl\.  r21,r0,21,0,0,1
+    1a68:	b7 28 a0 5a 	setvl\.  r21,r0,21,0,1,0
+    1a6c:	b7 29 a0 5a 	setvl\.  r21,r0,21,0,1,1
+    1a70:	77 28 a0 5a 	setvl\.  r21,r0,21,1,0,0
+    1a74:	77 29 a0 5a 	setvl\.  r21,r0,21,1,0,1
+    1a78:	f7 28 a0 5a 	setvl\.  r21,r0,21,1,1,0
+    1a7c:	f7 29 a0 5a 	setvl\.  r21,r0,21,1,1,1
+    1a80:	37 52 a0 5a 	setvl\.  r21,r0,42,0,0,0
+    1a84:	37 53 a0 5a 	setvl\.  r21,r0,42,0,0,1
+    1a88:	b7 52 a0 5a 	setvl\.  r21,r0,42,0,1,0
+    1a8c:	b7 53 a0 5a 	setvl\.  r21,r0,42,0,1,1
+    1a90:	77 52 a0 5a 	setvl\.  r21,r0,42,1,0,0
+    1a94:	77 53 a0 5a 	setvl\.  r21,r0,42,1,0,1
+    1a98:	f7 52 a0 5a 	setvl\.  r21,r0,42,1,1,0
+    1a9c:	f7 53 a0 5a 	setvl\.  r21,r0,42,1,1,1
+    1aa0:	37 64 a0 5a 	setvl\.  r21,r0,51,0,0,0
+    1aa4:	37 65 a0 5a 	setvl\.  r21,r0,51,0,0,1
+    1aa8:	b7 64 a0 5a 	setvl\.  r21,r0,51,0,1,0
+    1aac:	b7 65 a0 5a 	setvl\.  r21,r0,51,0,1,1
+    1ab0:	77 64 a0 5a 	setvl\.  r21,r0,51,1,0,0
+    1ab4:	77 65 a0 5a 	setvl\.  r21,r0,51,1,0,1
+    1ab8:	f7 64 a0 5a 	setvl\.  r21,r0,51,1,1,0
+    1abc:	f7 65 a0 5a 	setvl\.  r21,r0,51,1,1,1
+    1ac0:	37 7c a0 5a 	setvl\.  r21,r0,63,0,0,0
+    1ac4:	37 7d a0 5a 	setvl\.  r21,r0,63,0,0,1
+    1ac8:	b7 7c a0 5a 	setvl\.  r21,r0,63,0,1,0
+    1acc:	b7 7d a0 5a 	setvl\.  r21,r0,63,0,1,1
+    1ad0:	77 7c a0 5a 	setvl\.  r21,r0,63,1,0,0
+    1ad4:	77 7d a0 5a 	setvl\.  r21,r0,63,1,0,1
+    1ad8:	f7 7c a0 5a 	setvl\.  r21,r0,63,1,1,0
+    1adc:	f7 7d a0 5a 	setvl\.  r21,r0,63,1,1,1
+    1ae0:	37 3e a0 5a 	setvl\.  r21,r0,32,0,0,0
+    1ae4:	37 3f a0 5a 	setvl\.  r21,r0,32,0,0,1
+    1ae8:	b7 3e a0 5a 	setvl\.  r21,r0,32,0,1,0
+    1aec:	b7 3f a0 5a 	setvl\.  r21,r0,32,0,1,1
+    1af0:	77 3e a0 5a 	setvl\.  r21,r0,32,1,0,0
+    1af4:	77 3f a0 5a 	setvl\.  r21,r0,32,1,0,1
+    1af8:	f7 3e a0 5a 	setvl\.  r21,r0,32,1,1,0
+    1afc:	f7 3f a0 5a 	setvl\.  r21,r0,32,1,1,1
+    1b00:	37 00 aa 5a 	setvl\.  r21,r10,1,0,0,0
+    1b04:	37 01 aa 5a 	setvl\.  r21,r10,1,0,0,1
+    1b08:	b7 00 aa 5a 	setvl\.  r21,r10,1,0,1,0
+    1b0c:	b7 01 aa 5a 	setvl\.  r21,r10,1,0,1,1
+    1b10:	77 00 aa 5a 	setvl\.  r21,r10,1,1,0,0
+    1b14:	77 01 aa 5a 	setvl\.  r21,r10,1,1,0,1
+    1b18:	f7 00 aa 5a 	setvl\.  r21,r10,1,1,1,0
+    1b1c:	f7 01 aa 5a 	setvl\.  r21,r10,1,1,1,1
+    1b20:	37 28 aa 5a 	setvl\.  r21,r10,21,0,0,0
+    1b24:	37 29 aa 5a 	setvl\.  r21,r10,21,0,0,1
+    1b28:	b7 28 aa 5a 	setvl\.  r21,r10,21,0,1,0
+    1b2c:	b7 29 aa 5a 	setvl\.  r21,r10,21,0,1,1
+    1b30:	77 28 aa 5a 	setvl\.  r21,r10,21,1,0,0
+    1b34:	77 29 aa 5a 	setvl\.  r21,r10,21,1,0,1
+    1b38:	f7 28 aa 5a 	setvl\.  r21,r10,21,1,1,0
+    1b3c:	f7 29 aa 5a 	setvl\.  r21,r10,21,1,1,1
+    1b40:	37 52 aa 5a 	setvl\.  r21,r10,42,0,0,0
+    1b44:	37 53 aa 5a 	setvl\.  r21,r10,42,0,0,1
+    1b48:	b7 52 aa 5a 	setvl\.  r21,r10,42,0,1,0
+    1b4c:	b7 53 aa 5a 	setvl\.  r21,r10,42,0,1,1
+    1b50:	77 52 aa 5a 	setvl\.  r21,r10,42,1,0,0
+    1b54:	77 53 aa 5a 	setvl\.  r21,r10,42,1,0,1
+    1b58:	f7 52 aa 5a 	setvl\.  r21,r10,42,1,1,0
+    1b5c:	f7 53 aa 5a 	setvl\.  r21,r10,42,1,1,1
+    1b60:	37 64 aa 5a 	setvl\.  r21,r10,51,0,0,0
+    1b64:	37 65 aa 5a 	setvl\.  r21,r10,51,0,0,1
+    1b68:	b7 64 aa 5a 	setvl\.  r21,r10,51,0,1,0
+    1b6c:	b7 65 aa 5a 	setvl\.  r21,r10,51,0,1,1
+    1b70:	77 64 aa 5a 	setvl\.  r21,r10,51,1,0,0
+    1b74:	77 65 aa 5a 	setvl\.  r21,r10,51,1,0,1
+    1b78:	f7 64 aa 5a 	setvl\.  r21,r10,51,1,1,0
+    1b7c:	f7 65 aa 5a 	setvl\.  r21,r10,51,1,1,1
+    1b80:	37 7c aa 5a 	setvl\.  r21,r10,63,0,0,0
+    1b84:	37 7d aa 5a 	setvl\.  r21,r10,63,0,0,1
+    1b88:	b7 7c aa 5a 	setvl\.  r21,r10,63,0,1,0
+    1b8c:	b7 7d aa 5a 	setvl\.  r21,r10,63,0,1,1
+    1b90:	77 7c aa 5a 	setvl\.  r21,r10,63,1,0,0
+    1b94:	77 7d aa 5a 	setvl\.  r21,r10,63,1,0,1
+    1b98:	f7 7c aa 5a 	setvl\.  r21,r10,63,1,1,0
+    1b9c:	f7 7d aa 5a 	setvl\.  r21,r10,63,1,1,1
+    1ba0:	37 3e aa 5a 	setvl\.  r21,r10,32,0,0,0
+    1ba4:	37 3f aa 5a 	setvl\.  r21,r10,32,0,0,1
+    1ba8:	b7 3e aa 5a 	setvl\.  r21,r10,32,0,1,0
+    1bac:	b7 3f aa 5a 	setvl\.  r21,r10,32,0,1,1
+    1bb0:	77 3e aa 5a 	setvl\.  r21,r10,32,1,0,0
+    1bb4:	77 3f aa 5a 	setvl\.  r21,r10,32,1,0,1
+    1bb8:	f7 3e aa 5a 	setvl\.  r21,r10,32,1,1,0
+    1bbc:	f7 3f aa 5a 	setvl\.  r21,r10,32,1,1,1
+    1bc0:	37 00 b5 5a 	setvl\.  r21,r21,1,0,0,0
+    1bc4:	37 01 b5 5a 	setvl\.  r21,r21,1,0,0,1
+    1bc8:	b7 00 b5 5a 	setvl\.  r21,r21,1,0,1,0
+    1bcc:	b7 01 b5 5a 	setvl\.  r21,r21,1,0,1,1
+    1bd0:	77 00 b5 5a 	setvl\.  r21,r21,1,1,0,0
+    1bd4:	77 01 b5 5a 	setvl\.  r21,r21,1,1,0,1
+    1bd8:	f7 00 b5 5a 	setvl\.  r21,r21,1,1,1,0
+    1bdc:	f7 01 b5 5a 	setvl\.  r21,r21,1,1,1,1
+    1be0:	37 28 b5 5a 	setvl\.  r21,r21,21,0,0,0
+    1be4:	37 29 b5 5a 	setvl\.  r21,r21,21,0,0,1
+    1be8:	b7 28 b5 5a 	setvl\.  r21,r21,21,0,1,0
+    1bec:	b7 29 b5 5a 	setvl\.  r21,r21,21,0,1,1
+    1bf0:	77 28 b5 5a 	setvl\.  r21,r21,21,1,0,0
+    1bf4:	77 29 b5 5a 	setvl\.  r21,r21,21,1,0,1
+    1bf8:	f7 28 b5 5a 	setvl\.  r21,r21,21,1,1,0
+    1bfc:	f7 29 b5 5a 	setvl\.  r21,r21,21,1,1,1
+    1c00:	37 52 b5 5a 	setvl\.  r21,r21,42,0,0,0
+    1c04:	37 53 b5 5a 	setvl\.  r21,r21,42,0,0,1
+    1c08:	b7 52 b5 5a 	setvl\.  r21,r21,42,0,1,0
+    1c0c:	b7 53 b5 5a 	setvl\.  r21,r21,42,0,1,1
+    1c10:	77 52 b5 5a 	setvl\.  r21,r21,42,1,0,0
+    1c14:	77 53 b5 5a 	setvl\.  r21,r21,42,1,0,1
+    1c18:	f7 52 b5 5a 	setvl\.  r21,r21,42,1,1,0
+    1c1c:	f7 53 b5 5a 	setvl\.  r21,r21,42,1,1,1
+    1c20:	37 64 b5 5a 	setvl\.  r21,r21,51,0,0,0
+    1c24:	37 65 b5 5a 	setvl\.  r21,r21,51,0,0,1
+    1c28:	b7 64 b5 5a 	setvl\.  r21,r21,51,0,1,0
+    1c2c:	b7 65 b5 5a 	setvl\.  r21,r21,51,0,1,1
+    1c30:	77 64 b5 5a 	setvl\.  r21,r21,51,1,0,0
+    1c34:	77 65 b5 5a 	setvl\.  r21,r21,51,1,0,1
+    1c38:	f7 64 b5 5a 	setvl\.  r21,r21,51,1,1,0
+    1c3c:	f7 65 b5 5a 	setvl\.  r21,r21,51,1,1,1
+    1c40:	37 7c b5 5a 	setvl\.  r21,r21,63,0,0,0
+    1c44:	37 7d b5 5a 	setvl\.  r21,r21,63,0,0,1
+    1c48:	b7 7c b5 5a 	setvl\.  r21,r21,63,0,1,0
+    1c4c:	b7 7d b5 5a 	setvl\.  r21,r21,63,0,1,1
+    1c50:	77 7c b5 5a 	setvl\.  r21,r21,63,1,0,0
+    1c54:	77 7d b5 5a 	setvl\.  r21,r21,63,1,0,1
+    1c58:	f7 7c b5 5a 	setvl\.  r21,r21,63,1,1,0
+    1c5c:	f7 7d b5 5a 	setvl\.  r21,r21,63,1,1,1
+    1c60:	37 3e b5 5a 	setvl\.  r21,r21,32,0,0,0
+    1c64:	37 3f b5 5a 	setvl\.  r21,r21,32,0,0,1
+    1c68:	b7 3e b5 5a 	setvl\.  r21,r21,32,0,1,0
+    1c6c:	b7 3f b5 5a 	setvl\.  r21,r21,32,0,1,1
+    1c70:	77 3e b5 5a 	setvl\.  r21,r21,32,1,0,0
+    1c74:	77 3f b5 5a 	setvl\.  r21,r21,32,1,0,1
+    1c78:	f7 3e b5 5a 	setvl\.  r21,r21,32,1,1,0
+    1c7c:	f7 3f b5 5a 	setvl\.  r21,r21,32,1,1,1
+    1c80:	37 00 bb 5a 	setvl\.  r21,r27,1,0,0,0
+    1c84:	37 01 bb 5a 	setvl\.  r21,r27,1,0,0,1
+    1c88:	b7 00 bb 5a 	setvl\.  r21,r27,1,0,1,0
+    1c8c:	b7 01 bb 5a 	setvl\.  r21,r27,1,0,1,1
+    1c90:	77 00 bb 5a 	setvl\.  r21,r27,1,1,0,0
+    1c94:	77 01 bb 5a 	setvl\.  r21,r27,1,1,0,1
+    1c98:	f7 00 bb 5a 	setvl\.  r21,r27,1,1,1,0
+    1c9c:	f7 01 bb 5a 	setvl\.  r21,r27,1,1,1,1
+    1ca0:	37 28 bb 5a 	setvl\.  r21,r27,21,0,0,0
+    1ca4:	37 29 bb 5a 	setvl\.  r21,r27,21,0,0,1
+    1ca8:	b7 28 bb 5a 	setvl\.  r21,r27,21,0,1,0
+    1cac:	b7 29 bb 5a 	setvl\.  r21,r27,21,0,1,1
+    1cb0:	77 28 bb 5a 	setvl\.  r21,r27,21,1,0,0
+    1cb4:	77 29 bb 5a 	setvl\.  r21,r27,21,1,0,1
+    1cb8:	f7 28 bb 5a 	setvl\.  r21,r27,21,1,1,0
+    1cbc:	f7 29 bb 5a 	setvl\.  r21,r27,21,1,1,1
+    1cc0:	37 52 bb 5a 	setvl\.  r21,r27,42,0,0,0
+    1cc4:	37 53 bb 5a 	setvl\.  r21,r27,42,0,0,1
+    1cc8:	b7 52 bb 5a 	setvl\.  r21,r27,42,0,1,0
+    1ccc:	b7 53 bb 5a 	setvl\.  r21,r27,42,0,1,1
+    1cd0:	77 52 bb 5a 	setvl\.  r21,r27,42,1,0,0
+    1cd4:	77 53 bb 5a 	setvl\.  r21,r27,42,1,0,1
+    1cd8:	f7 52 bb 5a 	setvl\.  r21,r27,42,1,1,0
+    1cdc:	f7 53 bb 5a 	setvl\.  r21,r27,42,1,1,1
+    1ce0:	37 64 bb 5a 	setvl\.  r21,r27,51,0,0,0
+    1ce4:	37 65 bb 5a 	setvl\.  r21,r27,51,0,0,1
+    1ce8:	b7 64 bb 5a 	setvl\.  r21,r27,51,0,1,0
+    1cec:	b7 65 bb 5a 	setvl\.  r21,r27,51,0,1,1
+    1cf0:	77 64 bb 5a 	setvl\.  r21,r27,51,1,0,0
+    1cf4:	77 65 bb 5a 	setvl\.  r21,r27,51,1,0,1
+    1cf8:	f7 64 bb 5a 	setvl\.  r21,r27,51,1,1,0
+    1cfc:	f7 65 bb 5a 	setvl\.  r21,r27,51,1,1,1
+    1d00:	37 7c bb 5a 	setvl\.  r21,r27,63,0,0,0
+    1d04:	37 7d bb 5a 	setvl\.  r21,r27,63,0,0,1
+    1d08:	b7 7c bb 5a 	setvl\.  r21,r27,63,0,1,0
+    1d0c:	b7 7d bb 5a 	setvl\.  r21,r27,63,0,1,1
+    1d10:	77 7c bb 5a 	setvl\.  r21,r27,63,1,0,0
+    1d14:	77 7d bb 5a 	setvl\.  r21,r27,63,1,0,1
+    1d18:	f7 7c bb 5a 	setvl\.  r21,r27,63,1,1,0
+    1d1c:	f7 7d bb 5a 	setvl\.  r21,r27,63,1,1,1
+    1d20:	37 3e bb 5a 	setvl\.  r21,r27,32,0,0,0
+    1d24:	37 3f bb 5a 	setvl\.  r21,r27,32,0,0,1
+    1d28:	b7 3e bb 5a 	setvl\.  r21,r27,32,0,1,0
+    1d2c:	b7 3f bb 5a 	setvl\.  r21,r27,32,0,1,1
+    1d30:	77 3e bb 5a 	setvl\.  r21,r27,32,1,0,0
+    1d34:	77 3f bb 5a 	setvl\.  r21,r27,32,1,0,1
+    1d38:	f7 3e bb 5a 	setvl\.  r21,r27,32,1,1,0
+    1d3c:	f7 3f bb 5a 	setvl\.  r21,r27,32,1,1,1
+    1d40:	37 00 bf 5a 	setvl\.  r21,r31,1,0,0,0
+    1d44:	37 01 bf 5a 	setvl\.  r21,r31,1,0,0,1
+    1d48:	b7 00 bf 5a 	setvl\.  r21,r31,1,0,1,0
+    1d4c:	b7 01 bf 5a 	setvl\.  r21,r31,1,0,1,1
+    1d50:	77 00 bf 5a 	setvl\.  r21,r31,1,1,0,0
+    1d54:	77 01 bf 5a 	setvl\.  r21,r31,1,1,0,1
+    1d58:	f7 00 bf 5a 	setvl\.  r21,r31,1,1,1,0
+    1d5c:	f7 01 bf 5a 	setvl\.  r21,r31,1,1,1,1
+    1d60:	37 28 bf 5a 	setvl\.  r21,r31,21,0,0,0
+    1d64:	37 29 bf 5a 	setvl\.  r21,r31,21,0,0,1
+    1d68:	b7 28 bf 5a 	setvl\.  r21,r31,21,0,1,0
+    1d6c:	b7 29 bf 5a 	setvl\.  r21,r31,21,0,1,1
+    1d70:	77 28 bf 5a 	setvl\.  r21,r31,21,1,0,0
+    1d74:	77 29 bf 5a 	setvl\.  r21,r31,21,1,0,1
+    1d78:	f7 28 bf 5a 	setvl\.  r21,r31,21,1,1,0
+    1d7c:	f7 29 bf 5a 	setvl\.  r21,r31,21,1,1,1
+    1d80:	37 52 bf 5a 	setvl\.  r21,r31,42,0,0,0
+    1d84:	37 53 bf 5a 	setvl\.  r21,r31,42,0,0,1
+    1d88:	b7 52 bf 5a 	setvl\.  r21,r31,42,0,1,0
+    1d8c:	b7 53 bf 5a 	setvl\.  r21,r31,42,0,1,1
+    1d90:	77 52 bf 5a 	setvl\.  r21,r31,42,1,0,0
+    1d94:	77 53 bf 5a 	setvl\.  r21,r31,42,1,0,1
+    1d98:	f7 52 bf 5a 	setvl\.  r21,r31,42,1,1,0
+    1d9c:	f7 53 bf 5a 	setvl\.  r21,r31,42,1,1,1
+    1da0:	37 64 bf 5a 	setvl\.  r21,r31,51,0,0,0
+    1da4:	37 65 bf 5a 	setvl\.  r21,r31,51,0,0,1
+    1da8:	b7 64 bf 5a 	setvl\.  r21,r31,51,0,1,0
+    1dac:	b7 65 bf 5a 	setvl\.  r21,r31,51,0,1,1
+    1db0:	77 64 bf 5a 	setvl\.  r21,r31,51,1,0,0
+    1db4:	77 65 bf 5a 	setvl\.  r21,r31,51,1,0,1
+    1db8:	f7 64 bf 5a 	setvl\.  r21,r31,51,1,1,0
+    1dbc:	f7 65 bf 5a 	setvl\.  r21,r31,51,1,1,1
+    1dc0:	37 7c bf 5a 	setvl\.  r21,r31,63,0,0,0
+    1dc4:	37 7d bf 5a 	setvl\.  r21,r31,63,0,0,1
+    1dc8:	b7 7c bf 5a 	setvl\.  r21,r31,63,0,1,0
+    1dcc:	b7 7d bf 5a 	setvl\.  r21,r31,63,0,1,1
+    1dd0:	77 7c bf 5a 	setvl\.  r21,r31,63,1,0,0
+    1dd4:	77 7d bf 5a 	setvl\.  r21,r31,63,1,0,1
+    1dd8:	f7 7c bf 5a 	setvl\.  r21,r31,63,1,1,0
+    1ddc:	f7 7d bf 5a 	setvl\.  r21,r31,63,1,1,1
+    1de0:	37 3e bf 5a 	setvl\.  r21,r31,32,0,0,0
+    1de4:	37 3f bf 5a 	setvl\.  r21,r31,32,0,0,1
+    1de8:	b7 3e bf 5a 	setvl\.  r21,r31,32,0,1,0
+    1dec:	b7 3f bf 5a 	setvl\.  r21,r31,32,0,1,1
+    1df0:	77 3e bf 5a 	setvl\.  r21,r31,32,1,0,0
+    1df4:	77 3f bf 5a 	setvl\.  r21,r31,32,1,0,1
+    1df8:	f7 3e bf 5a 	setvl\.  r21,r31,32,1,1,0
+    1dfc:	f7 3f bf 5a 	setvl\.  r21,r31,32,1,1,1
+    1e00:	37 00 60 5b 	setvl\.  r27,r0,1,0,0,0
+    1e04:	37 01 60 5b 	setvl\.  r27,r0,1,0,0,1
+    1e08:	b7 00 60 5b 	setvl\.  r27,r0,1,0,1,0
+    1e0c:	b7 01 60 5b 	setvl\.  r27,r0,1,0,1,1
+    1e10:	77 00 60 5b 	setvl\.  r27,r0,1,1,0,0
+    1e14:	77 01 60 5b 	setvl\.  r27,r0,1,1,0,1
+    1e18:	f7 00 60 5b 	setvl\.  r27,r0,1,1,1,0
+    1e1c:	f7 01 60 5b 	setvl\.  r27,r0,1,1,1,1
+    1e20:	37 28 60 5b 	setvl\.  r27,r0,21,0,0,0
+    1e24:	37 29 60 5b 	setvl\.  r27,r0,21,0,0,1
+    1e28:	b7 28 60 5b 	setvl\.  r27,r0,21,0,1,0
+    1e2c:	b7 29 60 5b 	setvl\.  r27,r0,21,0,1,1
+    1e30:	77 28 60 5b 	setvl\.  r27,r0,21,1,0,0
+    1e34:	77 29 60 5b 	setvl\.  r27,r0,21,1,0,1
+    1e38:	f7 28 60 5b 	setvl\.  r27,r0,21,1,1,0
+    1e3c:	f7 29 60 5b 	setvl\.  r27,r0,21,1,1,1
+    1e40:	37 52 60 5b 	setvl\.  r27,r0,42,0,0,0
+    1e44:	37 53 60 5b 	setvl\.  r27,r0,42,0,0,1
+    1e48:	b7 52 60 5b 	setvl\.  r27,r0,42,0,1,0
+    1e4c:	b7 53 60 5b 	setvl\.  r27,r0,42,0,1,1
+    1e50:	77 52 60 5b 	setvl\.  r27,r0,42,1,0,0
+    1e54:	77 53 60 5b 	setvl\.  r27,r0,42,1,0,1
+    1e58:	f7 52 60 5b 	setvl\.  r27,r0,42,1,1,0
+    1e5c:	f7 53 60 5b 	setvl\.  r27,r0,42,1,1,1
+    1e60:	37 64 60 5b 	setvl\.  r27,r0,51,0,0,0
+    1e64:	37 65 60 5b 	setvl\.  r27,r0,51,0,0,1
+    1e68:	b7 64 60 5b 	setvl\.  r27,r0,51,0,1,0
+    1e6c:	b7 65 60 5b 	setvl\.  r27,r0,51,0,1,1
+    1e70:	77 64 60 5b 	setvl\.  r27,r0,51,1,0,0
+    1e74:	77 65 60 5b 	setvl\.  r27,r0,51,1,0,1
+    1e78:	f7 64 60 5b 	setvl\.  r27,r0,51,1,1,0
+    1e7c:	f7 65 60 5b 	setvl\.  r27,r0,51,1,1,1
+    1e80:	37 7c 60 5b 	setvl\.  r27,r0,63,0,0,0
+    1e84:	37 7d 60 5b 	setvl\.  r27,r0,63,0,0,1
+    1e88:	b7 7c 60 5b 	setvl\.  r27,r0,63,0,1,0
+    1e8c:	b7 7d 60 5b 	setvl\.  r27,r0,63,0,1,1
+    1e90:	77 7c 60 5b 	setvl\.  r27,r0,63,1,0,0
+    1e94:	77 7d 60 5b 	setvl\.  r27,r0,63,1,0,1
+    1e98:	f7 7c 60 5b 	setvl\.  r27,r0,63,1,1,0
+    1e9c:	f7 7d 60 5b 	setvl\.  r27,r0,63,1,1,1
+    1ea0:	37 3e 60 5b 	setvl\.  r27,r0,32,0,0,0
+    1ea4:	37 3f 60 5b 	setvl\.  r27,r0,32,0,0,1
+    1ea8:	b7 3e 60 5b 	setvl\.  r27,r0,32,0,1,0
+    1eac:	b7 3f 60 5b 	setvl\.  r27,r0,32,0,1,1
+    1eb0:	77 3e 60 5b 	setvl\.  r27,r0,32,1,0,0
+    1eb4:	77 3f 60 5b 	setvl\.  r27,r0,32,1,0,1
+    1eb8:	f7 3e 60 5b 	setvl\.  r27,r0,32,1,1,0
+    1ebc:	f7 3f 60 5b 	setvl\.  r27,r0,32,1,1,1
+    1ec0:	37 00 6a 5b 	setvl\.  r27,r10,1,0,0,0
+    1ec4:	37 01 6a 5b 	setvl\.  r27,r10,1,0,0,1
+    1ec8:	b7 00 6a 5b 	setvl\.  r27,r10,1,0,1,0
+    1ecc:	b7 01 6a 5b 	setvl\.  r27,r10,1,0,1,1
+    1ed0:	77 00 6a 5b 	setvl\.  r27,r10,1,1,0,0
+    1ed4:	77 01 6a 5b 	setvl\.  r27,r10,1,1,0,1
+    1ed8:	f7 00 6a 5b 	setvl\.  r27,r10,1,1,1,0
+    1edc:	f7 01 6a 5b 	setvl\.  r27,r10,1,1,1,1
+    1ee0:	37 28 6a 5b 	setvl\.  r27,r10,21,0,0,0
+    1ee4:	37 29 6a 5b 	setvl\.  r27,r10,21,0,0,1
+    1ee8:	b7 28 6a 5b 	setvl\.  r27,r10,21,0,1,0
+    1eec:	b7 29 6a 5b 	setvl\.  r27,r10,21,0,1,1
+    1ef0:	77 28 6a 5b 	setvl\.  r27,r10,21,1,0,0
+    1ef4:	77 29 6a 5b 	setvl\.  r27,r10,21,1,0,1
+    1ef8:	f7 28 6a 5b 	setvl\.  r27,r10,21,1,1,0
+    1efc:	f7 29 6a 5b 	setvl\.  r27,r10,21,1,1,1
+    1f00:	37 52 6a 5b 	setvl\.  r27,r10,42,0,0,0
+    1f04:	37 53 6a 5b 	setvl\.  r27,r10,42,0,0,1
+    1f08:	b7 52 6a 5b 	setvl\.  r27,r10,42,0,1,0
+    1f0c:	b7 53 6a 5b 	setvl\.  r27,r10,42,0,1,1
+    1f10:	77 52 6a 5b 	setvl\.  r27,r10,42,1,0,0
+    1f14:	77 53 6a 5b 	setvl\.  r27,r10,42,1,0,1
+    1f18:	f7 52 6a 5b 	setvl\.  r27,r10,42,1,1,0
+    1f1c:	f7 53 6a 5b 	setvl\.  r27,r10,42,1,1,1
+    1f20:	37 64 6a 5b 	setvl\.  r27,r10,51,0,0,0
+    1f24:	37 65 6a 5b 	setvl\.  r27,r10,51,0,0,1
+    1f28:	b7 64 6a 5b 	setvl\.  r27,r10,51,0,1,0
+    1f2c:	b7 65 6a 5b 	setvl\.  r27,r10,51,0,1,1
+    1f30:	77 64 6a 5b 	setvl\.  r27,r10,51,1,0,0
+    1f34:	77 65 6a 5b 	setvl\.  r27,r10,51,1,0,1
+    1f38:	f7 64 6a 5b 	setvl\.  r27,r10,51,1,1,0
+    1f3c:	f7 65 6a 5b 	setvl\.  r27,r10,51,1,1,1
+    1f40:	37 7c 6a 5b 	setvl\.  r27,r10,63,0,0,0
+    1f44:	37 7d 6a 5b 	setvl\.  r27,r10,63,0,0,1
+    1f48:	b7 7c 6a 5b 	setvl\.  r27,r10,63,0,1,0
+    1f4c:	b7 7d 6a 5b 	setvl\.  r27,r10,63,0,1,1
+    1f50:	77 7c 6a 5b 	setvl\.  r27,r10,63,1,0,0
+    1f54:	77 7d 6a 5b 	setvl\.  r27,r10,63,1,0,1
+    1f58:	f7 7c 6a 5b 	setvl\.  r27,r10,63,1,1,0
+    1f5c:	f7 7d 6a 5b 	setvl\.  r27,r10,63,1,1,1
+    1f60:	37 3e 6a 5b 	setvl\.  r27,r10,32,0,0,0
+    1f64:	37 3f 6a 5b 	setvl\.  r27,r10,32,0,0,1
+    1f68:	b7 3e 6a 5b 	setvl\.  r27,r10,32,0,1,0
+    1f6c:	b7 3f 6a 5b 	setvl\.  r27,r10,32,0,1,1
+    1f70:	77 3e 6a 5b 	setvl\.  r27,r10,32,1,0,0
+    1f74:	77 3f 6a 5b 	setvl\.  r27,r10,32,1,0,1
+    1f78:	f7 3e 6a 5b 	setvl\.  r27,r10,32,1,1,0
+    1f7c:	f7 3f 6a 5b 	setvl\.  r27,r10,32,1,1,1
+    1f80:	37 00 75 5b 	setvl\.  r27,r21,1,0,0,0
+    1f84:	37 01 75 5b 	setvl\.  r27,r21,1,0,0,1
+    1f88:	b7 00 75 5b 	setvl\.  r27,r21,1,0,1,0
+    1f8c:	b7 01 75 5b 	setvl\.  r27,r21,1,0,1,1
+    1f90:	77 00 75 5b 	setvl\.  r27,r21,1,1,0,0
+    1f94:	77 01 75 5b 	setvl\.  r27,r21,1,1,0,1
+    1f98:	f7 00 75 5b 	setvl\.  r27,r21,1,1,1,0
+    1f9c:	f7 01 75 5b 	setvl\.  r27,r21,1,1,1,1
+    1fa0:	37 28 75 5b 	setvl\.  r27,r21,21,0,0,0
+    1fa4:	37 29 75 5b 	setvl\.  r27,r21,21,0,0,1
+    1fa8:	b7 28 75 5b 	setvl\.  r27,r21,21,0,1,0
+    1fac:	b7 29 75 5b 	setvl\.  r27,r21,21,0,1,1
+    1fb0:	77 28 75 5b 	setvl\.  r27,r21,21,1,0,0
+    1fb4:	77 29 75 5b 	setvl\.  r27,r21,21,1,0,1
+    1fb8:	f7 28 75 5b 	setvl\.  r27,r21,21,1,1,0
+    1fbc:	f7 29 75 5b 	setvl\.  r27,r21,21,1,1,1
+    1fc0:	37 52 75 5b 	setvl\.  r27,r21,42,0,0,0
+    1fc4:	37 53 75 5b 	setvl\.  r27,r21,42,0,0,1
+    1fc8:	b7 52 75 5b 	setvl\.  r27,r21,42,0,1,0
+    1fcc:	b7 53 75 5b 	setvl\.  r27,r21,42,0,1,1
+    1fd0:	77 52 75 5b 	setvl\.  r27,r21,42,1,0,0
+    1fd4:	77 53 75 5b 	setvl\.  r27,r21,42,1,0,1
+    1fd8:	f7 52 75 5b 	setvl\.  r27,r21,42,1,1,0
+    1fdc:	f7 53 75 5b 	setvl\.  r27,r21,42,1,1,1
+    1fe0:	37 64 75 5b 	setvl\.  r27,r21,51,0,0,0
+    1fe4:	37 65 75 5b 	setvl\.  r27,r21,51,0,0,1
+    1fe8:	b7 64 75 5b 	setvl\.  r27,r21,51,0,1,0
+    1fec:	b7 65 75 5b 	setvl\.  r27,r21,51,0,1,1
+    1ff0:	77 64 75 5b 	setvl\.  r27,r21,51,1,0,0
+    1ff4:	77 65 75 5b 	setvl\.  r27,r21,51,1,0,1
+    1ff8:	f7 64 75 5b 	setvl\.  r27,r21,51,1,1,0
+    1ffc:	f7 65 75 5b 	setvl\.  r27,r21,51,1,1,1
+    2000:	37 7c 75 5b 	setvl\.  r27,r21,63,0,0,0
+    2004:	37 7d 75 5b 	setvl\.  r27,r21,63,0,0,1
+    2008:	b7 7c 75 5b 	setvl\.  r27,r21,63,0,1,0
+    200c:	b7 7d 75 5b 	setvl\.  r27,r21,63,0,1,1
+    2010:	77 7c 75 5b 	setvl\.  r27,r21,63,1,0,0
+    2014:	77 7d 75 5b 	setvl\.  r27,r21,63,1,0,1
+    2018:	f7 7c 75 5b 	setvl\.  r27,r21,63,1,1,0
+    201c:	f7 7d 75 5b 	setvl\.  r27,r21,63,1,1,1
+    2020:	37 3e 75 5b 	setvl\.  r27,r21,32,0,0,0
+    2024:	37 3f 75 5b 	setvl\.  r27,r21,32,0,0,1
+    2028:	b7 3e 75 5b 	setvl\.  r27,r21,32,0,1,0
+    202c:	b7 3f 75 5b 	setvl\.  r27,r21,32,0,1,1
+    2030:	77 3e 75 5b 	setvl\.  r27,r21,32,1,0,0
+    2034:	77 3f 75 5b 	setvl\.  r27,r21,32,1,0,1
+    2038:	f7 3e 75 5b 	setvl\.  r27,r21,32,1,1,0
+    203c:	f7 3f 75 5b 	setvl\.  r27,r21,32,1,1,1
+    2040:	37 00 7b 5b 	setvl\.  r27,r27,1,0,0,0
+    2044:	37 01 7b 5b 	setvl\.  r27,r27,1,0,0,1
+    2048:	b7 00 7b 5b 	setvl\.  r27,r27,1,0,1,0
+    204c:	b7 01 7b 5b 	setvl\.  r27,r27,1,0,1,1
+    2050:	77 00 7b 5b 	setvl\.  r27,r27,1,1,0,0
+    2054:	77 01 7b 5b 	setvl\.  r27,r27,1,1,0,1
+    2058:	f7 00 7b 5b 	setvl\.  r27,r27,1,1,1,0
+    205c:	f7 01 7b 5b 	setvl\.  r27,r27,1,1,1,1
+    2060:	37 28 7b 5b 	setvl\.  r27,r27,21,0,0,0
+    2064:	37 29 7b 5b 	setvl\.  r27,r27,21,0,0,1
+    2068:	b7 28 7b 5b 	setvl\.  r27,r27,21,0,1,0
+    206c:	b7 29 7b 5b 	setvl\.  r27,r27,21,0,1,1
+    2070:	77 28 7b 5b 	setvl\.  r27,r27,21,1,0,0
+    2074:	77 29 7b 5b 	setvl\.  r27,r27,21,1,0,1
+    2078:	f7 28 7b 5b 	setvl\.  r27,r27,21,1,1,0
+    207c:	f7 29 7b 5b 	setvl\.  r27,r27,21,1,1,1
+    2080:	37 52 7b 5b 	setvl\.  r27,r27,42,0,0,0
+    2084:	37 53 7b 5b 	setvl\.  r27,r27,42,0,0,1
+    2088:	b7 52 7b 5b 	setvl\.  r27,r27,42,0,1,0
+    208c:	b7 53 7b 5b 	setvl\.  r27,r27,42,0,1,1
+    2090:	77 52 7b 5b 	setvl\.  r27,r27,42,1,0,0
+    2094:	77 53 7b 5b 	setvl\.  r27,r27,42,1,0,1
+    2098:	f7 52 7b 5b 	setvl\.  r27,r27,42,1,1,0
+    209c:	f7 53 7b 5b 	setvl\.  r27,r27,42,1,1,1
+    20a0:	37 64 7b 5b 	setvl\.  r27,r27,51,0,0,0
+    20a4:	37 65 7b 5b 	setvl\.  r27,r27,51,0,0,1
+    20a8:	b7 64 7b 5b 	setvl\.  r27,r27,51,0,1,0
+    20ac:	b7 65 7b 5b 	setvl\.  r27,r27,51,0,1,1
+    20b0:	77 64 7b 5b 	setvl\.  r27,r27,51,1,0,0
+    20b4:	77 65 7b 5b 	setvl\.  r27,r27,51,1,0,1
+    20b8:	f7 64 7b 5b 	setvl\.  r27,r27,51,1,1,0
+    20bc:	f7 65 7b 5b 	setvl\.  r27,r27,51,1,1,1
+    20c0:	37 7c 7b 5b 	setvl\.  r27,r27,63,0,0,0
+    20c4:	37 7d 7b 5b 	setvl\.  r27,r27,63,0,0,1
+    20c8:	b7 7c 7b 5b 	setvl\.  r27,r27,63,0,1,0
+    20cc:	b7 7d 7b 5b 	setvl\.  r27,r27,63,0,1,1
+    20d0:	77 7c 7b 5b 	setvl\.  r27,r27,63,1,0,0
+    20d4:	77 7d 7b 5b 	setvl\.  r27,r27,63,1,0,1
+    20d8:	f7 7c 7b 5b 	setvl\.  r27,r27,63,1,1,0
+    20dc:	f7 7d 7b 5b 	setvl\.  r27,r27,63,1,1,1
+    20e0:	37 3e 7b 5b 	setvl\.  r27,r27,32,0,0,0
+    20e4:	37 3f 7b 5b 	setvl\.  r27,r27,32,0,0,1
+    20e8:	b7 3e 7b 5b 	setvl\.  r27,r27,32,0,1,0
+    20ec:	b7 3f 7b 5b 	setvl\.  r27,r27,32,0,1,1
+    20f0:	77 3e 7b 5b 	setvl\.  r27,r27,32,1,0,0
+    20f4:	77 3f 7b 5b 	setvl\.  r27,r27,32,1,0,1
+    20f8:	f7 3e 7b 5b 	setvl\.  r27,r27,32,1,1,0
+    20fc:	f7 3f 7b 5b 	setvl\.  r27,r27,32,1,1,1
+    2100:	37 00 7f 5b 	setvl\.  r27,r31,1,0,0,0
+    2104:	37 01 7f 5b 	setvl\.  r27,r31,1,0,0,1
+    2108:	b7 00 7f 5b 	setvl\.  r27,r31,1,0,1,0
+    210c:	b7 01 7f 5b 	setvl\.  r27,r31,1,0,1,1
+    2110:	77 00 7f 5b 	setvl\.  r27,r31,1,1,0,0
+    2114:	77 01 7f 5b 	setvl\.  r27,r31,1,1,0,1
+    2118:	f7 00 7f 5b 	setvl\.  r27,r31,1,1,1,0
+    211c:	f7 01 7f 5b 	setvl\.  r27,r31,1,1,1,1
+    2120:	37 28 7f 5b 	setvl\.  r27,r31,21,0,0,0
+    2124:	37 29 7f 5b 	setvl\.  r27,r31,21,0,0,1
+    2128:	b7 28 7f 5b 	setvl\.  r27,r31,21,0,1,0
+    212c:	b7 29 7f 5b 	setvl\.  r27,r31,21,0,1,1
+    2130:	77 28 7f 5b 	setvl\.  r27,r31,21,1,0,0
+    2134:	77 29 7f 5b 	setvl\.  r27,r31,21,1,0,1
+    2138:	f7 28 7f 5b 	setvl\.  r27,r31,21,1,1,0
+    213c:	f7 29 7f 5b 	setvl\.  r27,r31,21,1,1,1
+    2140:	37 52 7f 5b 	setvl\.  r27,r31,42,0,0,0
+    2144:	37 53 7f 5b 	setvl\.  r27,r31,42,0,0,1
+    2148:	b7 52 7f 5b 	setvl\.  r27,r31,42,0,1,0
+    214c:	b7 53 7f 5b 	setvl\.  r27,r31,42,0,1,1
+    2150:	77 52 7f 5b 	setvl\.  r27,r31,42,1,0,0
+    2154:	77 53 7f 5b 	setvl\.  r27,r31,42,1,0,1
+    2158:	f7 52 7f 5b 	setvl\.  r27,r31,42,1,1,0
+    215c:	f7 53 7f 5b 	setvl\.  r27,r31,42,1,1,1
+    2160:	37 64 7f 5b 	setvl\.  r27,r31,51,0,0,0
+    2164:	37 65 7f 5b 	setvl\.  r27,r31,51,0,0,1
+    2168:	b7 64 7f 5b 	setvl\.  r27,r31,51,0,1,0
+    216c:	b7 65 7f 5b 	setvl\.  r27,r31,51,0,1,1
+    2170:	77 64 7f 5b 	setvl\.  r27,r31,51,1,0,0
+    2174:	77 65 7f 5b 	setvl\.  r27,r31,51,1,0,1
+    2178:	f7 64 7f 5b 	setvl\.  r27,r31,51,1,1,0
+    217c:	f7 65 7f 5b 	setvl\.  r27,r31,51,1,1,1
+    2180:	37 7c 7f 5b 	setvl\.  r27,r31,63,0,0,0
+    2184:	37 7d 7f 5b 	setvl\.  r27,r31,63,0,0,1
+    2188:	b7 7c 7f 5b 	setvl\.  r27,r31,63,0,1,0
+    218c:	b7 7d 7f 5b 	setvl\.  r27,r31,63,0,1,1
+    2190:	77 7c 7f 5b 	setvl\.  r27,r31,63,1,0,0
+    2194:	77 7d 7f 5b 	setvl\.  r27,r31,63,1,0,1
+    2198:	f7 7c 7f 5b 	setvl\.  r27,r31,63,1,1,0
+    219c:	f7 7d 7f 5b 	setvl\.  r27,r31,63,1,1,1
+    21a0:	37 3e 7f 5b 	setvl\.  r27,r31,32,0,0,0
+    21a4:	37 3f 7f 5b 	setvl\.  r27,r31,32,0,0,1
+    21a8:	b7 3e 7f 5b 	setvl\.  r27,r31,32,0,1,0
+    21ac:	b7 3f 7f 5b 	setvl\.  r27,r31,32,0,1,1
+    21b0:	77 3e 7f 5b 	setvl\.  r27,r31,32,1,0,0
+    21b4:	77 3f 7f 5b 	setvl\.  r27,r31,32,1,0,1
+    21b8:	f7 3e 7f 5b 	setvl\.  r27,r31,32,1,1,0
+    21bc:	f7 3f 7f 5b 	setvl\.  r27,r31,32,1,1,1
+    21c0:	37 00 e0 5b 	setvl\.  r31,r0,1,0,0,0
+    21c4:	37 01 e0 5b 	setvl\.  r31,r0,1,0,0,1
+    21c8:	b7 00 e0 5b 	setvl\.  r31,r0,1,0,1,0
+    21cc:	b7 01 e0 5b 	setvl\.  r31,r0,1,0,1,1
+    21d0:	77 00 e0 5b 	setvl\.  r31,r0,1,1,0,0
+    21d4:	77 01 e0 5b 	setvl\.  r31,r0,1,1,0,1
+    21d8:	f7 00 e0 5b 	setvl\.  r31,r0,1,1,1,0
+    21dc:	f7 01 e0 5b 	setvl\.  r31,r0,1,1,1,1
+    21e0:	37 28 e0 5b 	setvl\.  r31,r0,21,0,0,0
+    21e4:	37 29 e0 5b 	setvl\.  r31,r0,21,0,0,1
+    21e8:	b7 28 e0 5b 	setvl\.  r31,r0,21,0,1,0
+    21ec:	b7 29 e0 5b 	setvl\.  r31,r0,21,0,1,1
+    21f0:	77 28 e0 5b 	setvl\.  r31,r0,21,1,0,0
+    21f4:	77 29 e0 5b 	setvl\.  r31,r0,21,1,0,1
+    21f8:	f7 28 e0 5b 	setvl\.  r31,r0,21,1,1,0
+    21fc:	f7 29 e0 5b 	setvl\.  r31,r0,21,1,1,1
+    2200:	37 52 e0 5b 	setvl\.  r31,r0,42,0,0,0
+    2204:	37 53 e0 5b 	setvl\.  r31,r0,42,0,0,1
+    2208:	b7 52 e0 5b 	setvl\.  r31,r0,42,0,1,0
+    220c:	b7 53 e0 5b 	setvl\.  r31,r0,42,0,1,1
+    2210:	77 52 e0 5b 	setvl\.  r31,r0,42,1,0,0
+    2214:	77 53 e0 5b 	setvl\.  r31,r0,42,1,0,1
+    2218:	f7 52 e0 5b 	setvl\.  r31,r0,42,1,1,0
+    221c:	f7 53 e0 5b 	setvl\.  r31,r0,42,1,1,1
+    2220:	37 64 e0 5b 	setvl\.  r31,r0,51,0,0,0
+    2224:	37 65 e0 5b 	setvl\.  r31,r0,51,0,0,1
+    2228:	b7 64 e0 5b 	setvl\.  r31,r0,51,0,1,0
+    222c:	b7 65 e0 5b 	setvl\.  r31,r0,51,0,1,1
+    2230:	77 64 e0 5b 	setvl\.  r31,r0,51,1,0,0
+    2234:	77 65 e0 5b 	setvl\.  r31,r0,51,1,0,1
+    2238:	f7 64 e0 5b 	setvl\.  r31,r0,51,1,1,0
+    223c:	f7 65 e0 5b 	setvl\.  r31,r0,51,1,1,1
+    2240:	37 7c e0 5b 	setvl\.  r31,r0,63,0,0,0
+    2244:	37 7d e0 5b 	setvl\.  r31,r0,63,0,0,1
+    2248:	b7 7c e0 5b 	setvl\.  r31,r0,63,0,1,0
+    224c:	b7 7d e0 5b 	setvl\.  r31,r0,63,0,1,1
+    2250:	77 7c e0 5b 	setvl\.  r31,r0,63,1,0,0
+    2254:	77 7d e0 5b 	setvl\.  r31,r0,63,1,0,1
+    2258:	f7 7c e0 5b 	setvl\.  r31,r0,63,1,1,0
+    225c:	f7 7d e0 5b 	setvl\.  r31,r0,63,1,1,1
+    2260:	37 3e e0 5b 	setvl\.  r31,r0,32,0,0,0
+    2264:	37 3f e0 5b 	setvl\.  r31,r0,32,0,0,1
+    2268:	b7 3e e0 5b 	setvl\.  r31,r0,32,0,1,0
+    226c:	b7 3f e0 5b 	setvl\.  r31,r0,32,0,1,1
+    2270:	77 3e e0 5b 	setvl\.  r31,r0,32,1,0,0
+    2274:	77 3f e0 5b 	setvl\.  r31,r0,32,1,0,1
+    2278:	f7 3e e0 5b 	setvl\.  r31,r0,32,1,1,0
+    227c:	f7 3f e0 5b 	setvl\.  r31,r0,32,1,1,1
+    2280:	37 00 ea 5b 	setvl\.  r31,r10,1,0,0,0
+    2284:	37 01 ea 5b 	setvl\.  r31,r10,1,0,0,1
+    2288:	b7 00 ea 5b 	setvl\.  r31,r10,1,0,1,0
+    228c:	b7 01 ea 5b 	setvl\.  r31,r10,1,0,1,1
+    2290:	77 00 ea 5b 	setvl\.  r31,r10,1,1,0,0
+    2294:	77 01 ea 5b 	setvl\.  r31,r10,1,1,0,1
+    2298:	f7 00 ea 5b 	setvl\.  r31,r10,1,1,1,0
+    229c:	f7 01 ea 5b 	setvl\.  r31,r10,1,1,1,1
+    22a0:	37 28 ea 5b 	setvl\.  r31,r10,21,0,0,0
+    22a4:	37 29 ea 5b 	setvl\.  r31,r10,21,0,0,1
+    22a8:	b7 28 ea 5b 	setvl\.  r31,r10,21,0,1,0
+    22ac:	b7 29 ea 5b 	setvl\.  r31,r10,21,0,1,1
+    22b0:	77 28 ea 5b 	setvl\.  r31,r10,21,1,0,0
+    22b4:	77 29 ea 5b 	setvl\.  r31,r10,21,1,0,1
+    22b8:	f7 28 ea 5b 	setvl\.  r31,r10,21,1,1,0
+    22bc:	f7 29 ea 5b 	setvl\.  r31,r10,21,1,1,1
+    22c0:	37 52 ea 5b 	setvl\.  r31,r10,42,0,0,0
+    22c4:	37 53 ea 5b 	setvl\.  r31,r10,42,0,0,1
+    22c8:	b7 52 ea 5b 	setvl\.  r31,r10,42,0,1,0
+    22cc:	b7 53 ea 5b 	setvl\.  r31,r10,42,0,1,1
+    22d0:	77 52 ea 5b 	setvl\.  r31,r10,42,1,0,0
+    22d4:	77 53 ea 5b 	setvl\.  r31,r10,42,1,0,1
+    22d8:	f7 52 ea 5b 	setvl\.  r31,r10,42,1,1,0
+    22dc:	f7 53 ea 5b 	setvl\.  r31,r10,42,1,1,1
+    22e0:	37 64 ea 5b 	setvl\.  r31,r10,51,0,0,0
+    22e4:	37 65 ea 5b 	setvl\.  r31,r10,51,0,0,1
+    22e8:	b7 64 ea 5b 	setvl\.  r31,r10,51,0,1,0
+    22ec:	b7 65 ea 5b 	setvl\.  r31,r10,51,0,1,1
+    22f0:	77 64 ea 5b 	setvl\.  r31,r10,51,1,0,0
+    22f4:	77 65 ea 5b 	setvl\.  r31,r10,51,1,0,1
+    22f8:	f7 64 ea 5b 	setvl\.  r31,r10,51,1,1,0
+    22fc:	f7 65 ea 5b 	setvl\.  r31,r10,51,1,1,1
+    2300:	37 7c ea 5b 	setvl\.  r31,r10,63,0,0,0
+    2304:	37 7d ea 5b 	setvl\.  r31,r10,63,0,0,1
+    2308:	b7 7c ea 5b 	setvl\.  r31,r10,63,0,1,0
+    230c:	b7 7d ea 5b 	setvl\.  r31,r10,63,0,1,1
+    2310:	77 7c ea 5b 	setvl\.  r31,r10,63,1,0,0
+    2314:	77 7d ea 5b 	setvl\.  r31,r10,63,1,0,1
+    2318:	f7 7c ea 5b 	setvl\.  r31,r10,63,1,1,0
+    231c:	f7 7d ea 5b 	setvl\.  r31,r10,63,1,1,1
+    2320:	37 3e ea 5b 	setvl\.  r31,r10,32,0,0,0
+    2324:	37 3f ea 5b 	setvl\.  r31,r10,32,0,0,1
+    2328:	b7 3e ea 5b 	setvl\.  r31,r10,32,0,1,0
+    232c:	b7 3f ea 5b 	setvl\.  r31,r10,32,0,1,1
+    2330:	77 3e ea 5b 	setvl\.  r31,r10,32,1,0,0
+    2334:	77 3f ea 5b 	setvl\.  r31,r10,32,1,0,1
+    2338:	f7 3e ea 5b 	setvl\.  r31,r10,32,1,1,0
+    233c:	f7 3f ea 5b 	setvl\.  r31,r10,32,1,1,1
+    2340:	37 00 f5 5b 	setvl\.  r31,r21,1,0,0,0
+    2344:	37 01 f5 5b 	setvl\.  r31,r21,1,0,0,1
+    2348:	b7 00 f5 5b 	setvl\.  r31,r21,1,0,1,0
+    234c:	b7 01 f5 5b 	setvl\.  r31,r21,1,0,1,1
+    2350:	77 00 f5 5b 	setvl\.  r31,r21,1,1,0,0
+    2354:	77 01 f5 5b 	setvl\.  r31,r21,1,1,0,1
+    2358:	f7 00 f5 5b 	setvl\.  r31,r21,1,1,1,0
+    235c:	f7 01 f5 5b 	setvl\.  r31,r21,1,1,1,1
+    2360:	37 28 f5 5b 	setvl\.  r31,r21,21,0,0,0
+    2364:	37 29 f5 5b 	setvl\.  r31,r21,21,0,0,1
+    2368:	b7 28 f5 5b 	setvl\.  r31,r21,21,0,1,0
+    236c:	b7 29 f5 5b 	setvl\.  r31,r21,21,0,1,1
+    2370:	77 28 f5 5b 	setvl\.  r31,r21,21,1,0,0
+    2374:	77 29 f5 5b 	setvl\.  r31,r21,21,1,0,1
+    2378:	f7 28 f5 5b 	setvl\.  r31,r21,21,1,1,0
+    237c:	f7 29 f5 5b 	setvl\.  r31,r21,21,1,1,1
+    2380:	37 52 f5 5b 	setvl\.  r31,r21,42,0,0,0
+    2384:	37 53 f5 5b 	setvl\.  r31,r21,42,0,0,1
+    2388:	b7 52 f5 5b 	setvl\.  r31,r21,42,0,1,0
+    238c:	b7 53 f5 5b 	setvl\.  r31,r21,42,0,1,1
+    2390:	77 52 f5 5b 	setvl\.  r31,r21,42,1,0,0
+    2394:	77 53 f5 5b 	setvl\.  r31,r21,42,1,0,1
+    2398:	f7 52 f5 5b 	setvl\.  r31,r21,42,1,1,0
+    239c:	f7 53 f5 5b 	setvl\.  r31,r21,42,1,1,1
+    23a0:	37 64 f5 5b 	setvl\.  r31,r21,51,0,0,0
+    23a4:	37 65 f5 5b 	setvl\.  r31,r21,51,0,0,1
+    23a8:	b7 64 f5 5b 	setvl\.  r31,r21,51,0,1,0
+    23ac:	b7 65 f5 5b 	setvl\.  r31,r21,51,0,1,1
+    23b0:	77 64 f5 5b 	setvl\.  r31,r21,51,1,0,0
+    23b4:	77 65 f5 5b 	setvl\.  r31,r21,51,1,0,1
+    23b8:	f7 64 f5 5b 	setvl\.  r31,r21,51,1,1,0
+    23bc:	f7 65 f5 5b 	setvl\.  r31,r21,51,1,1,1
+    23c0:	37 7c f5 5b 	setvl\.  r31,r21,63,0,0,0
+    23c4:	37 7d f5 5b 	setvl\.  r31,r21,63,0,0,1
+    23c8:	b7 7c f5 5b 	setvl\.  r31,r21,63,0,1,0
+    23cc:	b7 7d f5 5b 	setvl\.  r31,r21,63,0,1,1
+    23d0:	77 7c f5 5b 	setvl\.  r31,r21,63,1,0,0
+    23d4:	77 7d f5 5b 	setvl\.  r31,r21,63,1,0,1
+    23d8:	f7 7c f5 5b 	setvl\.  r31,r21,63,1,1,0
+    23dc:	f7 7d f5 5b 	setvl\.  r31,r21,63,1,1,1
+    23e0:	37 3e f5 5b 	setvl\.  r31,r21,32,0,0,0
+    23e4:	37 3f f5 5b 	setvl\.  r31,r21,32,0,0,1
+    23e8:	b7 3e f5 5b 	setvl\.  r31,r21,32,0,1,0
+    23ec:	b7 3f f5 5b 	setvl\.  r31,r21,32,0,1,1
+    23f0:	77 3e f5 5b 	setvl\.  r31,r21,32,1,0,0
+    23f4:	77 3f f5 5b 	setvl\.  r31,r21,32,1,0,1
+    23f8:	f7 3e f5 5b 	setvl\.  r31,r21,32,1,1,0
+    23fc:	f7 3f f5 5b 	setvl\.  r31,r21,32,1,1,1
+    2400:	37 00 fb 5b 	setvl\.  r31,r27,1,0,0,0
+    2404:	37 01 fb 5b 	setvl\.  r31,r27,1,0,0,1
+    2408:	b7 00 fb 5b 	setvl\.  r31,r27,1,0,1,0
+    240c:	b7 01 fb 5b 	setvl\.  r31,r27,1,0,1,1
+    2410:	77 00 fb 5b 	setvl\.  r31,r27,1,1,0,0
+    2414:	77 01 fb 5b 	setvl\.  r31,r27,1,1,0,1
+    2418:	f7 00 fb 5b 	setvl\.  r31,r27,1,1,1,0
+    241c:	f7 01 fb 5b 	setvl\.  r31,r27,1,1,1,1
+    2420:	37 28 fb 5b 	setvl\.  r31,r27,21,0,0,0
+    2424:	37 29 fb 5b 	setvl\.  r31,r27,21,0,0,1
+    2428:	b7 28 fb 5b 	setvl\.  r31,r27,21,0,1,0
+    242c:	b7 29 fb 5b 	setvl\.  r31,r27,21,0,1,1
+    2430:	77 28 fb 5b 	setvl\.  r31,r27,21,1,0,0
+    2434:	77 29 fb 5b 	setvl\.  r31,r27,21,1,0,1
+    2438:	f7 28 fb 5b 	setvl\.  r31,r27,21,1,1,0
+    243c:	f7 29 fb 5b 	setvl\.  r31,r27,21,1,1,1
+    2440:	37 52 fb 5b 	setvl\.  r31,r27,42,0,0,0
+    2444:	37 53 fb 5b 	setvl\.  r31,r27,42,0,0,1
+    2448:	b7 52 fb 5b 	setvl\.  r31,r27,42,0,1,0
+    244c:	b7 53 fb 5b 	setvl\.  r31,r27,42,0,1,1
+    2450:	77 52 fb 5b 	setvl\.  r31,r27,42,1,0,0
+    2454:	77 53 fb 5b 	setvl\.  r31,r27,42,1,0,1
+    2458:	f7 52 fb 5b 	setvl\.  r31,r27,42,1,1,0
+    245c:	f7 53 fb 5b 	setvl\.  r31,r27,42,1,1,1
+    2460:	37 64 fb 5b 	setvl\.  r31,r27,51,0,0,0
+    2464:	37 65 fb 5b 	setvl\.  r31,r27,51,0,0,1
+    2468:	b7 64 fb 5b 	setvl\.  r31,r27,51,0,1,0
+    246c:	b7 65 fb 5b 	setvl\.  r31,r27,51,0,1,1
+    2470:	77 64 fb 5b 	setvl\.  r31,r27,51,1,0,0
+    2474:	77 65 fb 5b 	setvl\.  r31,r27,51,1,0,1
+    2478:	f7 64 fb 5b 	setvl\.  r31,r27,51,1,1,0
+    247c:	f7 65 fb 5b 	setvl\.  r31,r27,51,1,1,1
+    2480:	37 7c fb 5b 	setvl\.  r31,r27,63,0,0,0
+    2484:	37 7d fb 5b 	setvl\.  r31,r27,63,0,0,1
+    2488:	b7 7c fb 5b 	setvl\.  r31,r27,63,0,1,0
+    248c:	b7 7d fb 5b 	setvl\.  r31,r27,63,0,1,1
+    2490:	77 7c fb 5b 	setvl\.  r31,r27,63,1,0,0
+    2494:	77 7d fb 5b 	setvl\.  r31,r27,63,1,0,1
+    2498:	f7 7c fb 5b 	setvl\.  r31,r27,63,1,1,0
+    249c:	f7 7d fb 5b 	setvl\.  r31,r27,63,1,1,1
+    24a0:	37 3e fb 5b 	setvl\.  r31,r27,32,0,0,0
+    24a4:	37 3f fb 5b 	setvl\.  r31,r27,32,0,0,1
+    24a8:	b7 3e fb 5b 	setvl\.  r31,r27,32,0,1,0
+    24ac:	b7 3f fb 5b 	setvl\.  r31,r27,32,0,1,1
+    24b0:	77 3e fb 5b 	setvl\.  r31,r27,32,1,0,0
+    24b4:	77 3f fb 5b 	setvl\.  r31,r27,32,1,0,1
+    24b8:	f7 3e fb 5b 	setvl\.  r31,r27,32,1,1,0
+    24bc:	f7 3f fb 5b 	setvl\.  r31,r27,32,1,1,1
+    24c0:	37 00 ff 5b 	setvl\.  r31,r31,1,0,0,0
+    24c4:	37 01 ff 5b 	setvl\.  r31,r31,1,0,0,1
+    24c8:	b7 00 ff 5b 	setvl\.  r31,r31,1,0,1,0
+    24cc:	b7 01 ff 5b 	setvl\.  r31,r31,1,0,1,1
+    24d0:	77 00 ff 5b 	setvl\.  r31,r31,1,1,0,0
+    24d4:	77 01 ff 5b 	setvl\.  r31,r31,1,1,0,1
+    24d8:	f7 00 ff 5b 	setvl\.  r31,r31,1,1,1,0
+    24dc:	f7 01 ff 5b 	setvl\.  r31,r31,1,1,1,1
+    24e0:	37 28 ff 5b 	setvl\.  r31,r31,21,0,0,0
+    24e4:	37 29 ff 5b 	setvl\.  r31,r31,21,0,0,1
+    24e8:	b7 28 ff 5b 	setvl\.  r31,r31,21,0,1,0
+    24ec:	b7 29 ff 5b 	setvl\.  r31,r31,21,0,1,1
+    24f0:	77 28 ff 5b 	setvl\.  r31,r31,21,1,0,0
+    24f4:	77 29 ff 5b 	setvl\.  r31,r31,21,1,0,1
+    24f8:	f7 28 ff 5b 	setvl\.  r31,r31,21,1,1,0
+    24fc:	f7 29 ff 5b 	setvl\.  r31,r31,21,1,1,1
+    2500:	37 52 ff 5b 	setvl\.  r31,r31,42,0,0,0
+    2504:	37 53 ff 5b 	setvl\.  r31,r31,42,0,0,1
+    2508:	b7 52 ff 5b 	setvl\.  r31,r31,42,0,1,0
+    250c:	b7 53 ff 5b 	setvl\.  r31,r31,42,0,1,1
+    2510:	77 52 ff 5b 	setvl\.  r31,r31,42,1,0,0
+    2514:	77 53 ff 5b 	setvl\.  r31,r31,42,1,0,1
+    2518:	f7 52 ff 5b 	setvl\.  r31,r31,42,1,1,0
+    251c:	f7 53 ff 5b 	setvl\.  r31,r31,42,1,1,1
+    2520:	37 64 ff 5b 	setvl\.  r31,r31,51,0,0,0
+    2524:	37 65 ff 5b 	setvl\.  r31,r31,51,0,0,1
+    2528:	b7 64 ff 5b 	setvl\.  r31,r31,51,0,1,0
+    252c:	b7 65 ff 5b 	setvl\.  r31,r31,51,0,1,1
+    2530:	77 64 ff 5b 	setvl\.  r31,r31,51,1,0,0
+    2534:	77 65 ff 5b 	setvl\.  r31,r31,51,1,0,1
+    2538:	f7 64 ff 5b 	setvl\.  r31,r31,51,1,1,0
+    253c:	f7 65 ff 5b 	setvl\.  r31,r31,51,1,1,1
+    2540:	37 7c ff 5b 	setvl\.  r31,r31,63,0,0,0
+    2544:	37 7d ff 5b 	setvl\.  r31,r31,63,0,0,1
+    2548:	b7 7c ff 5b 	setvl\.  r31,r31,63,0,1,0
+    254c:	b7 7d ff 5b 	setvl\.  r31,r31,63,0,1,1
+    2550:	77 7c ff 5b 	setvl\.  r31,r31,63,1,0,0
+    2554:	77 7d ff 5b 	setvl\.  r31,r31,63,1,0,1
+    2558:	f7 7c ff 5b 	setvl\.  r31,r31,63,1,1,0
+    255c:	f7 7d ff 5b 	setvl\.  r31,r31,63,1,1,1
+    2560:	37 3e ff 5b 	setvl\.  r31,r31,32,0,0,0
+    2564:	37 3f ff 5b 	setvl\.  r31,r31,32,0,0,1
+    2568:	b7 3e ff 5b 	setvl\.  r31,r31,32,0,1,0
+    256c:	b7 3f ff 5b 	setvl\.  r31,r31,32,0,1,1
+    2570:	77 3e ff 5b 	setvl\.  r31,r31,32,1,0,0
+    2574:	77 3f ff 5b 	setvl\.  r31,r31,32,1,0,1
+    2578:	f7 3e ff 5b 	setvl\.  r31,r31,32,1,1,0
+    257c:	f7 3f ff 5b 	setvl\.  r31,r31,32,1,1,1
diff --git a/gas/testsuite/gas/ppc/setvl.s b/gas/testsuite/gas/ppc/setvl.s
new file mode 100644
index 0000000000..944f8afc08
--- /dev/null
+++ b/gas/testsuite/gas/ppc/setvl.s
@@ -0,0 +1,2400 @@
+setvl 0,0,1,0,0,0
+setvl 0,0,1,0,0,1
+setvl 0,0,1,0,1,0
+setvl 0,0,1,0,1,1
+setvl 0,0,1,1,0,0
+setvl 0,0,1,1,0,1
+setvl 0,0,1,1,1,0
+setvl 0,0,1,1,1,1
+setvl 0,0,21,0,0,0
+setvl 0,0,21,0,0,1
+setvl 0,0,21,0,1,0
+setvl 0,0,21,0,1,1
+setvl 0,0,21,1,0,0
+setvl 0,0,21,1,0,1
+setvl 0,0,21,1,1,0
+setvl 0,0,21,1,1,1
+setvl 0,0,42,0,0,0
+setvl 0,0,42,0,0,1
+setvl 0,0,42,0,1,0
+setvl 0,0,42,0,1,1
+setvl 0,0,42,1,0,0
+setvl 0,0,42,1,0,1
+setvl 0,0,42,1,1,0
+setvl 0,0,42,1,1,1
+setvl 0,0,51,0,0,0
+setvl 0,0,51,0,0,1
+setvl 0,0,51,0,1,0
+setvl 0,0,51,0,1,1
+setvl 0,0,51,1,0,0
+setvl 0,0,51,1,0,1
+setvl 0,0,51,1,1,0
+setvl 0,0,51,1,1,1
+setvl 0,0,63,0,0,0
+setvl 0,0,63,0,0,1
+setvl 0,0,63,0,1,0
+setvl 0,0,63,0,1,1
+setvl 0,0,63,1,0,0
+setvl 0,0,63,1,0,1
+setvl 0,0,63,1,1,0
+setvl 0,0,63,1,1,1
+setvl 0,0,32,0,0,0
+setvl 0,0,32,0,0,1
+setvl 0,0,32,0,1,0
+setvl 0,0,32,0,1,1
+setvl 0,0,32,1,0,0
+setvl 0,0,32,1,0,1
+setvl 0,0,32,1,1,0
+setvl 0,0,32,1,1,1
+setvl 0,10,1,0,0,0
+setvl 0,10,1,0,0,1
+setvl 0,10,1,0,1,0
+setvl 0,10,1,0,1,1
+setvl 0,10,1,1,0,0
+setvl 0,10,1,1,0,1
+setvl 0,10,1,1,1,0
+setvl 0,10,1,1,1,1
+setvl 0,10,21,0,0,0
+setvl 0,10,21,0,0,1
+setvl 0,10,21,0,1,0
+setvl 0,10,21,0,1,1
+setvl 0,10,21,1,0,0
+setvl 0,10,21,1,0,1
+setvl 0,10,21,1,1,0
+setvl 0,10,21,1,1,1
+setvl 0,10,42,0,0,0
+setvl 0,10,42,0,0,1
+setvl 0,10,42,0,1,0
+setvl 0,10,42,0,1,1
+setvl 0,10,42,1,0,0
+setvl 0,10,42,1,0,1
+setvl 0,10,42,1,1,0
+setvl 0,10,42,1,1,1
+setvl 0,10,51,0,0,0
+setvl 0,10,51,0,0,1
+setvl 0,10,51,0,1,0
+setvl 0,10,51,0,1,1
+setvl 0,10,51,1,0,0
+setvl 0,10,51,1,0,1
+setvl 0,10,51,1,1,0
+setvl 0,10,51,1,1,1
+setvl 0,10,63,0,0,0
+setvl 0,10,63,0,0,1
+setvl 0,10,63,0,1,0
+setvl 0,10,63,0,1,1
+setvl 0,10,63,1,0,0
+setvl 0,10,63,1,0,1
+setvl 0,10,63,1,1,0
+setvl 0,10,63,1,1,1
+setvl 0,10,32,0,0,0
+setvl 0,10,32,0,0,1
+setvl 0,10,32,0,1,0
+setvl 0,10,32,0,1,1
+setvl 0,10,32,1,0,0
+setvl 0,10,32,1,0,1
+setvl 0,10,32,1,1,0
+setvl 0,10,32,1,1,1
+setvl 0,21,1,0,0,0
+setvl 0,21,1,0,0,1
+setvl 0,21,1,0,1,0
+setvl 0,21,1,0,1,1
+setvl 0,21,1,1,0,0
+setvl 0,21,1,1,0,1
+setvl 0,21,1,1,1,0
+setvl 0,21,1,1,1,1
+setvl 0,21,21,0,0,0
+setvl 0,21,21,0,0,1
+setvl 0,21,21,0,1,0
+setvl 0,21,21,0,1,1
+setvl 0,21,21,1,0,0
+setvl 0,21,21,1,0,1
+setvl 0,21,21,1,1,0
+setvl 0,21,21,1,1,1
+setvl 0,21,42,0,0,0
+setvl 0,21,42,0,0,1
+setvl 0,21,42,0,1,0
+setvl 0,21,42,0,1,1
+setvl 0,21,42,1,0,0
+setvl 0,21,42,1,0,1
+setvl 0,21,42,1,1,0
+setvl 0,21,42,1,1,1
+setvl 0,21,51,0,0,0
+setvl 0,21,51,0,0,1
+setvl 0,21,51,0,1,0
+setvl 0,21,51,0,1,1
+setvl 0,21,51,1,0,0
+setvl 0,21,51,1,0,1
+setvl 0,21,51,1,1,0
+setvl 0,21,51,1,1,1
+setvl 0,21,63,0,0,0
+setvl 0,21,63,0,0,1
+setvl 0,21,63,0,1,0
+setvl 0,21,63,0,1,1
+setvl 0,21,63,1,0,0
+setvl 0,21,63,1,0,1
+setvl 0,21,63,1,1,0
+setvl 0,21,63,1,1,1
+setvl 0,21,32,0,0,0
+setvl 0,21,32,0,0,1
+setvl 0,21,32,0,1,0
+setvl 0,21,32,0,1,1
+setvl 0,21,32,1,0,0
+setvl 0,21,32,1,0,1
+setvl 0,21,32,1,1,0
+setvl 0,21,32,1,1,1
+setvl 0,27,1,0,0,0
+setvl 0,27,1,0,0,1
+setvl 0,27,1,0,1,0
+setvl 0,27,1,0,1,1
+setvl 0,27,1,1,0,0
+setvl 0,27,1,1,0,1
+setvl 0,27,1,1,1,0
+setvl 0,27,1,1,1,1
+setvl 0,27,21,0,0,0
+setvl 0,27,21,0,0,1
+setvl 0,27,21,0,1,0
+setvl 0,27,21,0,1,1
+setvl 0,27,21,1,0,0
+setvl 0,27,21,1,0,1
+setvl 0,27,21,1,1,0
+setvl 0,27,21,1,1,1
+setvl 0,27,42,0,0,0
+setvl 0,27,42,0,0,1
+setvl 0,27,42,0,1,0
+setvl 0,27,42,0,1,1
+setvl 0,27,42,1,0,0
+setvl 0,27,42,1,0,1
+setvl 0,27,42,1,1,0
+setvl 0,27,42,1,1,1
+setvl 0,27,51,0,0,0
+setvl 0,27,51,0,0,1
+setvl 0,27,51,0,1,0
+setvl 0,27,51,0,1,1
+setvl 0,27,51,1,0,0
+setvl 0,27,51,1,0,1
+setvl 0,27,51,1,1,0
+setvl 0,27,51,1,1,1
+setvl 0,27,63,0,0,0
+setvl 0,27,63,0,0,1
+setvl 0,27,63,0,1,0
+setvl 0,27,63,0,1,1
+setvl 0,27,63,1,0,0
+setvl 0,27,63,1,0,1
+setvl 0,27,63,1,1,0
+setvl 0,27,63,1,1,1
+setvl 0,27,32,0,0,0
+setvl 0,27,32,0,0,1
+setvl 0,27,32,0,1,0
+setvl 0,27,32,0,1,1
+setvl 0,27,32,1,0,0
+setvl 0,27,32,1,0,1
+setvl 0,27,32,1,1,0
+setvl 0,27,32,1,1,1
+setvl 0,31,1,0,0,0
+setvl 0,31,1,0,0,1
+setvl 0,31,1,0,1,0
+setvl 0,31,1,0,1,1
+setvl 0,31,1,1,0,0
+setvl 0,31,1,1,0,1
+setvl 0,31,1,1,1,0
+setvl 0,31,1,1,1,1
+setvl 0,31,21,0,0,0
+setvl 0,31,21,0,0,1
+setvl 0,31,21,0,1,0
+setvl 0,31,21,0,1,1
+setvl 0,31,21,1,0,0
+setvl 0,31,21,1,0,1
+setvl 0,31,21,1,1,0
+setvl 0,31,21,1,1,1
+setvl 0,31,42,0,0,0
+setvl 0,31,42,0,0,1
+setvl 0,31,42,0,1,0
+setvl 0,31,42,0,1,1
+setvl 0,31,42,1,0,0
+setvl 0,31,42,1,0,1
+setvl 0,31,42,1,1,0
+setvl 0,31,42,1,1,1
+setvl 0,31,51,0,0,0
+setvl 0,31,51,0,0,1
+setvl 0,31,51,0,1,0
+setvl 0,31,51,0,1,1
+setvl 0,31,51,1,0,0
+setvl 0,31,51,1,0,1
+setvl 0,31,51,1,1,0
+setvl 0,31,51,1,1,1
+setvl 0,31,63,0,0,0
+setvl 0,31,63,0,0,1
+setvl 0,31,63,0,1,0
+setvl 0,31,63,0,1,1
+setvl 0,31,63,1,0,0
+setvl 0,31,63,1,0,1
+setvl 0,31,63,1,1,0
+setvl 0,31,63,1,1,1
+setvl 0,31,32,0,0,0
+setvl 0,31,32,0,0,1
+setvl 0,31,32,0,1,0
+setvl 0,31,32,0,1,1
+setvl 0,31,32,1,0,0
+setvl 0,31,32,1,0,1
+setvl 0,31,32,1,1,0
+setvl 0,31,32,1,1,1
+setvl 10,0,1,0,0,0
+setvl 10,0,1,0,0,1
+setvl 10,0,1,0,1,0
+setvl 10,0,1,0,1,1
+setvl 10,0,1,1,0,0
+setvl 10,0,1,1,0,1
+setvl 10,0,1,1,1,0
+setvl 10,0,1,1,1,1
+setvl 10,0,21,0,0,0
+setvl 10,0,21,0,0,1
+setvl 10,0,21,0,1,0
+setvl 10,0,21,0,1,1
+setvl 10,0,21,1,0,0
+setvl 10,0,21,1,0,1
+setvl 10,0,21,1,1,0
+setvl 10,0,21,1,1,1
+setvl 10,0,42,0,0,0
+setvl 10,0,42,0,0,1
+setvl 10,0,42,0,1,0
+setvl 10,0,42,0,1,1
+setvl 10,0,42,1,0,0
+setvl 10,0,42,1,0,1
+setvl 10,0,42,1,1,0
+setvl 10,0,42,1,1,1
+setvl 10,0,51,0,0,0
+setvl 10,0,51,0,0,1
+setvl 10,0,51,0,1,0
+setvl 10,0,51,0,1,1
+setvl 10,0,51,1,0,0
+setvl 10,0,51,1,0,1
+setvl 10,0,51,1,1,0
+setvl 10,0,51,1,1,1
+setvl 10,0,63,0,0,0
+setvl 10,0,63,0,0,1
+setvl 10,0,63,0,1,0
+setvl 10,0,63,0,1,1
+setvl 10,0,63,1,0,0
+setvl 10,0,63,1,0,1
+setvl 10,0,63,1,1,0
+setvl 10,0,63,1,1,1
+setvl 10,0,32,0,0,0
+setvl 10,0,32,0,0,1
+setvl 10,0,32,0,1,0
+setvl 10,0,32,0,1,1
+setvl 10,0,32,1,0,0
+setvl 10,0,32,1,0,1
+setvl 10,0,32,1,1,0
+setvl 10,0,32,1,1,1
+setvl 10,10,1,0,0,0
+setvl 10,10,1,0,0,1
+setvl 10,10,1,0,1,0
+setvl 10,10,1,0,1,1
+setvl 10,10,1,1,0,0
+setvl 10,10,1,1,0,1
+setvl 10,10,1,1,1,0
+setvl 10,10,1,1,1,1
+setvl 10,10,21,0,0,0
+setvl 10,10,21,0,0,1
+setvl 10,10,21,0,1,0
+setvl 10,10,21,0,1,1
+setvl 10,10,21,1,0,0
+setvl 10,10,21,1,0,1
+setvl 10,10,21,1,1,0
+setvl 10,10,21,1,1,1
+setvl 10,10,42,0,0,0
+setvl 10,10,42,0,0,1
+setvl 10,10,42,0,1,0
+setvl 10,10,42,0,1,1
+setvl 10,10,42,1,0,0
+setvl 10,10,42,1,0,1
+setvl 10,10,42,1,1,0
+setvl 10,10,42,1,1,1
+setvl 10,10,51,0,0,0
+setvl 10,10,51,0,0,1
+setvl 10,10,51,0,1,0
+setvl 10,10,51,0,1,1
+setvl 10,10,51,1,0,0
+setvl 10,10,51,1,0,1
+setvl 10,10,51,1,1,0
+setvl 10,10,51,1,1,1
+setvl 10,10,63,0,0,0
+setvl 10,10,63,0,0,1
+setvl 10,10,63,0,1,0
+setvl 10,10,63,0,1,1
+setvl 10,10,63,1,0,0
+setvl 10,10,63,1,0,1
+setvl 10,10,63,1,1,0
+setvl 10,10,63,1,1,1
+setvl 10,10,32,0,0,0
+setvl 10,10,32,0,0,1
+setvl 10,10,32,0,1,0
+setvl 10,10,32,0,1,1
+setvl 10,10,32,1,0,0
+setvl 10,10,32,1,0,1
+setvl 10,10,32,1,1,0
+setvl 10,10,32,1,1,1
+setvl 10,21,1,0,0,0
+setvl 10,21,1,0,0,1
+setvl 10,21,1,0,1,0
+setvl 10,21,1,0,1,1
+setvl 10,21,1,1,0,0
+setvl 10,21,1,1,0,1
+setvl 10,21,1,1,1,0
+setvl 10,21,1,1,1,1
+setvl 10,21,21,0,0,0
+setvl 10,21,21,0,0,1
+setvl 10,21,21,0,1,0
+setvl 10,21,21,0,1,1
+setvl 10,21,21,1,0,0
+setvl 10,21,21,1,0,1
+setvl 10,21,21,1,1,0
+setvl 10,21,21,1,1,1
+setvl 10,21,42,0,0,0
+setvl 10,21,42,0,0,1
+setvl 10,21,42,0,1,0
+setvl 10,21,42,0,1,1
+setvl 10,21,42,1,0,0
+setvl 10,21,42,1,0,1
+setvl 10,21,42,1,1,0
+setvl 10,21,42,1,1,1
+setvl 10,21,51,0,0,0
+setvl 10,21,51,0,0,1
+setvl 10,21,51,0,1,0
+setvl 10,21,51,0,1,1
+setvl 10,21,51,1,0,0
+setvl 10,21,51,1,0,1
+setvl 10,21,51,1,1,0
+setvl 10,21,51,1,1,1
+setvl 10,21,63,0,0,0
+setvl 10,21,63,0,0,1
+setvl 10,21,63,0,1,0
+setvl 10,21,63,0,1,1
+setvl 10,21,63,1,0,0
+setvl 10,21,63,1,0,1
+setvl 10,21,63,1,1,0
+setvl 10,21,63,1,1,1
+setvl 10,21,32,0,0,0
+setvl 10,21,32,0,0,1
+setvl 10,21,32,0,1,0
+setvl 10,21,32,0,1,1
+setvl 10,21,32,1,0,0
+setvl 10,21,32,1,0,1
+setvl 10,21,32,1,1,0
+setvl 10,21,32,1,1,1
+setvl 10,27,1,0,0,0
+setvl 10,27,1,0,0,1
+setvl 10,27,1,0,1,0
+setvl 10,27,1,0,1,1
+setvl 10,27,1,1,0,0
+setvl 10,27,1,1,0,1
+setvl 10,27,1,1,1,0
+setvl 10,27,1,1,1,1
+setvl 10,27,21,0,0,0
+setvl 10,27,21,0,0,1
+setvl 10,27,21,0,1,0
+setvl 10,27,21,0,1,1
+setvl 10,27,21,1,0,0
+setvl 10,27,21,1,0,1
+setvl 10,27,21,1,1,0
+setvl 10,27,21,1,1,1
+setvl 10,27,42,0,0,0
+setvl 10,27,42,0,0,1
+setvl 10,27,42,0,1,0
+setvl 10,27,42,0,1,1
+setvl 10,27,42,1,0,0
+setvl 10,27,42,1,0,1
+setvl 10,27,42,1,1,0
+setvl 10,27,42,1,1,1
+setvl 10,27,51,0,0,0
+setvl 10,27,51,0,0,1
+setvl 10,27,51,0,1,0
+setvl 10,27,51,0,1,1
+setvl 10,27,51,1,0,0
+setvl 10,27,51,1,0,1
+setvl 10,27,51,1,1,0
+setvl 10,27,51,1,1,1
+setvl 10,27,63,0,0,0
+setvl 10,27,63,0,0,1
+setvl 10,27,63,0,1,0
+setvl 10,27,63,0,1,1
+setvl 10,27,63,1,0,0
+setvl 10,27,63,1,0,1
+setvl 10,27,63,1,1,0
+setvl 10,27,63,1,1,1
+setvl 10,27,32,0,0,0
+setvl 10,27,32,0,0,1
+setvl 10,27,32,0,1,0
+setvl 10,27,32,0,1,1
+setvl 10,27,32,1,0,0
+setvl 10,27,32,1,0,1
+setvl 10,27,32,1,1,0
+setvl 10,27,32,1,1,1
+setvl 10,31,1,0,0,0
+setvl 10,31,1,0,0,1
+setvl 10,31,1,0,1,0
+setvl 10,31,1,0,1,1
+setvl 10,31,1,1,0,0
+setvl 10,31,1,1,0,1
+setvl 10,31,1,1,1,0
+setvl 10,31,1,1,1,1
+setvl 10,31,21,0,0,0
+setvl 10,31,21,0,0,1
+setvl 10,31,21,0,1,0
+setvl 10,31,21,0,1,1
+setvl 10,31,21,1,0,0
+setvl 10,31,21,1,0,1
+setvl 10,31,21,1,1,0
+setvl 10,31,21,1,1,1
+setvl 10,31,42,0,0,0
+setvl 10,31,42,0,0,1
+setvl 10,31,42,0,1,0
+setvl 10,31,42,0,1,1
+setvl 10,31,42,1,0,0
+setvl 10,31,42,1,0,1
+setvl 10,31,42,1,1,0
+setvl 10,31,42,1,1,1
+setvl 10,31,51,0,0,0
+setvl 10,31,51,0,0,1
+setvl 10,31,51,0,1,0
+setvl 10,31,51,0,1,1
+setvl 10,31,51,1,0,0
+setvl 10,31,51,1,0,1
+setvl 10,31,51,1,1,0
+setvl 10,31,51,1,1,1
+setvl 10,31,63,0,0,0
+setvl 10,31,63,0,0,1
+setvl 10,31,63,0,1,0
+setvl 10,31,63,0,1,1
+setvl 10,31,63,1,0,0
+setvl 10,31,63,1,0,1
+setvl 10,31,63,1,1,0
+setvl 10,31,63,1,1,1
+setvl 10,31,32,0,0,0
+setvl 10,31,32,0,0,1
+setvl 10,31,32,0,1,0
+setvl 10,31,32,0,1,1
+setvl 10,31,32,1,0,0
+setvl 10,31,32,1,0,1
+setvl 10,31,32,1,1,0
+setvl 10,31,32,1,1,1
+setvl 21,0,1,0,0,0
+setvl 21,0,1,0,0,1
+setvl 21,0,1,0,1,0
+setvl 21,0,1,0,1,1
+setvl 21,0,1,1,0,0
+setvl 21,0,1,1,0,1
+setvl 21,0,1,1,1,0
+setvl 21,0,1,1,1,1
+setvl 21,0,21,0,0,0
+setvl 21,0,21,0,0,1
+setvl 21,0,21,0,1,0
+setvl 21,0,21,0,1,1
+setvl 21,0,21,1,0,0
+setvl 21,0,21,1,0,1
+setvl 21,0,21,1,1,0
+setvl 21,0,21,1,1,1
+setvl 21,0,42,0,0,0
+setvl 21,0,42,0,0,1
+setvl 21,0,42,0,1,0
+setvl 21,0,42,0,1,1
+setvl 21,0,42,1,0,0
+setvl 21,0,42,1,0,1
+setvl 21,0,42,1,1,0
+setvl 21,0,42,1,1,1
+setvl 21,0,51,0,0,0
+setvl 21,0,51,0,0,1
+setvl 21,0,51,0,1,0
+setvl 21,0,51,0,1,1
+setvl 21,0,51,1,0,0
+setvl 21,0,51,1,0,1
+setvl 21,0,51,1,1,0
+setvl 21,0,51,1,1,1
+setvl 21,0,63,0,0,0
+setvl 21,0,63,0,0,1
+setvl 21,0,63,0,1,0
+setvl 21,0,63,0,1,1
+setvl 21,0,63,1,0,0
+setvl 21,0,63,1,0,1
+setvl 21,0,63,1,1,0
+setvl 21,0,63,1,1,1
+setvl 21,0,32,0,0,0
+setvl 21,0,32,0,0,1
+setvl 21,0,32,0,1,0
+setvl 21,0,32,0,1,1
+setvl 21,0,32,1,0,0
+setvl 21,0,32,1,0,1
+setvl 21,0,32,1,1,0
+setvl 21,0,32,1,1,1
+setvl 21,10,1,0,0,0
+setvl 21,10,1,0,0,1
+setvl 21,10,1,0,1,0
+setvl 21,10,1,0,1,1
+setvl 21,10,1,1,0,0
+setvl 21,10,1,1,0,1
+setvl 21,10,1,1,1,0
+setvl 21,10,1,1,1,1
+setvl 21,10,21,0,0,0
+setvl 21,10,21,0,0,1
+setvl 21,10,21,0,1,0
+setvl 21,10,21,0,1,1
+setvl 21,10,21,1,0,0
+setvl 21,10,21,1,0,1
+setvl 21,10,21,1,1,0
+setvl 21,10,21,1,1,1
+setvl 21,10,42,0,0,0
+setvl 21,10,42,0,0,1
+setvl 21,10,42,0,1,0
+setvl 21,10,42,0,1,1
+setvl 21,10,42,1,0,0
+setvl 21,10,42,1,0,1
+setvl 21,10,42,1,1,0
+setvl 21,10,42,1,1,1
+setvl 21,10,51,0,0,0
+setvl 21,10,51,0,0,1
+setvl 21,10,51,0,1,0
+setvl 21,10,51,0,1,1
+setvl 21,10,51,1,0,0
+setvl 21,10,51,1,0,1
+setvl 21,10,51,1,1,0
+setvl 21,10,51,1,1,1
+setvl 21,10,63,0,0,0
+setvl 21,10,63,0,0,1
+setvl 21,10,63,0,1,0
+setvl 21,10,63,0,1,1
+setvl 21,10,63,1,0,0
+setvl 21,10,63,1,0,1
+setvl 21,10,63,1,1,0
+setvl 21,10,63,1,1,1
+setvl 21,10,32,0,0,0
+setvl 21,10,32,0,0,1
+setvl 21,10,32,0,1,0
+setvl 21,10,32,0,1,1
+setvl 21,10,32,1,0,0
+setvl 21,10,32,1,0,1
+setvl 21,10,32,1,1,0
+setvl 21,10,32,1,1,1
+setvl 21,21,1,0,0,0
+setvl 21,21,1,0,0,1
+setvl 21,21,1,0,1,0
+setvl 21,21,1,0,1,1
+setvl 21,21,1,1,0,0
+setvl 21,21,1,1,0,1
+setvl 21,21,1,1,1,0
+setvl 21,21,1,1,1,1
+setvl 21,21,21,0,0,0
+setvl 21,21,21,0,0,1
+setvl 21,21,21,0,1,0
+setvl 21,21,21,0,1,1
+setvl 21,21,21,1,0,0
+setvl 21,21,21,1,0,1
+setvl 21,21,21,1,1,0
+setvl 21,21,21,1,1,1
+setvl 21,21,42,0,0,0
+setvl 21,21,42,0,0,1
+setvl 21,21,42,0,1,0
+setvl 21,21,42,0,1,1
+setvl 21,21,42,1,0,0
+setvl 21,21,42,1,0,1
+setvl 21,21,42,1,1,0
+setvl 21,21,42,1,1,1
+setvl 21,21,51,0,0,0
+setvl 21,21,51,0,0,1
+setvl 21,21,51,0,1,0
+setvl 21,21,51,0,1,1
+setvl 21,21,51,1,0,0
+setvl 21,21,51,1,0,1
+setvl 21,21,51,1,1,0
+setvl 21,21,51,1,1,1
+setvl 21,21,63,0,0,0
+setvl 21,21,63,0,0,1
+setvl 21,21,63,0,1,0
+setvl 21,21,63,0,1,1
+setvl 21,21,63,1,0,0
+setvl 21,21,63,1,0,1
+setvl 21,21,63,1,1,0
+setvl 21,21,63,1,1,1
+setvl 21,21,32,0,0,0
+setvl 21,21,32,0,0,1
+setvl 21,21,32,0,1,0
+setvl 21,21,32,0,1,1
+setvl 21,21,32,1,0,0
+setvl 21,21,32,1,0,1
+setvl 21,21,32,1,1,0
+setvl 21,21,32,1,1,1
+setvl 21,27,1,0,0,0
+setvl 21,27,1,0,0,1
+setvl 21,27,1,0,1,0
+setvl 21,27,1,0,1,1
+setvl 21,27,1,1,0,0
+setvl 21,27,1,1,0,1
+setvl 21,27,1,1,1,0
+setvl 21,27,1,1,1,1
+setvl 21,27,21,0,0,0
+setvl 21,27,21,0,0,1
+setvl 21,27,21,0,1,0
+setvl 21,27,21,0,1,1
+setvl 21,27,21,1,0,0
+setvl 21,27,21,1,0,1
+setvl 21,27,21,1,1,0
+setvl 21,27,21,1,1,1
+setvl 21,27,42,0,0,0
+setvl 21,27,42,0,0,1
+setvl 21,27,42,0,1,0
+setvl 21,27,42,0,1,1
+setvl 21,27,42,1,0,0
+setvl 21,27,42,1,0,1
+setvl 21,27,42,1,1,0
+setvl 21,27,42,1,1,1
+setvl 21,27,51,0,0,0
+setvl 21,27,51,0,0,1
+setvl 21,27,51,0,1,0
+setvl 21,27,51,0,1,1
+setvl 21,27,51,1,0,0
+setvl 21,27,51,1,0,1
+setvl 21,27,51,1,1,0
+setvl 21,27,51,1,1,1
+setvl 21,27,63,0,0,0
+setvl 21,27,63,0,0,1
+setvl 21,27,63,0,1,0
+setvl 21,27,63,0,1,1
+setvl 21,27,63,1,0,0
+setvl 21,27,63,1,0,1
+setvl 21,27,63,1,1,0
+setvl 21,27,63,1,1,1
+setvl 21,27,32,0,0,0
+setvl 21,27,32,0,0,1
+setvl 21,27,32,0,1,0
+setvl 21,27,32,0,1,1
+setvl 21,27,32,1,0,0
+setvl 21,27,32,1,0,1
+setvl 21,27,32,1,1,0
+setvl 21,27,32,1,1,1
+setvl 21,31,1,0,0,0
+setvl 21,31,1,0,0,1
+setvl 21,31,1,0,1,0
+setvl 21,31,1,0,1,1
+setvl 21,31,1,1,0,0
+setvl 21,31,1,1,0,1
+setvl 21,31,1,1,1,0
+setvl 21,31,1,1,1,1
+setvl 21,31,21,0,0,0
+setvl 21,31,21,0,0,1
+setvl 21,31,21,0,1,0
+setvl 21,31,21,0,1,1
+setvl 21,31,21,1,0,0
+setvl 21,31,21,1,0,1
+setvl 21,31,21,1,1,0
+setvl 21,31,21,1,1,1
+setvl 21,31,42,0,0,0
+setvl 21,31,42,0,0,1
+setvl 21,31,42,0,1,0
+setvl 21,31,42,0,1,1
+setvl 21,31,42,1,0,0
+setvl 21,31,42,1,0,1
+setvl 21,31,42,1,1,0
+setvl 21,31,42,1,1,1
+setvl 21,31,51,0,0,0
+setvl 21,31,51,0,0,1
+setvl 21,31,51,0,1,0
+setvl 21,31,51,0,1,1
+setvl 21,31,51,1,0,0
+setvl 21,31,51,1,0,1
+setvl 21,31,51,1,1,0
+setvl 21,31,51,1,1,1
+setvl 21,31,63,0,0,0
+setvl 21,31,63,0,0,1
+setvl 21,31,63,0,1,0
+setvl 21,31,63,0,1,1
+setvl 21,31,63,1,0,0
+setvl 21,31,63,1,0,1
+setvl 21,31,63,1,1,0
+setvl 21,31,63,1,1,1
+setvl 21,31,32,0,0,0
+setvl 21,31,32,0,0,1
+setvl 21,31,32,0,1,0
+setvl 21,31,32,0,1,1
+setvl 21,31,32,1,0,0
+setvl 21,31,32,1,0,1
+setvl 21,31,32,1,1,0
+setvl 21,31,32,1,1,1
+setvl 27,0,1,0,0,0
+setvl 27,0,1,0,0,1
+setvl 27,0,1,0,1,0
+setvl 27,0,1,0,1,1
+setvl 27,0,1,1,0,0
+setvl 27,0,1,1,0,1
+setvl 27,0,1,1,1,0
+setvl 27,0,1,1,1,1
+setvl 27,0,21,0,0,0
+setvl 27,0,21,0,0,1
+setvl 27,0,21,0,1,0
+setvl 27,0,21,0,1,1
+setvl 27,0,21,1,0,0
+setvl 27,0,21,1,0,1
+setvl 27,0,21,1,1,0
+setvl 27,0,21,1,1,1
+setvl 27,0,42,0,0,0
+setvl 27,0,42,0,0,1
+setvl 27,0,42,0,1,0
+setvl 27,0,42,0,1,1
+setvl 27,0,42,1,0,0
+setvl 27,0,42,1,0,1
+setvl 27,0,42,1,1,0
+setvl 27,0,42,1,1,1
+setvl 27,0,51,0,0,0
+setvl 27,0,51,0,0,1
+setvl 27,0,51,0,1,0
+setvl 27,0,51,0,1,1
+setvl 27,0,51,1,0,0
+setvl 27,0,51,1,0,1
+setvl 27,0,51,1,1,0
+setvl 27,0,51,1,1,1
+setvl 27,0,63,0,0,0
+setvl 27,0,63,0,0,1
+setvl 27,0,63,0,1,0
+setvl 27,0,63,0,1,1
+setvl 27,0,63,1,0,0
+setvl 27,0,63,1,0,1
+setvl 27,0,63,1,1,0
+setvl 27,0,63,1,1,1
+setvl 27,0,32,0,0,0
+setvl 27,0,32,0,0,1
+setvl 27,0,32,0,1,0
+setvl 27,0,32,0,1,1
+setvl 27,0,32,1,0,0
+setvl 27,0,32,1,0,1
+setvl 27,0,32,1,1,0
+setvl 27,0,32,1,1,1
+setvl 27,10,1,0,0,0
+setvl 27,10,1,0,0,1
+setvl 27,10,1,0,1,0
+setvl 27,10,1,0,1,1
+setvl 27,10,1,1,0,0
+setvl 27,10,1,1,0,1
+setvl 27,10,1,1,1,0
+setvl 27,10,1,1,1,1
+setvl 27,10,21,0,0,0
+setvl 27,10,21,0,0,1
+setvl 27,10,21,0,1,0
+setvl 27,10,21,0,1,1
+setvl 27,10,21,1,0,0
+setvl 27,10,21,1,0,1
+setvl 27,10,21,1,1,0
+setvl 27,10,21,1,1,1
+setvl 27,10,42,0,0,0
+setvl 27,10,42,0,0,1
+setvl 27,10,42,0,1,0
+setvl 27,10,42,0,1,1
+setvl 27,10,42,1,0,0
+setvl 27,10,42,1,0,1
+setvl 27,10,42,1,1,0
+setvl 27,10,42,1,1,1
+setvl 27,10,51,0,0,0
+setvl 27,10,51,0,0,1
+setvl 27,10,51,0,1,0
+setvl 27,10,51,0,1,1
+setvl 27,10,51,1,0,0
+setvl 27,10,51,1,0,1
+setvl 27,10,51,1,1,0
+setvl 27,10,51,1,1,1
+setvl 27,10,63,0,0,0
+setvl 27,10,63,0,0,1
+setvl 27,10,63,0,1,0
+setvl 27,10,63,0,1,1
+setvl 27,10,63,1,0,0
+setvl 27,10,63,1,0,1
+setvl 27,10,63,1,1,0
+setvl 27,10,63,1,1,1
+setvl 27,10,32,0,0,0
+setvl 27,10,32,0,0,1
+setvl 27,10,32,0,1,0
+setvl 27,10,32,0,1,1
+setvl 27,10,32,1,0,0
+setvl 27,10,32,1,0,1
+setvl 27,10,32,1,1,0
+setvl 27,10,32,1,1,1
+setvl 27,21,1,0,0,0
+setvl 27,21,1,0,0,1
+setvl 27,21,1,0,1,0
+setvl 27,21,1,0,1,1
+setvl 27,21,1,1,0,0
+setvl 27,21,1,1,0,1
+setvl 27,21,1,1,1,0
+setvl 27,21,1,1,1,1
+setvl 27,21,21,0,0,0
+setvl 27,21,21,0,0,1
+setvl 27,21,21,0,1,0
+setvl 27,21,21,0,1,1
+setvl 27,21,21,1,0,0
+setvl 27,21,21,1,0,1
+setvl 27,21,21,1,1,0
+setvl 27,21,21,1,1,1
+setvl 27,21,42,0,0,0
+setvl 27,21,42,0,0,1
+setvl 27,21,42,0,1,0
+setvl 27,21,42,0,1,1
+setvl 27,21,42,1,0,0
+setvl 27,21,42,1,0,1
+setvl 27,21,42,1,1,0
+setvl 27,21,42,1,1,1
+setvl 27,21,51,0,0,0
+setvl 27,21,51,0,0,1
+setvl 27,21,51,0,1,0
+setvl 27,21,51,0,1,1
+setvl 27,21,51,1,0,0
+setvl 27,21,51,1,0,1
+setvl 27,21,51,1,1,0
+setvl 27,21,51,1,1,1
+setvl 27,21,63,0,0,0
+setvl 27,21,63,0,0,1
+setvl 27,21,63,0,1,0
+setvl 27,21,63,0,1,1
+setvl 27,21,63,1,0,0
+setvl 27,21,63,1,0,1
+setvl 27,21,63,1,1,0
+setvl 27,21,63,1,1,1
+setvl 27,21,32,0,0,0
+setvl 27,21,32,0,0,1
+setvl 27,21,32,0,1,0
+setvl 27,21,32,0,1,1
+setvl 27,21,32,1,0,0
+setvl 27,21,32,1,0,1
+setvl 27,21,32,1,1,0
+setvl 27,21,32,1,1,1
+setvl 27,27,1,0,0,0
+setvl 27,27,1,0,0,1
+setvl 27,27,1,0,1,0
+setvl 27,27,1,0,1,1
+setvl 27,27,1,1,0,0
+setvl 27,27,1,1,0,1
+setvl 27,27,1,1,1,0
+setvl 27,27,1,1,1,1
+setvl 27,27,21,0,0,0
+setvl 27,27,21,0,0,1
+setvl 27,27,21,0,1,0
+setvl 27,27,21,0,1,1
+setvl 27,27,21,1,0,0
+setvl 27,27,21,1,0,1
+setvl 27,27,21,1,1,0
+setvl 27,27,21,1,1,1
+setvl 27,27,42,0,0,0
+setvl 27,27,42,0,0,1
+setvl 27,27,42,0,1,0
+setvl 27,27,42,0,1,1
+setvl 27,27,42,1,0,0
+setvl 27,27,42,1,0,1
+setvl 27,27,42,1,1,0
+setvl 27,27,42,1,1,1
+setvl 27,27,51,0,0,0
+setvl 27,27,51,0,0,1
+setvl 27,27,51,0,1,0
+setvl 27,27,51,0,1,1
+setvl 27,27,51,1,0,0
+setvl 27,27,51,1,0,1
+setvl 27,27,51,1,1,0
+setvl 27,27,51,1,1,1
+setvl 27,27,63,0,0,0
+setvl 27,27,63,0,0,1
+setvl 27,27,63,0,1,0
+setvl 27,27,63,0,1,1
+setvl 27,27,63,1,0,0
+setvl 27,27,63,1,0,1
+setvl 27,27,63,1,1,0
+setvl 27,27,63,1,1,1
+setvl 27,27,32,0,0,0
+setvl 27,27,32,0,0,1
+setvl 27,27,32,0,1,0
+setvl 27,27,32,0,1,1
+setvl 27,27,32,1,0,0
+setvl 27,27,32,1,0,1
+setvl 27,27,32,1,1,0
+setvl 27,27,32,1,1,1
+setvl 27,31,1,0,0,0
+setvl 27,31,1,0,0,1
+setvl 27,31,1,0,1,0
+setvl 27,31,1,0,1,1
+setvl 27,31,1,1,0,0
+setvl 27,31,1,1,0,1
+setvl 27,31,1,1,1,0
+setvl 27,31,1,1,1,1
+setvl 27,31,21,0,0,0
+setvl 27,31,21,0,0,1
+setvl 27,31,21,0,1,0
+setvl 27,31,21,0,1,1
+setvl 27,31,21,1,0,0
+setvl 27,31,21,1,0,1
+setvl 27,31,21,1,1,0
+setvl 27,31,21,1,1,1
+setvl 27,31,42,0,0,0
+setvl 27,31,42,0,0,1
+setvl 27,31,42,0,1,0
+setvl 27,31,42,0,1,1
+setvl 27,31,42,1,0,0
+setvl 27,31,42,1,0,1
+setvl 27,31,42,1,1,0
+setvl 27,31,42,1,1,1
+setvl 27,31,51,0,0,0
+setvl 27,31,51,0,0,1
+setvl 27,31,51,0,1,0
+setvl 27,31,51,0,1,1
+setvl 27,31,51,1,0,0
+setvl 27,31,51,1,0,1
+setvl 27,31,51,1,1,0
+setvl 27,31,51,1,1,1
+setvl 27,31,63,0,0,0
+setvl 27,31,63,0,0,1
+setvl 27,31,63,0,1,0
+setvl 27,31,63,0,1,1
+setvl 27,31,63,1,0,0
+setvl 27,31,63,1,0,1
+setvl 27,31,63,1,1,0
+setvl 27,31,63,1,1,1
+setvl 27,31,32,0,0,0
+setvl 27,31,32,0,0,1
+setvl 27,31,32,0,1,0
+setvl 27,31,32,0,1,1
+setvl 27,31,32,1,0,0
+setvl 27,31,32,1,0,1
+setvl 27,31,32,1,1,0
+setvl 27,31,32,1,1,1
+setvl 31,0,1,0,0,0
+setvl 31,0,1,0,0,1
+setvl 31,0,1,0,1,0
+setvl 31,0,1,0,1,1
+setvl 31,0,1,1,0,0
+setvl 31,0,1,1,0,1
+setvl 31,0,1,1,1,0
+setvl 31,0,1,1,1,1
+setvl 31,0,21,0,0,0
+setvl 31,0,21,0,0,1
+setvl 31,0,21,0,1,0
+setvl 31,0,21,0,1,1
+setvl 31,0,21,1,0,0
+setvl 31,0,21,1,0,1
+setvl 31,0,21,1,1,0
+setvl 31,0,21,1,1,1
+setvl 31,0,42,0,0,0
+setvl 31,0,42,0,0,1
+setvl 31,0,42,0,1,0
+setvl 31,0,42,0,1,1
+setvl 31,0,42,1,0,0
+setvl 31,0,42,1,0,1
+setvl 31,0,42,1,1,0
+setvl 31,0,42,1,1,1
+setvl 31,0,51,0,0,0
+setvl 31,0,51,0,0,1
+setvl 31,0,51,0,1,0
+setvl 31,0,51,0,1,1
+setvl 31,0,51,1,0,0
+setvl 31,0,51,1,0,1
+setvl 31,0,51,1,1,0
+setvl 31,0,51,1,1,1
+setvl 31,0,63,0,0,0
+setvl 31,0,63,0,0,1
+setvl 31,0,63,0,1,0
+setvl 31,0,63,0,1,1
+setvl 31,0,63,1,0,0
+setvl 31,0,63,1,0,1
+setvl 31,0,63,1,1,0
+setvl 31,0,63,1,1,1
+setvl 31,0,32,0,0,0
+setvl 31,0,32,0,0,1
+setvl 31,0,32,0,1,0
+setvl 31,0,32,0,1,1
+setvl 31,0,32,1,0,0
+setvl 31,0,32,1,0,1
+setvl 31,0,32,1,1,0
+setvl 31,0,32,1,1,1
+setvl 31,10,1,0,0,0
+setvl 31,10,1,0,0,1
+setvl 31,10,1,0,1,0
+setvl 31,10,1,0,1,1
+setvl 31,10,1,1,0,0
+setvl 31,10,1,1,0,1
+setvl 31,10,1,1,1,0
+setvl 31,10,1,1,1,1
+setvl 31,10,21,0,0,0
+setvl 31,10,21,0,0,1
+setvl 31,10,21,0,1,0
+setvl 31,10,21,0,1,1
+setvl 31,10,21,1,0,0
+setvl 31,10,21,1,0,1
+setvl 31,10,21,1,1,0
+setvl 31,10,21,1,1,1
+setvl 31,10,42,0,0,0
+setvl 31,10,42,0,0,1
+setvl 31,10,42,0,1,0
+setvl 31,10,42,0,1,1
+setvl 31,10,42,1,0,0
+setvl 31,10,42,1,0,1
+setvl 31,10,42,1,1,0
+setvl 31,10,42,1,1,1
+setvl 31,10,51,0,0,0
+setvl 31,10,51,0,0,1
+setvl 31,10,51,0,1,0
+setvl 31,10,51,0,1,1
+setvl 31,10,51,1,0,0
+setvl 31,10,51,1,0,1
+setvl 31,10,51,1,1,0
+setvl 31,10,51,1,1,1
+setvl 31,10,63,0,0,0
+setvl 31,10,63,0,0,1
+setvl 31,10,63,0,1,0
+setvl 31,10,63,0,1,1
+setvl 31,10,63,1,0,0
+setvl 31,10,63,1,0,1
+setvl 31,10,63,1,1,0
+setvl 31,10,63,1,1,1
+setvl 31,10,32,0,0,0
+setvl 31,10,32,0,0,1
+setvl 31,10,32,0,1,0
+setvl 31,10,32,0,1,1
+setvl 31,10,32,1,0,0
+setvl 31,10,32,1,0,1
+setvl 31,10,32,1,1,0
+setvl 31,10,32,1,1,1
+setvl 31,21,1,0,0,0
+setvl 31,21,1,0,0,1
+setvl 31,21,1,0,1,0
+setvl 31,21,1,0,1,1
+setvl 31,21,1,1,0,0
+setvl 31,21,1,1,0,1
+setvl 31,21,1,1,1,0
+setvl 31,21,1,1,1,1
+setvl 31,21,21,0,0,0
+setvl 31,21,21,0,0,1
+setvl 31,21,21,0,1,0
+setvl 31,21,21,0,1,1
+setvl 31,21,21,1,0,0
+setvl 31,21,21,1,0,1
+setvl 31,21,21,1,1,0
+setvl 31,21,21,1,1,1
+setvl 31,21,42,0,0,0
+setvl 31,21,42,0,0,1
+setvl 31,21,42,0,1,0
+setvl 31,21,42,0,1,1
+setvl 31,21,42,1,0,0
+setvl 31,21,42,1,0,1
+setvl 31,21,42,1,1,0
+setvl 31,21,42,1,1,1
+setvl 31,21,51,0,0,0
+setvl 31,21,51,0,0,1
+setvl 31,21,51,0,1,0
+setvl 31,21,51,0,1,1
+setvl 31,21,51,1,0,0
+setvl 31,21,51,1,0,1
+setvl 31,21,51,1,1,0
+setvl 31,21,51,1,1,1
+setvl 31,21,63,0,0,0
+setvl 31,21,63,0,0,1
+setvl 31,21,63,0,1,0
+setvl 31,21,63,0,1,1
+setvl 31,21,63,1,0,0
+setvl 31,21,63,1,0,1
+setvl 31,21,63,1,1,0
+setvl 31,21,63,1,1,1
+setvl 31,21,32,0,0,0
+setvl 31,21,32,0,0,1
+setvl 31,21,32,0,1,0
+setvl 31,21,32,0,1,1
+setvl 31,21,32,1,0,0
+setvl 31,21,32,1,0,1
+setvl 31,21,32,1,1,0
+setvl 31,21,32,1,1,1
+setvl 31,27,1,0,0,0
+setvl 31,27,1,0,0,1
+setvl 31,27,1,0,1,0
+setvl 31,27,1,0,1,1
+setvl 31,27,1,1,0,0
+setvl 31,27,1,1,0,1
+setvl 31,27,1,1,1,0
+setvl 31,27,1,1,1,1
+setvl 31,27,21,0,0,0
+setvl 31,27,21,0,0,1
+setvl 31,27,21,0,1,0
+setvl 31,27,21,0,1,1
+setvl 31,27,21,1,0,0
+setvl 31,27,21,1,0,1
+setvl 31,27,21,1,1,0
+setvl 31,27,21,1,1,1
+setvl 31,27,42,0,0,0
+setvl 31,27,42,0,0,1
+setvl 31,27,42,0,1,0
+setvl 31,27,42,0,1,1
+setvl 31,27,42,1,0,0
+setvl 31,27,42,1,0,1
+setvl 31,27,42,1,1,0
+setvl 31,27,42,1,1,1
+setvl 31,27,51,0,0,0
+setvl 31,27,51,0,0,1
+setvl 31,27,51,0,1,0
+setvl 31,27,51,0,1,1
+setvl 31,27,51,1,0,0
+setvl 31,27,51,1,0,1
+setvl 31,27,51,1,1,0
+setvl 31,27,51,1,1,1
+setvl 31,27,63,0,0,0
+setvl 31,27,63,0,0,1
+setvl 31,27,63,0,1,0
+setvl 31,27,63,0,1,1
+setvl 31,27,63,1,0,0
+setvl 31,27,63,1,0,1
+setvl 31,27,63,1,1,0
+setvl 31,27,63,1,1,1
+setvl 31,27,32,0,0,0
+setvl 31,27,32,0,0,1
+setvl 31,27,32,0,1,0
+setvl 31,27,32,0,1,1
+setvl 31,27,32,1,0,0
+setvl 31,27,32,1,0,1
+setvl 31,27,32,1,1,0
+setvl 31,27,32,1,1,1
+setvl 31,31,1,0,0,0
+setvl 31,31,1,0,0,1
+setvl 31,31,1,0,1,0
+setvl 31,31,1,0,1,1
+setvl 31,31,1,1,0,0
+setvl 31,31,1,1,0,1
+setvl 31,31,1,1,1,0
+setvl 31,31,1,1,1,1
+setvl 31,31,21,0,0,0
+setvl 31,31,21,0,0,1
+setvl 31,31,21,0,1,0
+setvl 31,31,21,0,1,1
+setvl 31,31,21,1,0,0
+setvl 31,31,21,1,0,1
+setvl 31,31,21,1,1,0
+setvl 31,31,21,1,1,1
+setvl 31,31,42,0,0,0
+setvl 31,31,42,0,0,1
+setvl 31,31,42,0,1,0
+setvl 31,31,42,0,1,1
+setvl 31,31,42,1,0,0
+setvl 31,31,42,1,0,1
+setvl 31,31,42,1,1,0
+setvl 31,31,42,1,1,1
+setvl 31,31,51,0,0,0
+setvl 31,31,51,0,0,1
+setvl 31,31,51,0,1,0
+setvl 31,31,51,0,1,1
+setvl 31,31,51,1,0,0
+setvl 31,31,51,1,0,1
+setvl 31,31,51,1,1,0
+setvl 31,31,51,1,1,1
+setvl 31,31,63,0,0,0
+setvl 31,31,63,0,0,1
+setvl 31,31,63,0,1,0
+setvl 31,31,63,0,1,1
+setvl 31,31,63,1,0,0
+setvl 31,31,63,1,0,1
+setvl 31,31,63,1,1,0
+setvl 31,31,63,1,1,1
+setvl 31,31,32,0,0,0
+setvl 31,31,32,0,0,1
+setvl 31,31,32,0,1,0
+setvl 31,31,32,0,1,1
+setvl 31,31,32,1,0,0
+setvl 31,31,32,1,0,1
+setvl 31,31,32,1,1,0
+setvl 31,31,32,1,1,1
+setvl. 0,0,1,0,0,0
+setvl. 0,0,1,0,0,1
+setvl. 0,0,1,0,1,0
+setvl. 0,0,1,0,1,1
+setvl. 0,0,1,1,0,0
+setvl. 0,0,1,1,0,1
+setvl. 0,0,1,1,1,0
+setvl. 0,0,1,1,1,1
+setvl. 0,0,21,0,0,0
+setvl. 0,0,21,0,0,1
+setvl. 0,0,21,0,1,0
+setvl. 0,0,21,0,1,1
+setvl. 0,0,21,1,0,0
+setvl. 0,0,21,1,0,1
+setvl. 0,0,21,1,1,0
+setvl. 0,0,21,1,1,1
+setvl. 0,0,42,0,0,0
+setvl. 0,0,42,0,0,1
+setvl. 0,0,42,0,1,0
+setvl. 0,0,42,0,1,1
+setvl. 0,0,42,1,0,0
+setvl. 0,0,42,1,0,1
+setvl. 0,0,42,1,1,0
+setvl. 0,0,42,1,1,1
+setvl. 0,0,51,0,0,0
+setvl. 0,0,51,0,0,1
+setvl. 0,0,51,0,1,0
+setvl. 0,0,51,0,1,1
+setvl. 0,0,51,1,0,0
+setvl. 0,0,51,1,0,1
+setvl. 0,0,51,1,1,0
+setvl. 0,0,51,1,1,1
+setvl. 0,0,63,0,0,0
+setvl. 0,0,63,0,0,1
+setvl. 0,0,63,0,1,0
+setvl. 0,0,63,0,1,1
+setvl. 0,0,63,1,0,0
+setvl. 0,0,63,1,0,1
+setvl. 0,0,63,1,1,0
+setvl. 0,0,63,1,1,1
+setvl. 0,0,32,0,0,0
+setvl. 0,0,32,0,0,1
+setvl. 0,0,32,0,1,0
+setvl. 0,0,32,0,1,1
+setvl. 0,0,32,1,0,0
+setvl. 0,0,32,1,0,1
+setvl. 0,0,32,1,1,0
+setvl. 0,0,32,1,1,1
+setvl. 0,10,1,0,0,0
+setvl. 0,10,1,0,0,1
+setvl. 0,10,1,0,1,0
+setvl. 0,10,1,0,1,1
+setvl. 0,10,1,1,0,0
+setvl. 0,10,1,1,0,1
+setvl. 0,10,1,1,1,0
+setvl. 0,10,1,1,1,1
+setvl. 0,10,21,0,0,0
+setvl. 0,10,21,0,0,1
+setvl. 0,10,21,0,1,0
+setvl. 0,10,21,0,1,1
+setvl. 0,10,21,1,0,0
+setvl. 0,10,21,1,0,1
+setvl. 0,10,21,1,1,0
+setvl. 0,10,21,1,1,1
+setvl. 0,10,42,0,0,0
+setvl. 0,10,42,0,0,1
+setvl. 0,10,42,0,1,0
+setvl. 0,10,42,0,1,1
+setvl. 0,10,42,1,0,0
+setvl. 0,10,42,1,0,1
+setvl. 0,10,42,1,1,0
+setvl. 0,10,42,1,1,1
+setvl. 0,10,51,0,0,0
+setvl. 0,10,51,0,0,1
+setvl. 0,10,51,0,1,0
+setvl. 0,10,51,0,1,1
+setvl. 0,10,51,1,0,0
+setvl. 0,10,51,1,0,1
+setvl. 0,10,51,1,1,0
+setvl. 0,10,51,1,1,1
+setvl. 0,10,63,0,0,0
+setvl. 0,10,63,0,0,1
+setvl. 0,10,63,0,1,0
+setvl. 0,10,63,0,1,1
+setvl. 0,10,63,1,0,0
+setvl. 0,10,63,1,0,1
+setvl. 0,10,63,1,1,0
+setvl. 0,10,63,1,1,1
+setvl. 0,10,32,0,0,0
+setvl. 0,10,32,0,0,1
+setvl. 0,10,32,0,1,0
+setvl. 0,10,32,0,1,1
+setvl. 0,10,32,1,0,0
+setvl. 0,10,32,1,0,1
+setvl. 0,10,32,1,1,0
+setvl. 0,10,32,1,1,1
+setvl. 0,21,1,0,0,0
+setvl. 0,21,1,0,0,1
+setvl. 0,21,1,0,1,0
+setvl. 0,21,1,0,1,1
+setvl. 0,21,1,1,0,0
+setvl. 0,21,1,1,0,1
+setvl. 0,21,1,1,1,0
+setvl. 0,21,1,1,1,1
+setvl. 0,21,21,0,0,0
+setvl. 0,21,21,0,0,1
+setvl. 0,21,21,0,1,0
+setvl. 0,21,21,0,1,1
+setvl. 0,21,21,1,0,0
+setvl. 0,21,21,1,0,1
+setvl. 0,21,21,1,1,0
+setvl. 0,21,21,1,1,1
+setvl. 0,21,42,0,0,0
+setvl. 0,21,42,0,0,1
+setvl. 0,21,42,0,1,0
+setvl. 0,21,42,0,1,1
+setvl. 0,21,42,1,0,0
+setvl. 0,21,42,1,0,1
+setvl. 0,21,42,1,1,0
+setvl. 0,21,42,1,1,1
+setvl. 0,21,51,0,0,0
+setvl. 0,21,51,0,0,1
+setvl. 0,21,51,0,1,0
+setvl. 0,21,51,0,1,1
+setvl. 0,21,51,1,0,0
+setvl. 0,21,51,1,0,1
+setvl. 0,21,51,1,1,0
+setvl. 0,21,51,1,1,1
+setvl. 0,21,63,0,0,0
+setvl. 0,21,63,0,0,1
+setvl. 0,21,63,0,1,0
+setvl. 0,21,63,0,1,1
+setvl. 0,21,63,1,0,0
+setvl. 0,21,63,1,0,1
+setvl. 0,21,63,1,1,0
+setvl. 0,21,63,1,1,1
+setvl. 0,21,32,0,0,0
+setvl. 0,21,32,0,0,1
+setvl. 0,21,32,0,1,0
+setvl. 0,21,32,0,1,1
+setvl. 0,21,32,1,0,0
+setvl. 0,21,32,1,0,1
+setvl. 0,21,32,1,1,0
+setvl. 0,21,32,1,1,1
+setvl. 0,27,1,0,0,0
+setvl. 0,27,1,0,0,1
+setvl. 0,27,1,0,1,0
+setvl. 0,27,1,0,1,1
+setvl. 0,27,1,1,0,0
+setvl. 0,27,1,1,0,1
+setvl. 0,27,1,1,1,0
+setvl. 0,27,1,1,1,1
+setvl. 0,27,21,0,0,0
+setvl. 0,27,21,0,0,1
+setvl. 0,27,21,0,1,0
+setvl. 0,27,21,0,1,1
+setvl. 0,27,21,1,0,0
+setvl. 0,27,21,1,0,1
+setvl. 0,27,21,1,1,0
+setvl. 0,27,21,1,1,1
+setvl. 0,27,42,0,0,0
+setvl. 0,27,42,0,0,1
+setvl. 0,27,42,0,1,0
+setvl. 0,27,42,0,1,1
+setvl. 0,27,42,1,0,0
+setvl. 0,27,42,1,0,1
+setvl. 0,27,42,1,1,0
+setvl. 0,27,42,1,1,1
+setvl. 0,27,51,0,0,0
+setvl. 0,27,51,0,0,1
+setvl. 0,27,51,0,1,0
+setvl. 0,27,51,0,1,1
+setvl. 0,27,51,1,0,0
+setvl. 0,27,51,1,0,1
+setvl. 0,27,51,1,1,0
+setvl. 0,27,51,1,1,1
+setvl. 0,27,63,0,0,0
+setvl. 0,27,63,0,0,1
+setvl. 0,27,63,0,1,0
+setvl. 0,27,63,0,1,1
+setvl. 0,27,63,1,0,0
+setvl. 0,27,63,1,0,1
+setvl. 0,27,63,1,1,0
+setvl. 0,27,63,1,1,1
+setvl. 0,27,32,0,0,0
+setvl. 0,27,32,0,0,1
+setvl. 0,27,32,0,1,0
+setvl. 0,27,32,0,1,1
+setvl. 0,27,32,1,0,0
+setvl. 0,27,32,1,0,1
+setvl. 0,27,32,1,1,0
+setvl. 0,27,32,1,1,1
+setvl. 0,31,1,0,0,0
+setvl. 0,31,1,0,0,1
+setvl. 0,31,1,0,1,0
+setvl. 0,31,1,0,1,1
+setvl. 0,31,1,1,0,0
+setvl. 0,31,1,1,0,1
+setvl. 0,31,1,1,1,0
+setvl. 0,31,1,1,1,1
+setvl. 0,31,21,0,0,0
+setvl. 0,31,21,0,0,1
+setvl. 0,31,21,0,1,0
+setvl. 0,31,21,0,1,1
+setvl. 0,31,21,1,0,0
+setvl. 0,31,21,1,0,1
+setvl. 0,31,21,1,1,0
+setvl. 0,31,21,1,1,1
+setvl. 0,31,42,0,0,0
+setvl. 0,31,42,0,0,1
+setvl. 0,31,42,0,1,0
+setvl. 0,31,42,0,1,1
+setvl. 0,31,42,1,0,0
+setvl. 0,31,42,1,0,1
+setvl. 0,31,42,1,1,0
+setvl. 0,31,42,1,1,1
+setvl. 0,31,51,0,0,0
+setvl. 0,31,51,0,0,1
+setvl. 0,31,51,0,1,0
+setvl. 0,31,51,0,1,1
+setvl. 0,31,51,1,0,0
+setvl. 0,31,51,1,0,1
+setvl. 0,31,51,1,1,0
+setvl. 0,31,51,1,1,1
+setvl. 0,31,63,0,0,0
+setvl. 0,31,63,0,0,1
+setvl. 0,31,63,0,1,0
+setvl. 0,31,63,0,1,1
+setvl. 0,31,63,1,0,0
+setvl. 0,31,63,1,0,1
+setvl. 0,31,63,1,1,0
+setvl. 0,31,63,1,1,1
+setvl. 0,31,32,0,0,0
+setvl. 0,31,32,0,0,1
+setvl. 0,31,32,0,1,0
+setvl. 0,31,32,0,1,1
+setvl. 0,31,32,1,0,0
+setvl. 0,31,32,1,0,1
+setvl. 0,31,32,1,1,0
+setvl. 0,31,32,1,1,1
+setvl. 10,0,1,0,0,0
+setvl. 10,0,1,0,0,1
+setvl. 10,0,1,0,1,0
+setvl. 10,0,1,0,1,1
+setvl. 10,0,1,1,0,0
+setvl. 10,0,1,1,0,1
+setvl. 10,0,1,1,1,0
+setvl. 10,0,1,1,1,1
+setvl. 10,0,21,0,0,0
+setvl. 10,0,21,0,0,1
+setvl. 10,0,21,0,1,0
+setvl. 10,0,21,0,1,1
+setvl. 10,0,21,1,0,0
+setvl. 10,0,21,1,0,1
+setvl. 10,0,21,1,1,0
+setvl. 10,0,21,1,1,1
+setvl. 10,0,42,0,0,0
+setvl. 10,0,42,0,0,1
+setvl. 10,0,42,0,1,0
+setvl. 10,0,42,0,1,1
+setvl. 10,0,42,1,0,0
+setvl. 10,0,42,1,0,1
+setvl. 10,0,42,1,1,0
+setvl. 10,0,42,1,1,1
+setvl. 10,0,51,0,0,0
+setvl. 10,0,51,0,0,1
+setvl. 10,0,51,0,1,0
+setvl. 10,0,51,0,1,1
+setvl. 10,0,51,1,0,0
+setvl. 10,0,51,1,0,1
+setvl. 10,0,51,1,1,0
+setvl. 10,0,51,1,1,1
+setvl. 10,0,63,0,0,0
+setvl. 10,0,63,0,0,1
+setvl. 10,0,63,0,1,0
+setvl. 10,0,63,0,1,1
+setvl. 10,0,63,1,0,0
+setvl. 10,0,63,1,0,1
+setvl. 10,0,63,1,1,0
+setvl. 10,0,63,1,1,1
+setvl. 10,0,32,0,0,0
+setvl. 10,0,32,0,0,1
+setvl. 10,0,32,0,1,0
+setvl. 10,0,32,0,1,1
+setvl. 10,0,32,1,0,0
+setvl. 10,0,32,1,0,1
+setvl. 10,0,32,1,1,0
+setvl. 10,0,32,1,1,1
+setvl. 10,10,1,0,0,0
+setvl. 10,10,1,0,0,1
+setvl. 10,10,1,0,1,0
+setvl. 10,10,1,0,1,1
+setvl. 10,10,1,1,0,0
+setvl. 10,10,1,1,0,1
+setvl. 10,10,1,1,1,0
+setvl. 10,10,1,1,1,1
+setvl. 10,10,21,0,0,0
+setvl. 10,10,21,0,0,1
+setvl. 10,10,21,0,1,0
+setvl. 10,10,21,0,1,1
+setvl. 10,10,21,1,0,0
+setvl. 10,10,21,1,0,1
+setvl. 10,10,21,1,1,0
+setvl. 10,10,21,1,1,1
+setvl. 10,10,42,0,0,0
+setvl. 10,10,42,0,0,1
+setvl. 10,10,42,0,1,0
+setvl. 10,10,42,0,1,1
+setvl. 10,10,42,1,0,0
+setvl. 10,10,42,1,0,1
+setvl. 10,10,42,1,1,0
+setvl. 10,10,42,1,1,1
+setvl. 10,10,51,0,0,0
+setvl. 10,10,51,0,0,1
+setvl. 10,10,51,0,1,0
+setvl. 10,10,51,0,1,1
+setvl. 10,10,51,1,0,0
+setvl. 10,10,51,1,0,1
+setvl. 10,10,51,1,1,0
+setvl. 10,10,51,1,1,1
+setvl. 10,10,63,0,0,0
+setvl. 10,10,63,0,0,1
+setvl. 10,10,63,0,1,0
+setvl. 10,10,63,0,1,1
+setvl. 10,10,63,1,0,0
+setvl. 10,10,63,1,0,1
+setvl. 10,10,63,1,1,0
+setvl. 10,10,63,1,1,1
+setvl. 10,10,32,0,0,0
+setvl. 10,10,32,0,0,1
+setvl. 10,10,32,0,1,0
+setvl. 10,10,32,0,1,1
+setvl. 10,10,32,1,0,0
+setvl. 10,10,32,1,0,1
+setvl. 10,10,32,1,1,0
+setvl. 10,10,32,1,1,1
+setvl. 10,21,1,0,0,0
+setvl. 10,21,1,0,0,1
+setvl. 10,21,1,0,1,0
+setvl. 10,21,1,0,1,1
+setvl. 10,21,1,1,0,0
+setvl. 10,21,1,1,0,1
+setvl. 10,21,1,1,1,0
+setvl. 10,21,1,1,1,1
+setvl. 10,21,21,0,0,0
+setvl. 10,21,21,0,0,1
+setvl. 10,21,21,0,1,0
+setvl. 10,21,21,0,1,1
+setvl. 10,21,21,1,0,0
+setvl. 10,21,21,1,0,1
+setvl. 10,21,21,1,1,0
+setvl. 10,21,21,1,1,1
+setvl. 10,21,42,0,0,0
+setvl. 10,21,42,0,0,1
+setvl. 10,21,42,0,1,0
+setvl. 10,21,42,0,1,1
+setvl. 10,21,42,1,0,0
+setvl. 10,21,42,1,0,1
+setvl. 10,21,42,1,1,0
+setvl. 10,21,42,1,1,1
+setvl. 10,21,51,0,0,0
+setvl. 10,21,51,0,0,1
+setvl. 10,21,51,0,1,0
+setvl. 10,21,51,0,1,1
+setvl. 10,21,51,1,0,0
+setvl. 10,21,51,1,0,1
+setvl. 10,21,51,1,1,0
+setvl. 10,21,51,1,1,1
+setvl. 10,21,63,0,0,0
+setvl. 10,21,63,0,0,1
+setvl. 10,21,63,0,1,0
+setvl. 10,21,63,0,1,1
+setvl. 10,21,63,1,0,0
+setvl. 10,21,63,1,0,1
+setvl. 10,21,63,1,1,0
+setvl. 10,21,63,1,1,1
+setvl. 10,21,32,0,0,0
+setvl. 10,21,32,0,0,1
+setvl. 10,21,32,0,1,0
+setvl. 10,21,32,0,1,1
+setvl. 10,21,32,1,0,0
+setvl. 10,21,32,1,0,1
+setvl. 10,21,32,1,1,0
+setvl. 10,21,32,1,1,1
+setvl. 10,27,1,0,0,0
+setvl. 10,27,1,0,0,1
+setvl. 10,27,1,0,1,0
+setvl. 10,27,1,0,1,1
+setvl. 10,27,1,1,0,0
+setvl. 10,27,1,1,0,1
+setvl. 10,27,1,1,1,0
+setvl. 10,27,1,1,1,1
+setvl. 10,27,21,0,0,0
+setvl. 10,27,21,0,0,1
+setvl. 10,27,21,0,1,0
+setvl. 10,27,21,0,1,1
+setvl. 10,27,21,1,0,0
+setvl. 10,27,21,1,0,1
+setvl. 10,27,21,1,1,0
+setvl. 10,27,21,1,1,1
+setvl. 10,27,42,0,0,0
+setvl. 10,27,42,0,0,1
+setvl. 10,27,42,0,1,0
+setvl. 10,27,42,0,1,1
+setvl. 10,27,42,1,0,0
+setvl. 10,27,42,1,0,1
+setvl. 10,27,42,1,1,0
+setvl. 10,27,42,1,1,1
+setvl. 10,27,51,0,0,0
+setvl. 10,27,51,0,0,1
+setvl. 10,27,51,0,1,0
+setvl. 10,27,51,0,1,1
+setvl. 10,27,51,1,0,0
+setvl. 10,27,51,1,0,1
+setvl. 10,27,51,1,1,0
+setvl. 10,27,51,1,1,1
+setvl. 10,27,63,0,0,0
+setvl. 10,27,63,0,0,1
+setvl. 10,27,63,0,1,0
+setvl. 10,27,63,0,1,1
+setvl. 10,27,63,1,0,0
+setvl. 10,27,63,1,0,1
+setvl. 10,27,63,1,1,0
+setvl. 10,27,63,1,1,1
+setvl. 10,27,32,0,0,0
+setvl. 10,27,32,0,0,1
+setvl. 10,27,32,0,1,0
+setvl. 10,27,32,0,1,1
+setvl. 10,27,32,1,0,0
+setvl. 10,27,32,1,0,1
+setvl. 10,27,32,1,1,0
+setvl. 10,27,32,1,1,1
+setvl. 10,31,1,0,0,0
+setvl. 10,31,1,0,0,1
+setvl. 10,31,1,0,1,0
+setvl. 10,31,1,0,1,1
+setvl. 10,31,1,1,0,0
+setvl. 10,31,1,1,0,1
+setvl. 10,31,1,1,1,0
+setvl. 10,31,1,1,1,1
+setvl. 10,31,21,0,0,0
+setvl. 10,31,21,0,0,1
+setvl. 10,31,21,0,1,0
+setvl. 10,31,21,0,1,1
+setvl. 10,31,21,1,0,0
+setvl. 10,31,21,1,0,1
+setvl. 10,31,21,1,1,0
+setvl. 10,31,21,1,1,1
+setvl. 10,31,42,0,0,0
+setvl. 10,31,42,0,0,1
+setvl. 10,31,42,0,1,0
+setvl. 10,31,42,0,1,1
+setvl. 10,31,42,1,0,0
+setvl. 10,31,42,1,0,1
+setvl. 10,31,42,1,1,0
+setvl. 10,31,42,1,1,1
+setvl. 10,31,51,0,0,0
+setvl. 10,31,51,0,0,1
+setvl. 10,31,51,0,1,0
+setvl. 10,31,51,0,1,1
+setvl. 10,31,51,1,0,0
+setvl. 10,31,51,1,0,1
+setvl. 10,31,51,1,1,0
+setvl. 10,31,51,1,1,1
+setvl. 10,31,63,0,0,0
+setvl. 10,31,63,0,0,1
+setvl. 10,31,63,0,1,0
+setvl. 10,31,63,0,1,1
+setvl. 10,31,63,1,0,0
+setvl. 10,31,63,1,0,1
+setvl. 10,31,63,1,1,0
+setvl. 10,31,63,1,1,1
+setvl. 10,31,32,0,0,0
+setvl. 10,31,32,0,0,1
+setvl. 10,31,32,0,1,0
+setvl. 10,31,32,0,1,1
+setvl. 10,31,32,1,0,0
+setvl. 10,31,32,1,0,1
+setvl. 10,31,32,1,1,0
+setvl. 10,31,32,1,1,1
+setvl. 21,0,1,0,0,0
+setvl. 21,0,1,0,0,1
+setvl. 21,0,1,0,1,0
+setvl. 21,0,1,0,1,1
+setvl. 21,0,1,1,0,0
+setvl. 21,0,1,1,0,1
+setvl. 21,0,1,1,1,0
+setvl. 21,0,1,1,1,1
+setvl. 21,0,21,0,0,0
+setvl. 21,0,21,0,0,1
+setvl. 21,0,21,0,1,0
+setvl. 21,0,21,0,1,1
+setvl. 21,0,21,1,0,0
+setvl. 21,0,21,1,0,1
+setvl. 21,0,21,1,1,0
+setvl. 21,0,21,1,1,1
+setvl. 21,0,42,0,0,0
+setvl. 21,0,42,0,0,1
+setvl. 21,0,42,0,1,0
+setvl. 21,0,42,0,1,1
+setvl. 21,0,42,1,0,0
+setvl. 21,0,42,1,0,1
+setvl. 21,0,42,1,1,0
+setvl. 21,0,42,1,1,1
+setvl. 21,0,51,0,0,0
+setvl. 21,0,51,0,0,1
+setvl. 21,0,51,0,1,0
+setvl. 21,0,51,0,1,1
+setvl. 21,0,51,1,0,0
+setvl. 21,0,51,1,0,1
+setvl. 21,0,51,1,1,0
+setvl. 21,0,51,1,1,1
+setvl. 21,0,63,0,0,0
+setvl. 21,0,63,0,0,1
+setvl. 21,0,63,0,1,0
+setvl. 21,0,63,0,1,1
+setvl. 21,0,63,1,0,0
+setvl. 21,0,63,1,0,1
+setvl. 21,0,63,1,1,0
+setvl. 21,0,63,1,1,1
+setvl. 21,0,32,0,0,0
+setvl. 21,0,32,0,0,1
+setvl. 21,0,32,0,1,0
+setvl. 21,0,32,0,1,1
+setvl. 21,0,32,1,0,0
+setvl. 21,0,32,1,0,1
+setvl. 21,0,32,1,1,0
+setvl. 21,0,32,1,1,1
+setvl. 21,10,1,0,0,0
+setvl. 21,10,1,0,0,1
+setvl. 21,10,1,0,1,0
+setvl. 21,10,1,0,1,1
+setvl. 21,10,1,1,0,0
+setvl. 21,10,1,1,0,1
+setvl. 21,10,1,1,1,0
+setvl. 21,10,1,1,1,1
+setvl. 21,10,21,0,0,0
+setvl. 21,10,21,0,0,1
+setvl. 21,10,21,0,1,0
+setvl. 21,10,21,0,1,1
+setvl. 21,10,21,1,0,0
+setvl. 21,10,21,1,0,1
+setvl. 21,10,21,1,1,0
+setvl. 21,10,21,1,1,1
+setvl. 21,10,42,0,0,0
+setvl. 21,10,42,0,0,1
+setvl. 21,10,42,0,1,0
+setvl. 21,10,42,0,1,1
+setvl. 21,10,42,1,0,0
+setvl. 21,10,42,1,0,1
+setvl. 21,10,42,1,1,0
+setvl. 21,10,42,1,1,1
+setvl. 21,10,51,0,0,0
+setvl. 21,10,51,0,0,1
+setvl. 21,10,51,0,1,0
+setvl. 21,10,51,0,1,1
+setvl. 21,10,51,1,0,0
+setvl. 21,10,51,1,0,1
+setvl. 21,10,51,1,1,0
+setvl. 21,10,51,1,1,1
+setvl. 21,10,63,0,0,0
+setvl. 21,10,63,0,0,1
+setvl. 21,10,63,0,1,0
+setvl. 21,10,63,0,1,1
+setvl. 21,10,63,1,0,0
+setvl. 21,10,63,1,0,1
+setvl. 21,10,63,1,1,0
+setvl. 21,10,63,1,1,1
+setvl. 21,10,32,0,0,0
+setvl. 21,10,32,0,0,1
+setvl. 21,10,32,0,1,0
+setvl. 21,10,32,0,1,1
+setvl. 21,10,32,1,0,0
+setvl. 21,10,32,1,0,1
+setvl. 21,10,32,1,1,0
+setvl. 21,10,32,1,1,1
+setvl. 21,21,1,0,0,0
+setvl. 21,21,1,0,0,1
+setvl. 21,21,1,0,1,0
+setvl. 21,21,1,0,1,1
+setvl. 21,21,1,1,0,0
+setvl. 21,21,1,1,0,1
+setvl. 21,21,1,1,1,0
+setvl. 21,21,1,1,1,1
+setvl. 21,21,21,0,0,0
+setvl. 21,21,21,0,0,1
+setvl. 21,21,21,0,1,0
+setvl. 21,21,21,0,1,1
+setvl. 21,21,21,1,0,0
+setvl. 21,21,21,1,0,1
+setvl. 21,21,21,1,1,0
+setvl. 21,21,21,1,1,1
+setvl. 21,21,42,0,0,0
+setvl. 21,21,42,0,0,1
+setvl. 21,21,42,0,1,0
+setvl. 21,21,42,0,1,1
+setvl. 21,21,42,1,0,0
+setvl. 21,21,42,1,0,1
+setvl. 21,21,42,1,1,0
+setvl. 21,21,42,1,1,1
+setvl. 21,21,51,0,0,0
+setvl. 21,21,51,0,0,1
+setvl. 21,21,51,0,1,0
+setvl. 21,21,51,0,1,1
+setvl. 21,21,51,1,0,0
+setvl. 21,21,51,1,0,1
+setvl. 21,21,51,1,1,0
+setvl. 21,21,51,1,1,1
+setvl. 21,21,63,0,0,0
+setvl. 21,21,63,0,0,1
+setvl. 21,21,63,0,1,0
+setvl. 21,21,63,0,1,1
+setvl. 21,21,63,1,0,0
+setvl. 21,21,63,1,0,1
+setvl. 21,21,63,1,1,0
+setvl. 21,21,63,1,1,1
+setvl. 21,21,32,0,0,0
+setvl. 21,21,32,0,0,1
+setvl. 21,21,32,0,1,0
+setvl. 21,21,32,0,1,1
+setvl. 21,21,32,1,0,0
+setvl. 21,21,32,1,0,1
+setvl. 21,21,32,1,1,0
+setvl. 21,21,32,1,1,1
+setvl. 21,27,1,0,0,0
+setvl. 21,27,1,0,0,1
+setvl. 21,27,1,0,1,0
+setvl. 21,27,1,0,1,1
+setvl. 21,27,1,1,0,0
+setvl. 21,27,1,1,0,1
+setvl. 21,27,1,1,1,0
+setvl. 21,27,1,1,1,1
+setvl. 21,27,21,0,0,0
+setvl. 21,27,21,0,0,1
+setvl. 21,27,21,0,1,0
+setvl. 21,27,21,0,1,1
+setvl. 21,27,21,1,0,0
+setvl. 21,27,21,1,0,1
+setvl. 21,27,21,1,1,0
+setvl. 21,27,21,1,1,1
+setvl. 21,27,42,0,0,0
+setvl. 21,27,42,0,0,1
+setvl. 21,27,42,0,1,0
+setvl. 21,27,42,0,1,1
+setvl. 21,27,42,1,0,0
+setvl. 21,27,42,1,0,1
+setvl. 21,27,42,1,1,0
+setvl. 21,27,42,1,1,1
+setvl. 21,27,51,0,0,0
+setvl. 21,27,51,0,0,1
+setvl. 21,27,51,0,1,0
+setvl. 21,27,51,0,1,1
+setvl. 21,27,51,1,0,0
+setvl. 21,27,51,1,0,1
+setvl. 21,27,51,1,1,0
+setvl. 21,27,51,1,1,1
+setvl. 21,27,63,0,0,0
+setvl. 21,27,63,0,0,1
+setvl. 21,27,63,0,1,0
+setvl. 21,27,63,0,1,1
+setvl. 21,27,63,1,0,0
+setvl. 21,27,63,1,0,1
+setvl. 21,27,63,1,1,0
+setvl. 21,27,63,1,1,1
+setvl. 21,27,32,0,0,0
+setvl. 21,27,32,0,0,1
+setvl. 21,27,32,0,1,0
+setvl. 21,27,32,0,1,1
+setvl. 21,27,32,1,0,0
+setvl. 21,27,32,1,0,1
+setvl. 21,27,32,1,1,0
+setvl. 21,27,32,1,1,1
+setvl. 21,31,1,0,0,0
+setvl. 21,31,1,0,0,1
+setvl. 21,31,1,0,1,0
+setvl. 21,31,1,0,1,1
+setvl. 21,31,1,1,0,0
+setvl. 21,31,1,1,0,1
+setvl. 21,31,1,1,1,0
+setvl. 21,31,1,1,1,1
+setvl. 21,31,21,0,0,0
+setvl. 21,31,21,0,0,1
+setvl. 21,31,21,0,1,0
+setvl. 21,31,21,0,1,1
+setvl. 21,31,21,1,0,0
+setvl. 21,31,21,1,0,1
+setvl. 21,31,21,1,1,0
+setvl. 21,31,21,1,1,1
+setvl. 21,31,42,0,0,0
+setvl. 21,31,42,0,0,1
+setvl. 21,31,42,0,1,0
+setvl. 21,31,42,0,1,1
+setvl. 21,31,42,1,0,0
+setvl. 21,31,42,1,0,1
+setvl. 21,31,42,1,1,0
+setvl. 21,31,42,1,1,1
+setvl. 21,31,51,0,0,0
+setvl. 21,31,51,0,0,1
+setvl. 21,31,51,0,1,0
+setvl. 21,31,51,0,1,1
+setvl. 21,31,51,1,0,0
+setvl. 21,31,51,1,0,1
+setvl. 21,31,51,1,1,0
+setvl. 21,31,51,1,1,1
+setvl. 21,31,63,0,0,0
+setvl. 21,31,63,0,0,1
+setvl. 21,31,63,0,1,0
+setvl. 21,31,63,0,1,1
+setvl. 21,31,63,1,0,0
+setvl. 21,31,63,1,0,1
+setvl. 21,31,63,1,1,0
+setvl. 21,31,63,1,1,1
+setvl. 21,31,32,0,0,0
+setvl. 21,31,32,0,0,1
+setvl. 21,31,32,0,1,0
+setvl. 21,31,32,0,1,1
+setvl. 21,31,32,1,0,0
+setvl. 21,31,32,1,0,1
+setvl. 21,31,32,1,1,0
+setvl. 21,31,32,1,1,1
+setvl. 27,0,1,0,0,0
+setvl. 27,0,1,0,0,1
+setvl. 27,0,1,0,1,0
+setvl. 27,0,1,0,1,1
+setvl. 27,0,1,1,0,0
+setvl. 27,0,1,1,0,1
+setvl. 27,0,1,1,1,0
+setvl. 27,0,1,1,1,1
+setvl. 27,0,21,0,0,0
+setvl. 27,0,21,0,0,1
+setvl. 27,0,21,0,1,0
+setvl. 27,0,21,0,1,1
+setvl. 27,0,21,1,0,0
+setvl. 27,0,21,1,0,1
+setvl. 27,0,21,1,1,0
+setvl. 27,0,21,1,1,1
+setvl. 27,0,42,0,0,0
+setvl. 27,0,42,0,0,1
+setvl. 27,0,42,0,1,0
+setvl. 27,0,42,0,1,1
+setvl. 27,0,42,1,0,0
+setvl. 27,0,42,1,0,1
+setvl. 27,0,42,1,1,0
+setvl. 27,0,42,1,1,1
+setvl. 27,0,51,0,0,0
+setvl. 27,0,51,0,0,1
+setvl. 27,0,51,0,1,0
+setvl. 27,0,51,0,1,1
+setvl. 27,0,51,1,0,0
+setvl. 27,0,51,1,0,1
+setvl. 27,0,51,1,1,0
+setvl. 27,0,51,1,1,1
+setvl. 27,0,63,0,0,0
+setvl. 27,0,63,0,0,1
+setvl. 27,0,63,0,1,0
+setvl. 27,0,63,0,1,1
+setvl. 27,0,63,1,0,0
+setvl. 27,0,63,1,0,1
+setvl. 27,0,63,1,1,0
+setvl. 27,0,63,1,1,1
+setvl. 27,0,32,0,0,0
+setvl. 27,0,32,0,0,1
+setvl. 27,0,32,0,1,0
+setvl. 27,0,32,0,1,1
+setvl. 27,0,32,1,0,0
+setvl. 27,0,32,1,0,1
+setvl. 27,0,32,1,1,0
+setvl. 27,0,32,1,1,1
+setvl. 27,10,1,0,0,0
+setvl. 27,10,1,0,0,1
+setvl. 27,10,1,0,1,0
+setvl. 27,10,1,0,1,1
+setvl. 27,10,1,1,0,0
+setvl. 27,10,1,1,0,1
+setvl. 27,10,1,1,1,0
+setvl. 27,10,1,1,1,1
+setvl. 27,10,21,0,0,0
+setvl. 27,10,21,0,0,1
+setvl. 27,10,21,0,1,0
+setvl. 27,10,21,0,1,1
+setvl. 27,10,21,1,0,0
+setvl. 27,10,21,1,0,1
+setvl. 27,10,21,1,1,0
+setvl. 27,10,21,1,1,1
+setvl. 27,10,42,0,0,0
+setvl. 27,10,42,0,0,1
+setvl. 27,10,42,0,1,0
+setvl. 27,10,42,0,1,1
+setvl. 27,10,42,1,0,0
+setvl. 27,10,42,1,0,1
+setvl. 27,10,42,1,1,0
+setvl. 27,10,42,1,1,1
+setvl. 27,10,51,0,0,0
+setvl. 27,10,51,0,0,1
+setvl. 27,10,51,0,1,0
+setvl. 27,10,51,0,1,1
+setvl. 27,10,51,1,0,0
+setvl. 27,10,51,1,0,1
+setvl. 27,10,51,1,1,0
+setvl. 27,10,51,1,1,1
+setvl. 27,10,63,0,0,0
+setvl. 27,10,63,0,0,1
+setvl. 27,10,63,0,1,0
+setvl. 27,10,63,0,1,1
+setvl. 27,10,63,1,0,0
+setvl. 27,10,63,1,0,1
+setvl. 27,10,63,1,1,0
+setvl. 27,10,63,1,1,1
+setvl. 27,10,32,0,0,0
+setvl. 27,10,32,0,0,1
+setvl. 27,10,32,0,1,0
+setvl. 27,10,32,0,1,1
+setvl. 27,10,32,1,0,0
+setvl. 27,10,32,1,0,1
+setvl. 27,10,32,1,1,0
+setvl. 27,10,32,1,1,1
+setvl. 27,21,1,0,0,0
+setvl. 27,21,1,0,0,1
+setvl. 27,21,1,0,1,0
+setvl. 27,21,1,0,1,1
+setvl. 27,21,1,1,0,0
+setvl. 27,21,1,1,0,1
+setvl. 27,21,1,1,1,0
+setvl. 27,21,1,1,1,1
+setvl. 27,21,21,0,0,0
+setvl. 27,21,21,0,0,1
+setvl. 27,21,21,0,1,0
+setvl. 27,21,21,0,1,1
+setvl. 27,21,21,1,0,0
+setvl. 27,21,21,1,0,1
+setvl. 27,21,21,1,1,0
+setvl. 27,21,21,1,1,1
+setvl. 27,21,42,0,0,0
+setvl. 27,21,42,0,0,1
+setvl. 27,21,42,0,1,0
+setvl. 27,21,42,0,1,1
+setvl. 27,21,42,1,0,0
+setvl. 27,21,42,1,0,1
+setvl. 27,21,42,1,1,0
+setvl. 27,21,42,1,1,1
+setvl. 27,21,51,0,0,0
+setvl. 27,21,51,0,0,1
+setvl. 27,21,51,0,1,0
+setvl. 27,21,51,0,1,1
+setvl. 27,21,51,1,0,0
+setvl. 27,21,51,1,0,1
+setvl. 27,21,51,1,1,0
+setvl. 27,21,51,1,1,1
+setvl. 27,21,63,0,0,0
+setvl. 27,21,63,0,0,1
+setvl. 27,21,63,0,1,0
+setvl. 27,21,63,0,1,1
+setvl. 27,21,63,1,0,0
+setvl. 27,21,63,1,0,1
+setvl. 27,21,63,1,1,0
+setvl. 27,21,63,1,1,1
+setvl. 27,21,32,0,0,0
+setvl. 27,21,32,0,0,1
+setvl. 27,21,32,0,1,0
+setvl. 27,21,32,0,1,1
+setvl. 27,21,32,1,0,0
+setvl. 27,21,32,1,0,1
+setvl. 27,21,32,1,1,0
+setvl. 27,21,32,1,1,1
+setvl. 27,27,1,0,0,0
+setvl. 27,27,1,0,0,1
+setvl. 27,27,1,0,1,0
+setvl. 27,27,1,0,1,1
+setvl. 27,27,1,1,0,0
+setvl. 27,27,1,1,0,1
+setvl. 27,27,1,1,1,0
+setvl. 27,27,1,1,1,1
+setvl. 27,27,21,0,0,0
+setvl. 27,27,21,0,0,1
+setvl. 27,27,21,0,1,0
+setvl. 27,27,21,0,1,1
+setvl. 27,27,21,1,0,0
+setvl. 27,27,21,1,0,1
+setvl. 27,27,21,1,1,0
+setvl. 27,27,21,1,1,1
+setvl. 27,27,42,0,0,0
+setvl. 27,27,42,0,0,1
+setvl. 27,27,42,0,1,0
+setvl. 27,27,42,0,1,1
+setvl. 27,27,42,1,0,0
+setvl. 27,27,42,1,0,1
+setvl. 27,27,42,1,1,0
+setvl. 27,27,42,1,1,1
+setvl. 27,27,51,0,0,0
+setvl. 27,27,51,0,0,1
+setvl. 27,27,51,0,1,0
+setvl. 27,27,51,0,1,1
+setvl. 27,27,51,1,0,0
+setvl. 27,27,51,1,0,1
+setvl. 27,27,51,1,1,0
+setvl. 27,27,51,1,1,1
+setvl. 27,27,63,0,0,0
+setvl. 27,27,63,0,0,1
+setvl. 27,27,63,0,1,0
+setvl. 27,27,63,0,1,1
+setvl. 27,27,63,1,0,0
+setvl. 27,27,63,1,0,1
+setvl. 27,27,63,1,1,0
+setvl. 27,27,63,1,1,1
+setvl. 27,27,32,0,0,0
+setvl. 27,27,32,0,0,1
+setvl. 27,27,32,0,1,0
+setvl. 27,27,32,0,1,1
+setvl. 27,27,32,1,0,0
+setvl. 27,27,32,1,0,1
+setvl. 27,27,32,1,1,0
+setvl. 27,27,32,1,1,1
+setvl. 27,31,1,0,0,0
+setvl. 27,31,1,0,0,1
+setvl. 27,31,1,0,1,0
+setvl. 27,31,1,0,1,1
+setvl. 27,31,1,1,0,0
+setvl. 27,31,1,1,0,1
+setvl. 27,31,1,1,1,0
+setvl. 27,31,1,1,1,1
+setvl. 27,31,21,0,0,0
+setvl. 27,31,21,0,0,1
+setvl. 27,31,21,0,1,0
+setvl. 27,31,21,0,1,1
+setvl. 27,31,21,1,0,0
+setvl. 27,31,21,1,0,1
+setvl. 27,31,21,1,1,0
+setvl. 27,31,21,1,1,1
+setvl. 27,31,42,0,0,0
+setvl. 27,31,42,0,0,1
+setvl. 27,31,42,0,1,0
+setvl. 27,31,42,0,1,1
+setvl. 27,31,42,1,0,0
+setvl. 27,31,42,1,0,1
+setvl. 27,31,42,1,1,0
+setvl. 27,31,42,1,1,1
+setvl. 27,31,51,0,0,0
+setvl. 27,31,51,0,0,1
+setvl. 27,31,51,0,1,0
+setvl. 27,31,51,0,1,1
+setvl. 27,31,51,1,0,0
+setvl. 27,31,51,1,0,1
+setvl. 27,31,51,1,1,0
+setvl. 27,31,51,1,1,1
+setvl. 27,31,63,0,0,0
+setvl. 27,31,63,0,0,1
+setvl. 27,31,63,0,1,0
+setvl. 27,31,63,0,1,1
+setvl. 27,31,63,1,0,0
+setvl. 27,31,63,1,0,1
+setvl. 27,31,63,1,1,0
+setvl. 27,31,63,1,1,1
+setvl. 27,31,32,0,0,0
+setvl. 27,31,32,0,0,1
+setvl. 27,31,32,0,1,0
+setvl. 27,31,32,0,1,1
+setvl. 27,31,32,1,0,0
+setvl. 27,31,32,1,0,1
+setvl. 27,31,32,1,1,0
+setvl. 27,31,32,1,1,1
+setvl. 31,0,1,0,0,0
+setvl. 31,0,1,0,0,1
+setvl. 31,0,1,0,1,0
+setvl. 31,0,1,0,1,1
+setvl. 31,0,1,1,0,0
+setvl. 31,0,1,1,0,1
+setvl. 31,0,1,1,1,0
+setvl. 31,0,1,1,1,1
+setvl. 31,0,21,0,0,0
+setvl. 31,0,21,0,0,1
+setvl. 31,0,21,0,1,0
+setvl. 31,0,21,0,1,1
+setvl. 31,0,21,1,0,0
+setvl. 31,0,21,1,0,1
+setvl. 31,0,21,1,1,0
+setvl. 31,0,21,1,1,1
+setvl. 31,0,42,0,0,0
+setvl. 31,0,42,0,0,1
+setvl. 31,0,42,0,1,0
+setvl. 31,0,42,0,1,1
+setvl. 31,0,42,1,0,0
+setvl. 31,0,42,1,0,1
+setvl. 31,0,42,1,1,0
+setvl. 31,0,42,1,1,1
+setvl. 31,0,51,0,0,0
+setvl. 31,0,51,0,0,1
+setvl. 31,0,51,0,1,0
+setvl. 31,0,51,0,1,1
+setvl. 31,0,51,1,0,0
+setvl. 31,0,51,1,0,1
+setvl. 31,0,51,1,1,0
+setvl. 31,0,51,1,1,1
+setvl. 31,0,63,0,0,0
+setvl. 31,0,63,0,0,1
+setvl. 31,0,63,0,1,0
+setvl. 31,0,63,0,1,1
+setvl. 31,0,63,1,0,0
+setvl. 31,0,63,1,0,1
+setvl. 31,0,63,1,1,0
+setvl. 31,0,63,1,1,1
+setvl. 31,0,32,0,0,0
+setvl. 31,0,32,0,0,1
+setvl. 31,0,32,0,1,0
+setvl. 31,0,32,0,1,1
+setvl. 31,0,32,1,0,0
+setvl. 31,0,32,1,0,1
+setvl. 31,0,32,1,1,0
+setvl. 31,0,32,1,1,1
+setvl. 31,10,1,0,0,0
+setvl. 31,10,1,0,0,1
+setvl. 31,10,1,0,1,0
+setvl. 31,10,1,0,1,1
+setvl. 31,10,1,1,0,0
+setvl. 31,10,1,1,0,1
+setvl. 31,10,1,1,1,0
+setvl. 31,10,1,1,1,1
+setvl. 31,10,21,0,0,0
+setvl. 31,10,21,0,0,1
+setvl. 31,10,21,0,1,0
+setvl. 31,10,21,0,1,1
+setvl. 31,10,21,1,0,0
+setvl. 31,10,21,1,0,1
+setvl. 31,10,21,1,1,0
+setvl. 31,10,21,1,1,1
+setvl. 31,10,42,0,0,0
+setvl. 31,10,42,0,0,1
+setvl. 31,10,42,0,1,0
+setvl. 31,10,42,0,1,1
+setvl. 31,10,42,1,0,0
+setvl. 31,10,42,1,0,1
+setvl. 31,10,42,1,1,0
+setvl. 31,10,42,1,1,1
+setvl. 31,10,51,0,0,0
+setvl. 31,10,51,0,0,1
+setvl. 31,10,51,0,1,0
+setvl. 31,10,51,0,1,1
+setvl. 31,10,51,1,0,0
+setvl. 31,10,51,1,0,1
+setvl. 31,10,51,1,1,0
+setvl. 31,10,51,1,1,1
+setvl. 31,10,63,0,0,0
+setvl. 31,10,63,0,0,1
+setvl. 31,10,63,0,1,0
+setvl. 31,10,63,0,1,1
+setvl. 31,10,63,1,0,0
+setvl. 31,10,63,1,0,1
+setvl. 31,10,63,1,1,0
+setvl. 31,10,63,1,1,1
+setvl. 31,10,32,0,0,0
+setvl. 31,10,32,0,0,1
+setvl. 31,10,32,0,1,0
+setvl. 31,10,32,0,1,1
+setvl. 31,10,32,1,0,0
+setvl. 31,10,32,1,0,1
+setvl. 31,10,32,1,1,0
+setvl. 31,10,32,1,1,1
+setvl. 31,21,1,0,0,0
+setvl. 31,21,1,0,0,1
+setvl. 31,21,1,0,1,0
+setvl. 31,21,1,0,1,1
+setvl. 31,21,1,1,0,0
+setvl. 31,21,1,1,0,1
+setvl. 31,21,1,1,1,0
+setvl. 31,21,1,1,1,1
+setvl. 31,21,21,0,0,0
+setvl. 31,21,21,0,0,1
+setvl. 31,21,21,0,1,0
+setvl. 31,21,21,0,1,1
+setvl. 31,21,21,1,0,0
+setvl. 31,21,21,1,0,1
+setvl. 31,21,21,1,1,0
+setvl. 31,21,21,1,1,1
+setvl. 31,21,42,0,0,0
+setvl. 31,21,42,0,0,1
+setvl. 31,21,42,0,1,0
+setvl. 31,21,42,0,1,1
+setvl. 31,21,42,1,0,0
+setvl. 31,21,42,1,0,1
+setvl. 31,21,42,1,1,0
+setvl. 31,21,42,1,1,1
+setvl. 31,21,51,0,0,0
+setvl. 31,21,51,0,0,1
+setvl. 31,21,51,0,1,0
+setvl. 31,21,51,0,1,1
+setvl. 31,21,51,1,0,0
+setvl. 31,21,51,1,0,1
+setvl. 31,21,51,1,1,0
+setvl. 31,21,51,1,1,1
+setvl. 31,21,63,0,0,0
+setvl. 31,21,63,0,0,1
+setvl. 31,21,63,0,1,0
+setvl. 31,21,63,0,1,1
+setvl. 31,21,63,1,0,0
+setvl. 31,21,63,1,0,1
+setvl. 31,21,63,1,1,0
+setvl. 31,21,63,1,1,1
+setvl. 31,21,32,0,0,0
+setvl. 31,21,32,0,0,1
+setvl. 31,21,32,0,1,0
+setvl. 31,21,32,0,1,1
+setvl. 31,21,32,1,0,0
+setvl. 31,21,32,1,0,1
+setvl. 31,21,32,1,1,0
+setvl. 31,21,32,1,1,1
+setvl. 31,27,1,0,0,0
+setvl. 31,27,1,0,0,1
+setvl. 31,27,1,0,1,0
+setvl. 31,27,1,0,1,1
+setvl. 31,27,1,1,0,0
+setvl. 31,27,1,1,0,1
+setvl. 31,27,1,1,1,0
+setvl. 31,27,1,1,1,1
+setvl. 31,27,21,0,0,0
+setvl. 31,27,21,0,0,1
+setvl. 31,27,21,0,1,0
+setvl. 31,27,21,0,1,1
+setvl. 31,27,21,1,0,0
+setvl. 31,27,21,1,0,1
+setvl. 31,27,21,1,1,0
+setvl. 31,27,21,1,1,1
+setvl. 31,27,42,0,0,0
+setvl. 31,27,42,0,0,1
+setvl. 31,27,42,0,1,0
+setvl. 31,27,42,0,1,1
+setvl. 31,27,42,1,0,0
+setvl. 31,27,42,1,0,1
+setvl. 31,27,42,1,1,0
+setvl. 31,27,42,1,1,1
+setvl. 31,27,51,0,0,0
+setvl. 31,27,51,0,0,1
+setvl. 31,27,51,0,1,0
+setvl. 31,27,51,0,1,1
+setvl. 31,27,51,1,0,0
+setvl. 31,27,51,1,0,1
+setvl. 31,27,51,1,1,0
+setvl. 31,27,51,1,1,1
+setvl. 31,27,63,0,0,0
+setvl. 31,27,63,0,0,1
+setvl. 31,27,63,0,1,0
+setvl. 31,27,63,0,1,1
+setvl. 31,27,63,1,0,0
+setvl. 31,27,63,1,0,1
+setvl. 31,27,63,1,1,0
+setvl. 31,27,63,1,1,1
+setvl. 31,27,32,0,0,0
+setvl. 31,27,32,0,0,1
+setvl. 31,27,32,0,1,0
+setvl. 31,27,32,0,1,1
+setvl. 31,27,32,1,0,0
+setvl. 31,27,32,1,0,1
+setvl. 31,27,32,1,1,0
+setvl. 31,27,32,1,1,1
+setvl. 31,31,1,0,0,0
+setvl. 31,31,1,0,0,1
+setvl. 31,31,1,0,1,0
+setvl. 31,31,1,0,1,1
+setvl. 31,31,1,1,0,0
+setvl. 31,31,1,1,0,1
+setvl. 31,31,1,1,1,0
+setvl. 31,31,1,1,1,1
+setvl. 31,31,21,0,0,0
+setvl. 31,31,21,0,0,1
+setvl. 31,31,21,0,1,0
+setvl. 31,31,21,0,1,1
+setvl. 31,31,21,1,0,0
+setvl. 31,31,21,1,0,1
+setvl. 31,31,21,1,1,0
+setvl. 31,31,21,1,1,1
+setvl. 31,31,42,0,0,0
+setvl. 31,31,42,0,0,1
+setvl. 31,31,42,0,1,0
+setvl. 31,31,42,0,1,1
+setvl. 31,31,42,1,0,0
+setvl. 31,31,42,1,0,1
+setvl. 31,31,42,1,1,0
+setvl. 31,31,42,1,1,1
+setvl. 31,31,51,0,0,0
+setvl. 31,31,51,0,0,1
+setvl. 31,31,51,0,1,0
+setvl. 31,31,51,0,1,1
+setvl. 31,31,51,1,0,0
+setvl. 31,31,51,1,0,1
+setvl. 31,31,51,1,1,0
+setvl. 31,31,51,1,1,1
+setvl. 31,31,63,0,0,0
+setvl. 31,31,63,0,0,1
+setvl. 31,31,63,0,1,0
+setvl. 31,31,63,0,1,1
+setvl. 31,31,63,1,0,0
+setvl. 31,31,63,1,0,1
+setvl. 31,31,63,1,1,0
+setvl. 31,31,63,1,1,1
+setvl. 31,31,32,0,0,0
+setvl. 31,31,32,0,0,1
+setvl. 31,31,32,0,1,0
+setvl. 31,31,32,0,1,1
+setvl. 31,31,32,1,0,0
+setvl. 31,31,32,1,0,1
+setvl. 31,31,32,1,1,0
+setvl. 31,31,32,1,1,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index fe2fcaeb1d..0a34417820 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -2719,6 +2719,26 @@ extract_thds (uint64_t insn,
 
   return value;
 }
+
+static uint64_t
+insert_svi (uint64_t insn,
+           int64_t value,
+           ppc_cpu_t dialect ATTRIBUTE_UNUSED,
+           const char **errmsg ATTRIBUTE_UNUSED)
+{
+  if (value <= 0)
+    *errmsg = _("invalid SVi field");
+  return (insn | (((value - 1) & 0x3f) << 9));
+}
+
+static int64_t
+extract_svi (uint64_t insn ATTRIBUTE_UNUSED,
+             ppc_cpu_t dialect ATTRIBUTE_UNUSED,
+             int *invalid ATTRIBUTE_UNUSED)
+{
+  return (((insn >> 9) & 0x3f) + 1);
+}
+
 \f
 /* The operands table.
 
@@ -3825,6 +3845,18 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define HH DDD + 1
   { 0x3, 13, NULL, NULL, 0 },
+
+#define SVi HH + 1
+  { 0x3f, 9, insert_svi, extract_svi, 0 },
+
+#define vf SVi + 1
+  { 0x1, 6, NULL, NULL, 0 },
+
+#define vs vf + 1
+  { 0x1, 7, NULL, NULL, 0 },
+
+#define ms vs + 1
+  { 0x1, 8, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4694,6 +4726,13 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
 #define APU_RT_MASK (APU_MASK | RT_MASK)
 #define APU_RA_MASK (APU_MASK | RA_MASK)
 
+/* An SVL form instruction. */
+#define SVL(op, xop, rc)			\
+  (OP (op)					\
+   | ((((uint64_t)(xop)) & 0x1f) << 1)		\
+   | (((uint64_t)(rc)) & 1))
+#define SVL_MASK	SVL (0x3f, 0x1f, 1)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6763,6 +6802,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"rlmi",	M(22,0),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlmi.",	M(22,1),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 
+{"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
+{"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
+
 {"rotlw",	MME(23,31,0),	MMBME_MASK,  PPCCOM,	PPCVLE|EXT,	{RA, RS, RB}},
 {"rlwnm",	M(23,0),	M_MASK,	     PPCCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlnm",	M(23,0),	M_MASK,	     PWRCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v2 3/5] ppc/svp64: support svstep instructions
  2022-06-21 11:51 ` [PATCH v2 " Dmitry Selyutin
  2022-06-21 11:51   ` [PATCH v2 1/5] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
  2022-06-21 11:51   ` [PATCH v2 2/5] ppc/svp64: support setvl instructions Dmitry Selyutin
@ 2022-06-21 11:51   ` Dmitry Selyutin
  2022-06-21 11:51   ` [PATCH v2 4/5] ppc/svp64: support svshape instruction Dmitry Selyutin
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-21 11:51 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

---
 gas/testsuite/gas/ppc/ppc.exp  |   1 +
 gas/testsuite/gas/ppc/svstep.d | 128 +++++++++++++++++++++++++++++++++
 gas/testsuite/gas/ppc/svstep.s | 120 +++++++++++++++++++++++++++++++
 opcodes/ppc-opc.c              |   3 +
 4 files changed, 252 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svstep.d
 create mode 100644 gas/testsuite/gas/ppc/svstep.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index cd4dd658ce..d4d06d587e 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -155,3 +155,4 @@ run_dump_test "pr27676"
 run_dump_test "raw"
 
 run_dump_test "setvl"
+run_dump_test "svstep"
diff --git a/gas/testsuite/gas/ppc/svstep.d b/gas/testsuite/gas/ppc/svstep.d
new file mode 100644
index 0000000000..772d7857e7
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svstep.d
@@ -0,0 +1,128 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+   0:	26 00 00 58 	svstep  r0,1,0
+   4:	66 00 00 58 	svstep  r0,1,1
+   8:	26 28 00 58 	svstep  r0,21,0
+   c:	66 28 00 58 	svstep  r0,21,1
+  10:	26 52 00 58 	svstep  r0,42,0
+  14:	66 52 00 58 	svstep  r0,42,1
+  18:	26 64 00 58 	svstep  r0,51,0
+  1c:	66 64 00 58 	svstep  r0,51,1
+  20:	26 7c 00 58 	svstep  r0,63,0
+  24:	66 7c 00 58 	svstep  r0,63,1
+  28:	26 3e 00 58 	svstep  r0,32,0
+  2c:	66 3e 00 58 	svstep  r0,32,1
+  30:	26 00 40 59 	svstep  r10,1,0
+  34:	66 00 40 59 	svstep  r10,1,1
+  38:	26 28 40 59 	svstep  r10,21,0
+  3c:	66 28 40 59 	svstep  r10,21,1
+  40:	26 52 40 59 	svstep  r10,42,0
+  44:	66 52 40 59 	svstep  r10,42,1
+  48:	26 64 40 59 	svstep  r10,51,0
+  4c:	66 64 40 59 	svstep  r10,51,1
+  50:	26 7c 40 59 	svstep  r10,63,0
+  54:	66 7c 40 59 	svstep  r10,63,1
+  58:	26 3e 40 59 	svstep  r10,32,0
+  5c:	66 3e 40 59 	svstep  r10,32,1
+  60:	26 00 a0 5a 	svstep  r21,1,0
+  64:	66 00 a0 5a 	svstep  r21,1,1
+  68:	26 28 a0 5a 	svstep  r21,21,0
+  6c:	66 28 a0 5a 	svstep  r21,21,1
+  70:	26 52 a0 5a 	svstep  r21,42,0
+  74:	66 52 a0 5a 	svstep  r21,42,1
+  78:	26 64 a0 5a 	svstep  r21,51,0
+  7c:	66 64 a0 5a 	svstep  r21,51,1
+  80:	26 7c a0 5a 	svstep  r21,63,0
+  84:	66 7c a0 5a 	svstep  r21,63,1
+  88:	26 3e a0 5a 	svstep  r21,32,0
+  8c:	66 3e a0 5a 	svstep  r21,32,1
+  90:	26 00 60 5b 	svstep  r27,1,0
+  94:	66 00 60 5b 	svstep  r27,1,1
+  98:	26 28 60 5b 	svstep  r27,21,0
+  9c:	66 28 60 5b 	svstep  r27,21,1
+  a0:	26 52 60 5b 	svstep  r27,42,0
+  a4:	66 52 60 5b 	svstep  r27,42,1
+  a8:	26 64 60 5b 	svstep  r27,51,0
+  ac:	66 64 60 5b 	svstep  r27,51,1
+  b0:	26 7c 60 5b 	svstep  r27,63,0
+  b4:	66 7c 60 5b 	svstep  r27,63,1
+  b8:	26 3e 60 5b 	svstep  r27,32,0
+  bc:	66 3e 60 5b 	svstep  r27,32,1
+  c0:	26 00 e0 5b 	svstep  r31,1,0
+  c4:	66 00 e0 5b 	svstep  r31,1,1
+  c8:	26 28 e0 5b 	svstep  r31,21,0
+  cc:	66 28 e0 5b 	svstep  r31,21,1
+  d0:	26 52 e0 5b 	svstep  r31,42,0
+  d4:	66 52 e0 5b 	svstep  r31,42,1
+  d8:	26 64 e0 5b 	svstep  r31,51,0
+  dc:	66 64 e0 5b 	svstep  r31,51,1
+  e0:	26 7c e0 5b 	svstep  r31,63,0
+  e4:	66 7c e0 5b 	svstep  r31,63,1
+  e8:	26 3e e0 5b 	svstep  r31,32,0
+  ec:	66 3e e0 5b 	svstep  r31,32,1
+  f0:	27 00 00 58 	svstep\. r0,1,0
+  f4:	67 00 00 58 	svstep\. r0,1,1
+  f8:	27 28 00 58 	svstep\. r0,21,0
+  fc:	67 28 00 58 	svstep\. r0,21,1
+ 100:	27 52 00 58 	svstep\. r0,42,0
+ 104:	67 52 00 58 	svstep\. r0,42,1
+ 108:	27 64 00 58 	svstep\. r0,51,0
+ 10c:	67 64 00 58 	svstep\. r0,51,1
+ 110:	27 7c 00 58 	svstep\. r0,63,0
+ 114:	67 7c 00 58 	svstep\. r0,63,1
+ 118:	27 3e 00 58 	svstep\. r0,32,0
+ 11c:	67 3e 00 58 	svstep\. r0,32,1
+ 120:	27 00 40 59 	svstep\. r10,1,0
+ 124:	67 00 40 59 	svstep\. r10,1,1
+ 128:	27 28 40 59 	svstep\. r10,21,0
+ 12c:	67 28 40 59 	svstep\. r10,21,1
+ 130:	27 52 40 59 	svstep\. r10,42,0
+ 134:	67 52 40 59 	svstep\. r10,42,1
+ 138:	27 64 40 59 	svstep\. r10,51,0
+ 13c:	67 64 40 59 	svstep\. r10,51,1
+ 140:	27 7c 40 59 	svstep\. r10,63,0
+ 144:	67 7c 40 59 	svstep\. r10,63,1
+ 148:	27 3e 40 59 	svstep\. r10,32,0
+ 14c:	67 3e 40 59 	svstep\. r10,32,1
+ 150:	27 00 a0 5a 	svstep\. r21,1,0
+ 154:	67 00 a0 5a 	svstep\. r21,1,1
+ 158:	27 28 a0 5a 	svstep\. r21,21,0
+ 15c:	67 28 a0 5a 	svstep\. r21,21,1
+ 160:	27 52 a0 5a 	svstep\. r21,42,0
+ 164:	67 52 a0 5a 	svstep\. r21,42,1
+ 168:	27 64 a0 5a 	svstep\. r21,51,0
+ 16c:	67 64 a0 5a 	svstep\. r21,51,1
+ 170:	27 7c a0 5a 	svstep\. r21,63,0
+ 174:	67 7c a0 5a 	svstep\. r21,63,1
+ 178:	27 3e a0 5a 	svstep\. r21,32,0
+ 17c:	67 3e a0 5a 	svstep\. r21,32,1
+ 180:	27 00 60 5b 	svstep\. r27,1,0
+ 184:	67 00 60 5b 	svstep\. r27,1,1
+ 188:	27 28 60 5b 	svstep\. r27,21,0
+ 18c:	67 28 60 5b 	svstep\. r27,21,1
+ 190:	27 52 60 5b 	svstep\. r27,42,0
+ 194:	67 52 60 5b 	svstep\. r27,42,1
+ 198:	27 64 60 5b 	svstep\. r27,51,0
+ 19c:	67 64 60 5b 	svstep\. r27,51,1
+ 1a0:	27 7c 60 5b 	svstep\. r27,63,0
+ 1a4:	67 7c 60 5b 	svstep\. r27,63,1
+ 1a8:	27 3e 60 5b 	svstep\. r27,32,0
+ 1ac:	67 3e 60 5b 	svstep\. r27,32,1
+ 1b0:	27 00 e0 5b 	svstep\. r31,1,0
+ 1b4:	67 00 e0 5b 	svstep\. r31,1,1
+ 1b8:	27 28 e0 5b 	svstep\. r31,21,0
+ 1bc:	67 28 e0 5b 	svstep\. r31,21,1
+ 1c0:	27 52 e0 5b 	svstep\. r31,42,0
+ 1c4:	67 52 e0 5b 	svstep\. r31,42,1
+ 1c8:	27 64 e0 5b 	svstep\. r31,51,0
+ 1cc:	67 64 e0 5b 	svstep\. r31,51,1
+ 1d0:	27 7c e0 5b 	svstep\. r31,63,0
+ 1d4:	67 7c e0 5b 	svstep\. r31,63,1
+ 1d8:	27 3e e0 5b 	svstep\. r31,32,0
+ 1dc:	67 3e e0 5b 	svstep\. r31,32,1
diff --git a/gas/testsuite/gas/ppc/svstep.s b/gas/testsuite/gas/ppc/svstep.s
new file mode 100644
index 0000000000..f41547ad63
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svstep.s
@@ -0,0 +1,120 @@
+svstep 0,1,0
+svstep 0,1,1
+svstep 0,21,0
+svstep 0,21,1
+svstep 0,42,0
+svstep 0,42,1
+svstep 0,51,0
+svstep 0,51,1
+svstep 0,63,0
+svstep 0,63,1
+svstep 0,32,0
+svstep 0,32,1
+svstep 10,1,0
+svstep 10,1,1
+svstep 10,21,0
+svstep 10,21,1
+svstep 10,42,0
+svstep 10,42,1
+svstep 10,51,0
+svstep 10,51,1
+svstep 10,63,0
+svstep 10,63,1
+svstep 10,32,0
+svstep 10,32,1
+svstep 21,1,0
+svstep 21,1,1
+svstep 21,21,0
+svstep 21,21,1
+svstep 21,42,0
+svstep 21,42,1
+svstep 21,51,0
+svstep 21,51,1
+svstep 21,63,0
+svstep 21,63,1
+svstep 21,32,0
+svstep 21,32,1
+svstep 27,1,0
+svstep 27,1,1
+svstep 27,21,0
+svstep 27,21,1
+svstep 27,42,0
+svstep 27,42,1
+svstep 27,51,0
+svstep 27,51,1
+svstep 27,63,0
+svstep 27,63,1
+svstep 27,32,0
+svstep 27,32,1
+svstep 31,1,0
+svstep 31,1,1
+svstep 31,21,0
+svstep 31,21,1
+svstep 31,42,0
+svstep 31,42,1
+svstep 31,51,0
+svstep 31,51,1
+svstep 31,63,0
+svstep 31,63,1
+svstep 31,32,0
+svstep 31,32,1
+svstep. 0,1,0
+svstep. 0,1,1
+svstep. 0,21,0
+svstep. 0,21,1
+svstep. 0,42,0
+svstep. 0,42,1
+svstep. 0,51,0
+svstep. 0,51,1
+svstep. 0,63,0
+svstep. 0,63,1
+svstep. 0,32,0
+svstep. 0,32,1
+svstep. 10,1,0
+svstep. 10,1,1
+svstep. 10,21,0
+svstep. 10,21,1
+svstep. 10,42,0
+svstep. 10,42,1
+svstep. 10,51,0
+svstep. 10,51,1
+svstep. 10,63,0
+svstep. 10,63,1
+svstep. 10,32,0
+svstep. 10,32,1
+svstep. 21,1,0
+svstep. 21,1,1
+svstep. 21,21,0
+svstep. 21,21,1
+svstep. 21,42,0
+svstep. 21,42,1
+svstep. 21,51,0
+svstep. 21,51,1
+svstep. 21,63,0
+svstep. 21,63,1
+svstep. 21,32,0
+svstep. 21,32,1
+svstep. 27,1,0
+svstep. 27,1,1
+svstep. 27,21,0
+svstep. 27,21,1
+svstep. 27,42,0
+svstep. 27,42,1
+svstep. 27,51,0
+svstep. 27,51,1
+svstep. 27,63,0
+svstep. 27,63,1
+svstep. 27,32,0
+svstep. 27,32,1
+svstep. 31,1,0
+svstep. 31,1,1
+svstep. 31,21,0
+svstep. 31,21,1
+svstep. 31,42,0
+svstep. 31,42,1
+svstep. 31,51,0
+svstep. 31,51,1
+svstep. 31,63,0
+svstep. 31,63,1
+svstep. 31,32,0
+svstep. 31,32,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 0a34417820..b053a15125 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -6802,6 +6802,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"rlmi",	M(22,0),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlmi.",	M(22,1),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 
+{"svstep",	SVL(22,19,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+{"svstep.",	SVL(22,19,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v2 4/5] ppc/svp64: support svshape instruction
  2022-06-21 11:51 ` [PATCH v2 " Dmitry Selyutin
                     ` (2 preceding siblings ...)
  2022-06-21 11:51   ` [PATCH v2 3/5] ppc/svp64: support svstep instructions Dmitry Selyutin
@ 2022-06-21 11:51   ` Dmitry Selyutin
  2022-06-22  6:41   ` [PATCH v2 0/5] ppc/svp64: support SVP64 and its first insns Jan Beulich
                     ` (2 subsequent siblings)
  6 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-21 11:51 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

---
 gas/testsuite/gas/ppc/ppc.exp   |    1 +
 gas/testsuite/gas/ppc/svshape.d | 1736 +++++++++++++++++++++++++++++++
 gas/testsuite/gas/ppc/svshape.s | 1728 ++++++++++++++++++++++++++++++
 opcodes/ppc-opc.c               |   93 ++
 4 files changed, 3558 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svshape.d
 create mode 100644 gas/testsuite/gas/ppc/svshape.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index d4d06d587e..04082439bb 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -156,3 +156,4 @@ run_dump_test "raw"
 
 run_dump_test "setvl"
 run_dump_test "svstep"
+run_dump_test "svshape"
diff --git a/gas/testsuite/gas/ppc/svshape.d b/gas/testsuite/gas/ppc/svshape.d
new file mode 100644
index 0000000000..e78784bed1
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svshape.d
@@ -0,0 +1,1736 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+       0:	19 00 00 58 	svshape 1,1,1,0,0
+       4:	59 00 00 58 	svshape 1,1,1,0,1
+       8:	99 02 00 58 	svshape 1,1,1,5,0
+       c:	d9 02 00 58 	svshape 1,1,1,5,1
+      10:	19 05 00 58 	svshape 1,1,1,10,0
+      14:	59 05 00 58 	svshape 1,1,1,10,1
+      18:	99 07 00 58 	svshape 1,1,1,15,0
+      1c:	d9 07 00 58 	svshape 1,1,1,15,1
+      20:	19 48 00 58 	svshape 1,1,10,0,0
+      24:	59 48 00 58 	svshape 1,1,10,0,1
+      28:	99 4a 00 58 	svshape 1,1,10,5,0
+      2c:	d9 4a 00 58 	svshape 1,1,10,5,1
+      30:	19 4d 00 58 	svshape 1,1,10,10,0
+      34:	59 4d 00 58 	svshape 1,1,10,10,1
+      38:	99 4f 00 58 	svshape 1,1,10,15,0
+      3c:	d9 4f 00 58 	svshape 1,1,10,15,1
+      40:	19 a0 00 58 	svshape 1,1,21,0,0
+      44:	59 a0 00 58 	svshape 1,1,21,0,1
+      48:	99 a2 00 58 	svshape 1,1,21,5,0
+      4c:	d9 a2 00 58 	svshape 1,1,21,5,1
+      50:	19 a5 00 58 	svshape 1,1,21,10,0
+      54:	59 a5 00 58 	svshape 1,1,21,10,1
+      58:	99 a7 00 58 	svshape 1,1,21,15,0
+      5c:	d9 a7 00 58 	svshape 1,1,21,15,1
+      60:	19 d0 00 58 	svshape 1,1,27,0,0
+      64:	59 d0 00 58 	svshape 1,1,27,0,1
+      68:	99 d2 00 58 	svshape 1,1,27,5,0
+      6c:	d9 d2 00 58 	svshape 1,1,27,5,1
+      70:	19 d5 00 58 	svshape 1,1,27,10,0
+      74:	59 d5 00 58 	svshape 1,1,27,10,1
+      78:	99 d7 00 58 	svshape 1,1,27,15,0
+      7c:	d9 d7 00 58 	svshape 1,1,27,15,1
+      80:	19 f0 00 58 	svshape 1,1,31,0,0
+      84:	59 f0 00 58 	svshape 1,1,31,0,1
+      88:	99 f2 00 58 	svshape 1,1,31,5,0
+      8c:	d9 f2 00 58 	svshape 1,1,31,5,1
+      90:	19 f5 00 58 	svshape 1,1,31,10,0
+      94:	59 f5 00 58 	svshape 1,1,31,10,1
+      98:	99 f7 00 58 	svshape 1,1,31,15,0
+      9c:	d9 f7 00 58 	svshape 1,1,31,15,1
+      a0:	19 78 00 58 	svshape 1,1,16,0,0
+      a4:	59 78 00 58 	svshape 1,1,16,0,1
+      a8:	99 7a 00 58 	svshape 1,1,16,5,0
+      ac:	d9 7a 00 58 	svshape 1,1,16,5,1
+      b0:	19 7d 00 58 	svshape 1,1,16,10,0
+      b4:	59 7d 00 58 	svshape 1,1,16,10,1
+      b8:	99 7f 00 58 	svshape 1,1,16,15,0
+      bc:	d9 7f 00 58 	svshape 1,1,16,15,1
+      c0:	19 00 09 58 	svshape 1,10,1,0,0
+      c4:	59 00 09 58 	svshape 1,10,1,0,1
+      c8:	99 02 09 58 	svshape 1,10,1,5,0
+      cc:	d9 02 09 58 	svshape 1,10,1,5,1
+      d0:	19 05 09 58 	svshape 1,10,1,10,0
+      d4:	59 05 09 58 	svshape 1,10,1,10,1
+      d8:	99 07 09 58 	svshape 1,10,1,15,0
+      dc:	d9 07 09 58 	svshape 1,10,1,15,1
+      e0:	19 48 09 58 	svshape 1,10,10,0,0
+      e4:	59 48 09 58 	svshape 1,10,10,0,1
+      e8:	99 4a 09 58 	svshape 1,10,10,5,0
+      ec:	d9 4a 09 58 	svshape 1,10,10,5,1
+      f0:	19 4d 09 58 	svshape 1,10,10,10,0
+      f4:	59 4d 09 58 	svshape 1,10,10,10,1
+      f8:	99 4f 09 58 	svshape 1,10,10,15,0
+      fc:	d9 4f 09 58 	svshape 1,10,10,15,1
+     100:	19 a0 09 58 	svshape 1,10,21,0,0
+     104:	59 a0 09 58 	svshape 1,10,21,0,1
+     108:	99 a2 09 58 	svshape 1,10,21,5,0
+     10c:	d9 a2 09 58 	svshape 1,10,21,5,1
+     110:	19 a5 09 58 	svshape 1,10,21,10,0
+     114:	59 a5 09 58 	svshape 1,10,21,10,1
+     118:	99 a7 09 58 	svshape 1,10,21,15,0
+     11c:	d9 a7 09 58 	svshape 1,10,21,15,1
+     120:	19 d0 09 58 	svshape 1,10,27,0,0
+     124:	59 d0 09 58 	svshape 1,10,27,0,1
+     128:	99 d2 09 58 	svshape 1,10,27,5,0
+     12c:	d9 d2 09 58 	svshape 1,10,27,5,1
+     130:	19 d5 09 58 	svshape 1,10,27,10,0
+     134:	59 d5 09 58 	svshape 1,10,27,10,1
+     138:	99 d7 09 58 	svshape 1,10,27,15,0
+     13c:	d9 d7 09 58 	svshape 1,10,27,15,1
+     140:	19 f0 09 58 	svshape 1,10,31,0,0
+     144:	59 f0 09 58 	svshape 1,10,31,0,1
+     148:	99 f2 09 58 	svshape 1,10,31,5,0
+     14c:	d9 f2 09 58 	svshape 1,10,31,5,1
+     150:	19 f5 09 58 	svshape 1,10,31,10,0
+     154:	59 f5 09 58 	svshape 1,10,31,10,1
+     158:	99 f7 09 58 	svshape 1,10,31,15,0
+     15c:	d9 f7 09 58 	svshape 1,10,31,15,1
+     160:	19 78 09 58 	svshape 1,10,16,0,0
+     164:	59 78 09 58 	svshape 1,10,16,0,1
+     168:	99 7a 09 58 	svshape 1,10,16,5,0
+     16c:	d9 7a 09 58 	svshape 1,10,16,5,1
+     170:	19 7d 09 58 	svshape 1,10,16,10,0
+     174:	59 7d 09 58 	svshape 1,10,16,10,1
+     178:	99 7f 09 58 	svshape 1,10,16,15,0
+     17c:	d9 7f 09 58 	svshape 1,10,16,15,1
+     180:	19 00 14 58 	svshape 1,21,1,0,0
+     184:	59 00 14 58 	svshape 1,21,1,0,1
+     188:	99 02 14 58 	svshape 1,21,1,5,0
+     18c:	d9 02 14 58 	svshape 1,21,1,5,1
+     190:	19 05 14 58 	svshape 1,21,1,10,0
+     194:	59 05 14 58 	svshape 1,21,1,10,1
+     198:	99 07 14 58 	svshape 1,21,1,15,0
+     19c:	d9 07 14 58 	svshape 1,21,1,15,1
+     1a0:	19 48 14 58 	svshape 1,21,10,0,0
+     1a4:	59 48 14 58 	svshape 1,21,10,0,1
+     1a8:	99 4a 14 58 	svshape 1,21,10,5,0
+     1ac:	d9 4a 14 58 	svshape 1,21,10,5,1
+     1b0:	19 4d 14 58 	svshape 1,21,10,10,0
+     1b4:	59 4d 14 58 	svshape 1,21,10,10,1
+     1b8:	99 4f 14 58 	svshape 1,21,10,15,0
+     1bc:	d9 4f 14 58 	svshape 1,21,10,15,1
+     1c0:	19 a0 14 58 	svshape 1,21,21,0,0
+     1c4:	59 a0 14 58 	svshape 1,21,21,0,1
+     1c8:	99 a2 14 58 	svshape 1,21,21,5,0
+     1cc:	d9 a2 14 58 	svshape 1,21,21,5,1
+     1d0:	19 a5 14 58 	svshape 1,21,21,10,0
+     1d4:	59 a5 14 58 	svshape 1,21,21,10,1
+     1d8:	99 a7 14 58 	svshape 1,21,21,15,0
+     1dc:	d9 a7 14 58 	svshape 1,21,21,15,1
+     1e0:	19 d0 14 58 	svshape 1,21,27,0,0
+     1e4:	59 d0 14 58 	svshape 1,21,27,0,1
+     1e8:	99 d2 14 58 	svshape 1,21,27,5,0
+     1ec:	d9 d2 14 58 	svshape 1,21,27,5,1
+     1f0:	19 d5 14 58 	svshape 1,21,27,10,0
+     1f4:	59 d5 14 58 	svshape 1,21,27,10,1
+     1f8:	99 d7 14 58 	svshape 1,21,27,15,0
+     1fc:	d9 d7 14 58 	svshape 1,21,27,15,1
+     200:	19 f0 14 58 	svshape 1,21,31,0,0
+     204:	59 f0 14 58 	svshape 1,21,31,0,1
+     208:	99 f2 14 58 	svshape 1,21,31,5,0
+     20c:	d9 f2 14 58 	svshape 1,21,31,5,1
+     210:	19 f5 14 58 	svshape 1,21,31,10,0
+     214:	59 f5 14 58 	svshape 1,21,31,10,1
+     218:	99 f7 14 58 	svshape 1,21,31,15,0
+     21c:	d9 f7 14 58 	svshape 1,21,31,15,1
+     220:	19 78 14 58 	svshape 1,21,16,0,0
+     224:	59 78 14 58 	svshape 1,21,16,0,1
+     228:	99 7a 14 58 	svshape 1,21,16,5,0
+     22c:	d9 7a 14 58 	svshape 1,21,16,5,1
+     230:	19 7d 14 58 	svshape 1,21,16,10,0
+     234:	59 7d 14 58 	svshape 1,21,16,10,1
+     238:	99 7f 14 58 	svshape 1,21,16,15,0
+     23c:	d9 7f 14 58 	svshape 1,21,16,15,1
+     240:	19 00 1a 58 	svshape 1,27,1,0,0
+     244:	59 00 1a 58 	svshape 1,27,1,0,1
+     248:	99 02 1a 58 	svshape 1,27,1,5,0
+     24c:	d9 02 1a 58 	svshape 1,27,1,5,1
+     250:	19 05 1a 58 	svshape 1,27,1,10,0
+     254:	59 05 1a 58 	svshape 1,27,1,10,1
+     258:	99 07 1a 58 	svshape 1,27,1,15,0
+     25c:	d9 07 1a 58 	svshape 1,27,1,15,1
+     260:	19 48 1a 58 	svshape 1,27,10,0,0
+     264:	59 48 1a 58 	svshape 1,27,10,0,1
+     268:	99 4a 1a 58 	svshape 1,27,10,5,0
+     26c:	d9 4a 1a 58 	svshape 1,27,10,5,1
+     270:	19 4d 1a 58 	svshape 1,27,10,10,0
+     274:	59 4d 1a 58 	svshape 1,27,10,10,1
+     278:	99 4f 1a 58 	svshape 1,27,10,15,0
+     27c:	d9 4f 1a 58 	svshape 1,27,10,15,1
+     280:	19 a0 1a 58 	svshape 1,27,21,0,0
+     284:	59 a0 1a 58 	svshape 1,27,21,0,1
+     288:	99 a2 1a 58 	svshape 1,27,21,5,0
+     28c:	d9 a2 1a 58 	svshape 1,27,21,5,1
+     290:	19 a5 1a 58 	svshape 1,27,21,10,0
+     294:	59 a5 1a 58 	svshape 1,27,21,10,1
+     298:	99 a7 1a 58 	svshape 1,27,21,15,0
+     29c:	d9 a7 1a 58 	svshape 1,27,21,15,1
+     2a0:	19 d0 1a 58 	svshape 1,27,27,0,0
+     2a4:	59 d0 1a 58 	svshape 1,27,27,0,1
+     2a8:	99 d2 1a 58 	svshape 1,27,27,5,0
+     2ac:	d9 d2 1a 58 	svshape 1,27,27,5,1
+     2b0:	19 d5 1a 58 	svshape 1,27,27,10,0
+     2b4:	59 d5 1a 58 	svshape 1,27,27,10,1
+     2b8:	99 d7 1a 58 	svshape 1,27,27,15,0
+     2bc:	d9 d7 1a 58 	svshape 1,27,27,15,1
+     2c0:	19 f0 1a 58 	svshape 1,27,31,0,0
+     2c4:	59 f0 1a 58 	svshape 1,27,31,0,1
+     2c8:	99 f2 1a 58 	svshape 1,27,31,5,0
+     2cc:	d9 f2 1a 58 	svshape 1,27,31,5,1
+     2d0:	19 f5 1a 58 	svshape 1,27,31,10,0
+     2d4:	59 f5 1a 58 	svshape 1,27,31,10,1
+     2d8:	99 f7 1a 58 	svshape 1,27,31,15,0
+     2dc:	d9 f7 1a 58 	svshape 1,27,31,15,1
+     2e0:	19 78 1a 58 	svshape 1,27,16,0,0
+     2e4:	59 78 1a 58 	svshape 1,27,16,0,1
+     2e8:	99 7a 1a 58 	svshape 1,27,16,5,0
+     2ec:	d9 7a 1a 58 	svshape 1,27,16,5,1
+     2f0:	19 7d 1a 58 	svshape 1,27,16,10,0
+     2f4:	59 7d 1a 58 	svshape 1,27,16,10,1
+     2f8:	99 7f 1a 58 	svshape 1,27,16,15,0
+     2fc:	d9 7f 1a 58 	svshape 1,27,16,15,1
+     300:	19 00 1e 58 	svshape 1,31,1,0,0
+     304:	59 00 1e 58 	svshape 1,31,1,0,1
+     308:	99 02 1e 58 	svshape 1,31,1,5,0
+     30c:	d9 02 1e 58 	svshape 1,31,1,5,1
+     310:	19 05 1e 58 	svshape 1,31,1,10,0
+     314:	59 05 1e 58 	svshape 1,31,1,10,1
+     318:	99 07 1e 58 	svshape 1,31,1,15,0
+     31c:	d9 07 1e 58 	svshape 1,31,1,15,1
+     320:	19 48 1e 58 	svshape 1,31,10,0,0
+     324:	59 48 1e 58 	svshape 1,31,10,0,1
+     328:	99 4a 1e 58 	svshape 1,31,10,5,0
+     32c:	d9 4a 1e 58 	svshape 1,31,10,5,1
+     330:	19 4d 1e 58 	svshape 1,31,10,10,0
+     334:	59 4d 1e 58 	svshape 1,31,10,10,1
+     338:	99 4f 1e 58 	svshape 1,31,10,15,0
+     33c:	d9 4f 1e 58 	svshape 1,31,10,15,1
+     340:	19 a0 1e 58 	svshape 1,31,21,0,0
+     344:	59 a0 1e 58 	svshape 1,31,21,0,1
+     348:	99 a2 1e 58 	svshape 1,31,21,5,0
+     34c:	d9 a2 1e 58 	svshape 1,31,21,5,1
+     350:	19 a5 1e 58 	svshape 1,31,21,10,0
+     354:	59 a5 1e 58 	svshape 1,31,21,10,1
+     358:	99 a7 1e 58 	svshape 1,31,21,15,0
+     35c:	d9 a7 1e 58 	svshape 1,31,21,15,1
+     360:	19 d0 1e 58 	svshape 1,31,27,0,0
+     364:	59 d0 1e 58 	svshape 1,31,27,0,1
+     368:	99 d2 1e 58 	svshape 1,31,27,5,0
+     36c:	d9 d2 1e 58 	svshape 1,31,27,5,1
+     370:	19 d5 1e 58 	svshape 1,31,27,10,0
+     374:	59 d5 1e 58 	svshape 1,31,27,10,1
+     378:	99 d7 1e 58 	svshape 1,31,27,15,0
+     37c:	d9 d7 1e 58 	svshape 1,31,27,15,1
+     380:	19 f0 1e 58 	svshape 1,31,31,0,0
+     384:	59 f0 1e 58 	svshape 1,31,31,0,1
+     388:	99 f2 1e 58 	svshape 1,31,31,5,0
+     38c:	d9 f2 1e 58 	svshape 1,31,31,5,1
+     390:	19 f5 1e 58 	svshape 1,31,31,10,0
+     394:	59 f5 1e 58 	svshape 1,31,31,10,1
+     398:	99 f7 1e 58 	svshape 1,31,31,15,0
+     39c:	d9 f7 1e 58 	svshape 1,31,31,15,1
+     3a0:	19 78 1e 58 	svshape 1,31,16,0,0
+     3a4:	59 78 1e 58 	svshape 1,31,16,0,1
+     3a8:	99 7a 1e 58 	svshape 1,31,16,5,0
+     3ac:	d9 7a 1e 58 	svshape 1,31,16,5,1
+     3b0:	19 7d 1e 58 	svshape 1,31,16,10,0
+     3b4:	59 7d 1e 58 	svshape 1,31,16,10,1
+     3b8:	99 7f 1e 58 	svshape 1,31,16,15,0
+     3bc:	d9 7f 1e 58 	svshape 1,31,16,15,1
+     3c0:	19 00 0f 58 	svshape 1,16,1,0,0
+     3c4:	59 00 0f 58 	svshape 1,16,1,0,1
+     3c8:	99 02 0f 58 	svshape 1,16,1,5,0
+     3cc:	d9 02 0f 58 	svshape 1,16,1,5,1
+     3d0:	19 05 0f 58 	svshape 1,16,1,10,0
+     3d4:	59 05 0f 58 	svshape 1,16,1,10,1
+     3d8:	99 07 0f 58 	svshape 1,16,1,15,0
+     3dc:	d9 07 0f 58 	svshape 1,16,1,15,1
+     3e0:	19 48 0f 58 	svshape 1,16,10,0,0
+     3e4:	59 48 0f 58 	svshape 1,16,10,0,1
+     3e8:	99 4a 0f 58 	svshape 1,16,10,5,0
+     3ec:	d9 4a 0f 58 	svshape 1,16,10,5,1
+     3f0:	19 4d 0f 58 	svshape 1,16,10,10,0
+     3f4:	59 4d 0f 58 	svshape 1,16,10,10,1
+     3f8:	99 4f 0f 58 	svshape 1,16,10,15,0
+     3fc:	d9 4f 0f 58 	svshape 1,16,10,15,1
+     400:	19 a0 0f 58 	svshape 1,16,21,0,0
+     404:	59 a0 0f 58 	svshape 1,16,21,0,1
+     408:	99 a2 0f 58 	svshape 1,16,21,5,0
+     40c:	d9 a2 0f 58 	svshape 1,16,21,5,1
+     410:	19 a5 0f 58 	svshape 1,16,21,10,0
+     414:	59 a5 0f 58 	svshape 1,16,21,10,1
+     418:	99 a7 0f 58 	svshape 1,16,21,15,0
+     41c:	d9 a7 0f 58 	svshape 1,16,21,15,1
+     420:	19 d0 0f 58 	svshape 1,16,27,0,0
+     424:	59 d0 0f 58 	svshape 1,16,27,0,1
+     428:	99 d2 0f 58 	svshape 1,16,27,5,0
+     42c:	d9 d2 0f 58 	svshape 1,16,27,5,1
+     430:	19 d5 0f 58 	svshape 1,16,27,10,0
+     434:	59 d5 0f 58 	svshape 1,16,27,10,1
+     438:	99 d7 0f 58 	svshape 1,16,27,15,0
+     43c:	d9 d7 0f 58 	svshape 1,16,27,15,1
+     440:	19 f0 0f 58 	svshape 1,16,31,0,0
+     444:	59 f0 0f 58 	svshape 1,16,31,0,1
+     448:	99 f2 0f 58 	svshape 1,16,31,5,0
+     44c:	d9 f2 0f 58 	svshape 1,16,31,5,1
+     450:	19 f5 0f 58 	svshape 1,16,31,10,0
+     454:	59 f5 0f 58 	svshape 1,16,31,10,1
+     458:	99 f7 0f 58 	svshape 1,16,31,15,0
+     45c:	d9 f7 0f 58 	svshape 1,16,31,15,1
+     460:	19 78 0f 58 	svshape 1,16,16,0,0
+     464:	59 78 0f 58 	svshape 1,16,16,0,1
+     468:	99 7a 0f 58 	svshape 1,16,16,5,0
+     46c:	d9 7a 0f 58 	svshape 1,16,16,5,1
+     470:	19 7d 0f 58 	svshape 1,16,16,10,0
+     474:	59 7d 0f 58 	svshape 1,16,16,10,1
+     478:	99 7f 0f 58 	svshape 1,16,16,15,0
+     47c:	d9 7f 0f 58 	svshape 1,16,16,15,1
+     480:	19 00 20 59 	svshape 10,1,1,0,0
+     484:	59 00 20 59 	svshape 10,1,1,0,1
+     488:	99 02 20 59 	svshape 10,1,1,5,0
+     48c:	d9 02 20 59 	svshape 10,1,1,5,1
+     490:	19 05 20 59 	svshape 10,1,1,10,0
+     494:	59 05 20 59 	svshape 10,1,1,10,1
+     498:	99 07 20 59 	svshape 10,1,1,15,0
+     49c:	d9 07 20 59 	svshape 10,1,1,15,1
+     4a0:	19 48 20 59 	svshape 10,1,10,0,0
+     4a4:	59 48 20 59 	svshape 10,1,10,0,1
+     4a8:	99 4a 20 59 	svshape 10,1,10,5,0
+     4ac:	d9 4a 20 59 	svshape 10,1,10,5,1
+     4b0:	19 4d 20 59 	svshape 10,1,10,10,0
+     4b4:	59 4d 20 59 	svshape 10,1,10,10,1
+     4b8:	99 4f 20 59 	svshape 10,1,10,15,0
+     4bc:	d9 4f 20 59 	svshape 10,1,10,15,1
+     4c0:	19 a0 20 59 	svshape 10,1,21,0,0
+     4c4:	59 a0 20 59 	svshape 10,1,21,0,1
+     4c8:	99 a2 20 59 	svshape 10,1,21,5,0
+     4cc:	d9 a2 20 59 	svshape 10,1,21,5,1
+     4d0:	19 a5 20 59 	svshape 10,1,21,10,0
+     4d4:	59 a5 20 59 	svshape 10,1,21,10,1
+     4d8:	99 a7 20 59 	svshape 10,1,21,15,0
+     4dc:	d9 a7 20 59 	svshape 10,1,21,15,1
+     4e0:	19 d0 20 59 	svshape 10,1,27,0,0
+     4e4:	59 d0 20 59 	svshape 10,1,27,0,1
+     4e8:	99 d2 20 59 	svshape 10,1,27,5,0
+     4ec:	d9 d2 20 59 	svshape 10,1,27,5,1
+     4f0:	19 d5 20 59 	svshape 10,1,27,10,0
+     4f4:	59 d5 20 59 	svshape 10,1,27,10,1
+     4f8:	99 d7 20 59 	svshape 10,1,27,15,0
+     4fc:	d9 d7 20 59 	svshape 10,1,27,15,1
+     500:	19 f0 20 59 	svshape 10,1,31,0,0
+     504:	59 f0 20 59 	svshape 10,1,31,0,1
+     508:	99 f2 20 59 	svshape 10,1,31,5,0
+     50c:	d9 f2 20 59 	svshape 10,1,31,5,1
+     510:	19 f5 20 59 	svshape 10,1,31,10,0
+     514:	59 f5 20 59 	svshape 10,1,31,10,1
+     518:	99 f7 20 59 	svshape 10,1,31,15,0
+     51c:	d9 f7 20 59 	svshape 10,1,31,15,1
+     520:	19 78 20 59 	svshape 10,1,16,0,0
+     524:	59 78 20 59 	svshape 10,1,16,0,1
+     528:	99 7a 20 59 	svshape 10,1,16,5,0
+     52c:	d9 7a 20 59 	svshape 10,1,16,5,1
+     530:	19 7d 20 59 	svshape 10,1,16,10,0
+     534:	59 7d 20 59 	svshape 10,1,16,10,1
+     538:	99 7f 20 59 	svshape 10,1,16,15,0
+     53c:	d9 7f 20 59 	svshape 10,1,16,15,1
+     540:	19 00 29 59 	svshape 10,10,1,0,0
+     544:	59 00 29 59 	svshape 10,10,1,0,1
+     548:	99 02 29 59 	svshape 10,10,1,5,0
+     54c:	d9 02 29 59 	svshape 10,10,1,5,1
+     550:	19 05 29 59 	svshape 10,10,1,10,0
+     554:	59 05 29 59 	svshape 10,10,1,10,1
+     558:	99 07 29 59 	svshape 10,10,1,15,0
+     55c:	d9 07 29 59 	svshape 10,10,1,15,1
+     560:	19 48 29 59 	svshape 10,10,10,0,0
+     564:	59 48 29 59 	svshape 10,10,10,0,1
+     568:	99 4a 29 59 	svshape 10,10,10,5,0
+     56c:	d9 4a 29 59 	svshape 10,10,10,5,1
+     570:	19 4d 29 59 	svshape 10,10,10,10,0
+     574:	59 4d 29 59 	svshape 10,10,10,10,1
+     578:	99 4f 29 59 	svshape 10,10,10,15,0
+     57c:	d9 4f 29 59 	svshape 10,10,10,15,1
+     580:	19 a0 29 59 	svshape 10,10,21,0,0
+     584:	59 a0 29 59 	svshape 10,10,21,0,1
+     588:	99 a2 29 59 	svshape 10,10,21,5,0
+     58c:	d9 a2 29 59 	svshape 10,10,21,5,1
+     590:	19 a5 29 59 	svshape 10,10,21,10,0
+     594:	59 a5 29 59 	svshape 10,10,21,10,1
+     598:	99 a7 29 59 	svshape 10,10,21,15,0
+     59c:	d9 a7 29 59 	svshape 10,10,21,15,1
+     5a0:	19 d0 29 59 	svshape 10,10,27,0,0
+     5a4:	59 d0 29 59 	svshape 10,10,27,0,1
+     5a8:	99 d2 29 59 	svshape 10,10,27,5,0
+     5ac:	d9 d2 29 59 	svshape 10,10,27,5,1
+     5b0:	19 d5 29 59 	svshape 10,10,27,10,0
+     5b4:	59 d5 29 59 	svshape 10,10,27,10,1
+     5b8:	99 d7 29 59 	svshape 10,10,27,15,0
+     5bc:	d9 d7 29 59 	svshape 10,10,27,15,1
+     5c0:	19 f0 29 59 	svshape 10,10,31,0,0
+     5c4:	59 f0 29 59 	svshape 10,10,31,0,1
+     5c8:	99 f2 29 59 	svshape 10,10,31,5,0
+     5cc:	d9 f2 29 59 	svshape 10,10,31,5,1
+     5d0:	19 f5 29 59 	svshape 10,10,31,10,0
+     5d4:	59 f5 29 59 	svshape 10,10,31,10,1
+     5d8:	99 f7 29 59 	svshape 10,10,31,15,0
+     5dc:	d9 f7 29 59 	svshape 10,10,31,15,1
+     5e0:	19 78 29 59 	svshape 10,10,16,0,0
+     5e4:	59 78 29 59 	svshape 10,10,16,0,1
+     5e8:	99 7a 29 59 	svshape 10,10,16,5,0
+     5ec:	d9 7a 29 59 	svshape 10,10,16,5,1
+     5f0:	19 7d 29 59 	svshape 10,10,16,10,0
+     5f4:	59 7d 29 59 	svshape 10,10,16,10,1
+     5f8:	99 7f 29 59 	svshape 10,10,16,15,0
+     5fc:	d9 7f 29 59 	svshape 10,10,16,15,1
+     600:	19 00 34 59 	svshape 10,21,1,0,0
+     604:	59 00 34 59 	svshape 10,21,1,0,1
+     608:	99 02 34 59 	svshape 10,21,1,5,0
+     60c:	d9 02 34 59 	svshape 10,21,1,5,1
+     610:	19 05 34 59 	svshape 10,21,1,10,0
+     614:	59 05 34 59 	svshape 10,21,1,10,1
+     618:	99 07 34 59 	svshape 10,21,1,15,0
+     61c:	d9 07 34 59 	svshape 10,21,1,15,1
+     620:	19 48 34 59 	svshape 10,21,10,0,0
+     624:	59 48 34 59 	svshape 10,21,10,0,1
+     628:	99 4a 34 59 	svshape 10,21,10,5,0
+     62c:	d9 4a 34 59 	svshape 10,21,10,5,1
+     630:	19 4d 34 59 	svshape 10,21,10,10,0
+     634:	59 4d 34 59 	svshape 10,21,10,10,1
+     638:	99 4f 34 59 	svshape 10,21,10,15,0
+     63c:	d9 4f 34 59 	svshape 10,21,10,15,1
+     640:	19 a0 34 59 	svshape 10,21,21,0,0
+     644:	59 a0 34 59 	svshape 10,21,21,0,1
+     648:	99 a2 34 59 	svshape 10,21,21,5,0
+     64c:	d9 a2 34 59 	svshape 10,21,21,5,1
+     650:	19 a5 34 59 	svshape 10,21,21,10,0
+     654:	59 a5 34 59 	svshape 10,21,21,10,1
+     658:	99 a7 34 59 	svshape 10,21,21,15,0
+     65c:	d9 a7 34 59 	svshape 10,21,21,15,1
+     660:	19 d0 34 59 	svshape 10,21,27,0,0
+     664:	59 d0 34 59 	svshape 10,21,27,0,1
+     668:	99 d2 34 59 	svshape 10,21,27,5,0
+     66c:	d9 d2 34 59 	svshape 10,21,27,5,1
+     670:	19 d5 34 59 	svshape 10,21,27,10,0
+     674:	59 d5 34 59 	svshape 10,21,27,10,1
+     678:	99 d7 34 59 	svshape 10,21,27,15,0
+     67c:	d9 d7 34 59 	svshape 10,21,27,15,1
+     680:	19 f0 34 59 	svshape 10,21,31,0,0
+     684:	59 f0 34 59 	svshape 10,21,31,0,1
+     688:	99 f2 34 59 	svshape 10,21,31,5,0
+     68c:	d9 f2 34 59 	svshape 10,21,31,5,1
+     690:	19 f5 34 59 	svshape 10,21,31,10,0
+     694:	59 f5 34 59 	svshape 10,21,31,10,1
+     698:	99 f7 34 59 	svshape 10,21,31,15,0
+     69c:	d9 f7 34 59 	svshape 10,21,31,15,1
+     6a0:	19 78 34 59 	svshape 10,21,16,0,0
+     6a4:	59 78 34 59 	svshape 10,21,16,0,1
+     6a8:	99 7a 34 59 	svshape 10,21,16,5,0
+     6ac:	d9 7a 34 59 	svshape 10,21,16,5,1
+     6b0:	19 7d 34 59 	svshape 10,21,16,10,0
+     6b4:	59 7d 34 59 	svshape 10,21,16,10,1
+     6b8:	99 7f 34 59 	svshape 10,21,16,15,0
+     6bc:	d9 7f 34 59 	svshape 10,21,16,15,1
+     6c0:	19 00 3a 59 	svshape 10,27,1,0,0
+     6c4:	59 00 3a 59 	svshape 10,27,1,0,1
+     6c8:	99 02 3a 59 	svshape 10,27,1,5,0
+     6cc:	d9 02 3a 59 	svshape 10,27,1,5,1
+     6d0:	19 05 3a 59 	svshape 10,27,1,10,0
+     6d4:	59 05 3a 59 	svshape 10,27,1,10,1
+     6d8:	99 07 3a 59 	svshape 10,27,1,15,0
+     6dc:	d9 07 3a 59 	svshape 10,27,1,15,1
+     6e0:	19 48 3a 59 	svshape 10,27,10,0,0
+     6e4:	59 48 3a 59 	svshape 10,27,10,0,1
+     6e8:	99 4a 3a 59 	svshape 10,27,10,5,0
+     6ec:	d9 4a 3a 59 	svshape 10,27,10,5,1
+     6f0:	19 4d 3a 59 	svshape 10,27,10,10,0
+     6f4:	59 4d 3a 59 	svshape 10,27,10,10,1
+     6f8:	99 4f 3a 59 	svshape 10,27,10,15,0
+     6fc:	d9 4f 3a 59 	svshape 10,27,10,15,1
+     700:	19 a0 3a 59 	svshape 10,27,21,0,0
+     704:	59 a0 3a 59 	svshape 10,27,21,0,1
+     708:	99 a2 3a 59 	svshape 10,27,21,5,0
+     70c:	d9 a2 3a 59 	svshape 10,27,21,5,1
+     710:	19 a5 3a 59 	svshape 10,27,21,10,0
+     714:	59 a5 3a 59 	svshape 10,27,21,10,1
+     718:	99 a7 3a 59 	svshape 10,27,21,15,0
+     71c:	d9 a7 3a 59 	svshape 10,27,21,15,1
+     720:	19 d0 3a 59 	svshape 10,27,27,0,0
+     724:	59 d0 3a 59 	svshape 10,27,27,0,1
+     728:	99 d2 3a 59 	svshape 10,27,27,5,0
+     72c:	d9 d2 3a 59 	svshape 10,27,27,5,1
+     730:	19 d5 3a 59 	svshape 10,27,27,10,0
+     734:	59 d5 3a 59 	svshape 10,27,27,10,1
+     738:	99 d7 3a 59 	svshape 10,27,27,15,0
+     73c:	d9 d7 3a 59 	svshape 10,27,27,15,1
+     740:	19 f0 3a 59 	svshape 10,27,31,0,0
+     744:	59 f0 3a 59 	svshape 10,27,31,0,1
+     748:	99 f2 3a 59 	svshape 10,27,31,5,0
+     74c:	d9 f2 3a 59 	svshape 10,27,31,5,1
+     750:	19 f5 3a 59 	svshape 10,27,31,10,0
+     754:	59 f5 3a 59 	svshape 10,27,31,10,1
+     758:	99 f7 3a 59 	svshape 10,27,31,15,0
+     75c:	d9 f7 3a 59 	svshape 10,27,31,15,1
+     760:	19 78 3a 59 	svshape 10,27,16,0,0
+     764:	59 78 3a 59 	svshape 10,27,16,0,1
+     768:	99 7a 3a 59 	svshape 10,27,16,5,0
+     76c:	d9 7a 3a 59 	svshape 10,27,16,5,1
+     770:	19 7d 3a 59 	svshape 10,27,16,10,0
+     774:	59 7d 3a 59 	svshape 10,27,16,10,1
+     778:	99 7f 3a 59 	svshape 10,27,16,15,0
+     77c:	d9 7f 3a 59 	svshape 10,27,16,15,1
+     780:	19 00 3e 59 	svshape 10,31,1,0,0
+     784:	59 00 3e 59 	svshape 10,31,1,0,1
+     788:	99 02 3e 59 	svshape 10,31,1,5,0
+     78c:	d9 02 3e 59 	svshape 10,31,1,5,1
+     790:	19 05 3e 59 	svshape 10,31,1,10,0
+     794:	59 05 3e 59 	svshape 10,31,1,10,1
+     798:	99 07 3e 59 	svshape 10,31,1,15,0
+     79c:	d9 07 3e 59 	svshape 10,31,1,15,1
+     7a0:	19 48 3e 59 	svshape 10,31,10,0,0
+     7a4:	59 48 3e 59 	svshape 10,31,10,0,1
+     7a8:	99 4a 3e 59 	svshape 10,31,10,5,0
+     7ac:	d9 4a 3e 59 	svshape 10,31,10,5,1
+     7b0:	19 4d 3e 59 	svshape 10,31,10,10,0
+     7b4:	59 4d 3e 59 	svshape 10,31,10,10,1
+     7b8:	99 4f 3e 59 	svshape 10,31,10,15,0
+     7bc:	d9 4f 3e 59 	svshape 10,31,10,15,1
+     7c0:	19 a0 3e 59 	svshape 10,31,21,0,0
+     7c4:	59 a0 3e 59 	svshape 10,31,21,0,1
+     7c8:	99 a2 3e 59 	svshape 10,31,21,5,0
+     7cc:	d9 a2 3e 59 	svshape 10,31,21,5,1
+     7d0:	19 a5 3e 59 	svshape 10,31,21,10,0
+     7d4:	59 a5 3e 59 	svshape 10,31,21,10,1
+     7d8:	99 a7 3e 59 	svshape 10,31,21,15,0
+     7dc:	d9 a7 3e 59 	svshape 10,31,21,15,1
+     7e0:	19 d0 3e 59 	svshape 10,31,27,0,0
+     7e4:	59 d0 3e 59 	svshape 10,31,27,0,1
+     7e8:	99 d2 3e 59 	svshape 10,31,27,5,0
+     7ec:	d9 d2 3e 59 	svshape 10,31,27,5,1
+     7f0:	19 d5 3e 59 	svshape 10,31,27,10,0
+     7f4:	59 d5 3e 59 	svshape 10,31,27,10,1
+     7f8:	99 d7 3e 59 	svshape 10,31,27,15,0
+     7fc:	d9 d7 3e 59 	svshape 10,31,27,15,1
+     800:	19 f0 3e 59 	svshape 10,31,31,0,0
+     804:	59 f0 3e 59 	svshape 10,31,31,0,1
+     808:	99 f2 3e 59 	svshape 10,31,31,5,0
+     80c:	d9 f2 3e 59 	svshape 10,31,31,5,1
+     810:	19 f5 3e 59 	svshape 10,31,31,10,0
+     814:	59 f5 3e 59 	svshape 10,31,31,10,1
+     818:	99 f7 3e 59 	svshape 10,31,31,15,0
+     81c:	d9 f7 3e 59 	svshape 10,31,31,15,1
+     820:	19 78 3e 59 	svshape 10,31,16,0,0
+     824:	59 78 3e 59 	svshape 10,31,16,0,1
+     828:	99 7a 3e 59 	svshape 10,31,16,5,0
+     82c:	d9 7a 3e 59 	svshape 10,31,16,5,1
+     830:	19 7d 3e 59 	svshape 10,31,16,10,0
+     834:	59 7d 3e 59 	svshape 10,31,16,10,1
+     838:	99 7f 3e 59 	svshape 10,31,16,15,0
+     83c:	d9 7f 3e 59 	svshape 10,31,16,15,1
+     840:	19 00 2f 59 	svshape 10,16,1,0,0
+     844:	59 00 2f 59 	svshape 10,16,1,0,1
+     848:	99 02 2f 59 	svshape 10,16,1,5,0
+     84c:	d9 02 2f 59 	svshape 10,16,1,5,1
+     850:	19 05 2f 59 	svshape 10,16,1,10,0
+     854:	59 05 2f 59 	svshape 10,16,1,10,1
+     858:	99 07 2f 59 	svshape 10,16,1,15,0
+     85c:	d9 07 2f 59 	svshape 10,16,1,15,1
+     860:	19 48 2f 59 	svshape 10,16,10,0,0
+     864:	59 48 2f 59 	svshape 10,16,10,0,1
+     868:	99 4a 2f 59 	svshape 10,16,10,5,0
+     86c:	d9 4a 2f 59 	svshape 10,16,10,5,1
+     870:	19 4d 2f 59 	svshape 10,16,10,10,0
+     874:	59 4d 2f 59 	svshape 10,16,10,10,1
+     878:	99 4f 2f 59 	svshape 10,16,10,15,0
+     87c:	d9 4f 2f 59 	svshape 10,16,10,15,1
+     880:	19 a0 2f 59 	svshape 10,16,21,0,0
+     884:	59 a0 2f 59 	svshape 10,16,21,0,1
+     888:	99 a2 2f 59 	svshape 10,16,21,5,0
+     88c:	d9 a2 2f 59 	svshape 10,16,21,5,1
+     890:	19 a5 2f 59 	svshape 10,16,21,10,0
+     894:	59 a5 2f 59 	svshape 10,16,21,10,1
+     898:	99 a7 2f 59 	svshape 10,16,21,15,0
+     89c:	d9 a7 2f 59 	svshape 10,16,21,15,1
+     8a0:	19 d0 2f 59 	svshape 10,16,27,0,0
+     8a4:	59 d0 2f 59 	svshape 10,16,27,0,1
+     8a8:	99 d2 2f 59 	svshape 10,16,27,5,0
+     8ac:	d9 d2 2f 59 	svshape 10,16,27,5,1
+     8b0:	19 d5 2f 59 	svshape 10,16,27,10,0
+     8b4:	59 d5 2f 59 	svshape 10,16,27,10,1
+     8b8:	99 d7 2f 59 	svshape 10,16,27,15,0
+     8bc:	d9 d7 2f 59 	svshape 10,16,27,15,1
+     8c0:	19 f0 2f 59 	svshape 10,16,31,0,0
+     8c4:	59 f0 2f 59 	svshape 10,16,31,0,1
+     8c8:	99 f2 2f 59 	svshape 10,16,31,5,0
+     8cc:	d9 f2 2f 59 	svshape 10,16,31,5,1
+     8d0:	19 f5 2f 59 	svshape 10,16,31,10,0
+     8d4:	59 f5 2f 59 	svshape 10,16,31,10,1
+     8d8:	99 f7 2f 59 	svshape 10,16,31,15,0
+     8dc:	d9 f7 2f 59 	svshape 10,16,31,15,1
+     8e0:	19 78 2f 59 	svshape 10,16,16,0,0
+     8e4:	59 78 2f 59 	svshape 10,16,16,0,1
+     8e8:	99 7a 2f 59 	svshape 10,16,16,5,0
+     8ec:	d9 7a 2f 59 	svshape 10,16,16,5,1
+     8f0:	19 7d 2f 59 	svshape 10,16,16,10,0
+     8f4:	59 7d 2f 59 	svshape 10,16,16,10,1
+     8f8:	99 7f 2f 59 	svshape 10,16,16,15,0
+     8fc:	d9 7f 2f 59 	svshape 10,16,16,15,1
+     900:	19 00 80 5a 	svshape 21,1,1,0,0
+     904:	59 00 80 5a 	svshape 21,1,1,0,1
+     908:	99 02 80 5a 	svshape 21,1,1,5,0
+     90c:	d9 02 80 5a 	svshape 21,1,1,5,1
+     910:	19 05 80 5a 	svshape 21,1,1,10,0
+     914:	59 05 80 5a 	svshape 21,1,1,10,1
+     918:	99 07 80 5a 	svshape 21,1,1,15,0
+     91c:	d9 07 80 5a 	svshape 21,1,1,15,1
+     920:	19 48 80 5a 	svshape 21,1,10,0,0
+     924:	59 48 80 5a 	svshape 21,1,10,0,1
+     928:	99 4a 80 5a 	svshape 21,1,10,5,0
+     92c:	d9 4a 80 5a 	svshape 21,1,10,5,1
+     930:	19 4d 80 5a 	svshape 21,1,10,10,0
+     934:	59 4d 80 5a 	svshape 21,1,10,10,1
+     938:	99 4f 80 5a 	svshape 21,1,10,15,0
+     93c:	d9 4f 80 5a 	svshape 21,1,10,15,1
+     940:	19 a0 80 5a 	svshape 21,1,21,0,0
+     944:	59 a0 80 5a 	svshape 21,1,21,0,1
+     948:	99 a2 80 5a 	svshape 21,1,21,5,0
+     94c:	d9 a2 80 5a 	svshape 21,1,21,5,1
+     950:	19 a5 80 5a 	svshape 21,1,21,10,0
+     954:	59 a5 80 5a 	svshape 21,1,21,10,1
+     958:	99 a7 80 5a 	svshape 21,1,21,15,0
+     95c:	d9 a7 80 5a 	svshape 21,1,21,15,1
+     960:	19 d0 80 5a 	svshape 21,1,27,0,0
+     964:	59 d0 80 5a 	svshape 21,1,27,0,1
+     968:	99 d2 80 5a 	svshape 21,1,27,5,0
+     96c:	d9 d2 80 5a 	svshape 21,1,27,5,1
+     970:	19 d5 80 5a 	svshape 21,1,27,10,0
+     974:	59 d5 80 5a 	svshape 21,1,27,10,1
+     978:	99 d7 80 5a 	svshape 21,1,27,15,0
+     97c:	d9 d7 80 5a 	svshape 21,1,27,15,1
+     980:	19 f0 80 5a 	svshape 21,1,31,0,0
+     984:	59 f0 80 5a 	svshape 21,1,31,0,1
+     988:	99 f2 80 5a 	svshape 21,1,31,5,0
+     98c:	d9 f2 80 5a 	svshape 21,1,31,5,1
+     990:	19 f5 80 5a 	svshape 21,1,31,10,0
+     994:	59 f5 80 5a 	svshape 21,1,31,10,1
+     998:	99 f7 80 5a 	svshape 21,1,31,15,0
+     99c:	d9 f7 80 5a 	svshape 21,1,31,15,1
+     9a0:	19 78 80 5a 	svshape 21,1,16,0,0
+     9a4:	59 78 80 5a 	svshape 21,1,16,0,1
+     9a8:	99 7a 80 5a 	svshape 21,1,16,5,0
+     9ac:	d9 7a 80 5a 	svshape 21,1,16,5,1
+     9b0:	19 7d 80 5a 	svshape 21,1,16,10,0
+     9b4:	59 7d 80 5a 	svshape 21,1,16,10,1
+     9b8:	99 7f 80 5a 	svshape 21,1,16,15,0
+     9bc:	d9 7f 80 5a 	svshape 21,1,16,15,1
+     9c0:	19 00 89 5a 	svshape 21,10,1,0,0
+     9c4:	59 00 89 5a 	svshape 21,10,1,0,1
+     9c8:	99 02 89 5a 	svshape 21,10,1,5,0
+     9cc:	d9 02 89 5a 	svshape 21,10,1,5,1
+     9d0:	19 05 89 5a 	svshape 21,10,1,10,0
+     9d4:	59 05 89 5a 	svshape 21,10,1,10,1
+     9d8:	99 07 89 5a 	svshape 21,10,1,15,0
+     9dc:	d9 07 89 5a 	svshape 21,10,1,15,1
+     9e0:	19 48 89 5a 	svshape 21,10,10,0,0
+     9e4:	59 48 89 5a 	svshape 21,10,10,0,1
+     9e8:	99 4a 89 5a 	svshape 21,10,10,5,0
+     9ec:	d9 4a 89 5a 	svshape 21,10,10,5,1
+     9f0:	19 4d 89 5a 	svshape 21,10,10,10,0
+     9f4:	59 4d 89 5a 	svshape 21,10,10,10,1
+     9f8:	99 4f 89 5a 	svshape 21,10,10,15,0
+     9fc:	d9 4f 89 5a 	svshape 21,10,10,15,1
+     a00:	19 a0 89 5a 	svshape 21,10,21,0,0
+     a04:	59 a0 89 5a 	svshape 21,10,21,0,1
+     a08:	99 a2 89 5a 	svshape 21,10,21,5,0
+     a0c:	d9 a2 89 5a 	svshape 21,10,21,5,1
+     a10:	19 a5 89 5a 	svshape 21,10,21,10,0
+     a14:	59 a5 89 5a 	svshape 21,10,21,10,1
+     a18:	99 a7 89 5a 	svshape 21,10,21,15,0
+     a1c:	d9 a7 89 5a 	svshape 21,10,21,15,1
+     a20:	19 d0 89 5a 	svshape 21,10,27,0,0
+     a24:	59 d0 89 5a 	svshape 21,10,27,0,1
+     a28:	99 d2 89 5a 	svshape 21,10,27,5,0
+     a2c:	d9 d2 89 5a 	svshape 21,10,27,5,1
+     a30:	19 d5 89 5a 	svshape 21,10,27,10,0
+     a34:	59 d5 89 5a 	svshape 21,10,27,10,1
+     a38:	99 d7 89 5a 	svshape 21,10,27,15,0
+     a3c:	d9 d7 89 5a 	svshape 21,10,27,15,1
+     a40:	19 f0 89 5a 	svshape 21,10,31,0,0
+     a44:	59 f0 89 5a 	svshape 21,10,31,0,1
+     a48:	99 f2 89 5a 	svshape 21,10,31,5,0
+     a4c:	d9 f2 89 5a 	svshape 21,10,31,5,1
+     a50:	19 f5 89 5a 	svshape 21,10,31,10,0
+     a54:	59 f5 89 5a 	svshape 21,10,31,10,1
+     a58:	99 f7 89 5a 	svshape 21,10,31,15,0
+     a5c:	d9 f7 89 5a 	svshape 21,10,31,15,1
+     a60:	19 78 89 5a 	svshape 21,10,16,0,0
+     a64:	59 78 89 5a 	svshape 21,10,16,0,1
+     a68:	99 7a 89 5a 	svshape 21,10,16,5,0
+     a6c:	d9 7a 89 5a 	svshape 21,10,16,5,1
+     a70:	19 7d 89 5a 	svshape 21,10,16,10,0
+     a74:	59 7d 89 5a 	svshape 21,10,16,10,1
+     a78:	99 7f 89 5a 	svshape 21,10,16,15,0
+     a7c:	d9 7f 89 5a 	svshape 21,10,16,15,1
+     a80:	19 00 94 5a 	svshape 21,21,1,0,0
+     a84:	59 00 94 5a 	svshape 21,21,1,0,1
+     a88:	99 02 94 5a 	svshape 21,21,1,5,0
+     a8c:	d9 02 94 5a 	svshape 21,21,1,5,1
+     a90:	19 05 94 5a 	svshape 21,21,1,10,0
+     a94:	59 05 94 5a 	svshape 21,21,1,10,1
+     a98:	99 07 94 5a 	svshape 21,21,1,15,0
+     a9c:	d9 07 94 5a 	svshape 21,21,1,15,1
+     aa0:	19 48 94 5a 	svshape 21,21,10,0,0
+     aa4:	59 48 94 5a 	svshape 21,21,10,0,1
+     aa8:	99 4a 94 5a 	svshape 21,21,10,5,0
+     aac:	d9 4a 94 5a 	svshape 21,21,10,5,1
+     ab0:	19 4d 94 5a 	svshape 21,21,10,10,0
+     ab4:	59 4d 94 5a 	svshape 21,21,10,10,1
+     ab8:	99 4f 94 5a 	svshape 21,21,10,15,0
+     abc:	d9 4f 94 5a 	svshape 21,21,10,15,1
+     ac0:	19 a0 94 5a 	svshape 21,21,21,0,0
+     ac4:	59 a0 94 5a 	svshape 21,21,21,0,1
+     ac8:	99 a2 94 5a 	svshape 21,21,21,5,0
+     acc:	d9 a2 94 5a 	svshape 21,21,21,5,1
+     ad0:	19 a5 94 5a 	svshape 21,21,21,10,0
+     ad4:	59 a5 94 5a 	svshape 21,21,21,10,1
+     ad8:	99 a7 94 5a 	svshape 21,21,21,15,0
+     adc:	d9 a7 94 5a 	svshape 21,21,21,15,1
+     ae0:	19 d0 94 5a 	svshape 21,21,27,0,0
+     ae4:	59 d0 94 5a 	svshape 21,21,27,0,1
+     ae8:	99 d2 94 5a 	svshape 21,21,27,5,0
+     aec:	d9 d2 94 5a 	svshape 21,21,27,5,1
+     af0:	19 d5 94 5a 	svshape 21,21,27,10,0
+     af4:	59 d5 94 5a 	svshape 21,21,27,10,1
+     af8:	99 d7 94 5a 	svshape 21,21,27,15,0
+     afc:	d9 d7 94 5a 	svshape 21,21,27,15,1
+     b00:	19 f0 94 5a 	svshape 21,21,31,0,0
+     b04:	59 f0 94 5a 	svshape 21,21,31,0,1
+     b08:	99 f2 94 5a 	svshape 21,21,31,5,0
+     b0c:	d9 f2 94 5a 	svshape 21,21,31,5,1
+     b10:	19 f5 94 5a 	svshape 21,21,31,10,0
+     b14:	59 f5 94 5a 	svshape 21,21,31,10,1
+     b18:	99 f7 94 5a 	svshape 21,21,31,15,0
+     b1c:	d9 f7 94 5a 	svshape 21,21,31,15,1
+     b20:	19 78 94 5a 	svshape 21,21,16,0,0
+     b24:	59 78 94 5a 	svshape 21,21,16,0,1
+     b28:	99 7a 94 5a 	svshape 21,21,16,5,0
+     b2c:	d9 7a 94 5a 	svshape 21,21,16,5,1
+     b30:	19 7d 94 5a 	svshape 21,21,16,10,0
+     b34:	59 7d 94 5a 	svshape 21,21,16,10,1
+     b38:	99 7f 94 5a 	svshape 21,21,16,15,0
+     b3c:	d9 7f 94 5a 	svshape 21,21,16,15,1
+     b40:	19 00 9a 5a 	svshape 21,27,1,0,0
+     b44:	59 00 9a 5a 	svshape 21,27,1,0,1
+     b48:	99 02 9a 5a 	svshape 21,27,1,5,0
+     b4c:	d9 02 9a 5a 	svshape 21,27,1,5,1
+     b50:	19 05 9a 5a 	svshape 21,27,1,10,0
+     b54:	59 05 9a 5a 	svshape 21,27,1,10,1
+     b58:	99 07 9a 5a 	svshape 21,27,1,15,0
+     b5c:	d9 07 9a 5a 	svshape 21,27,1,15,1
+     b60:	19 48 9a 5a 	svshape 21,27,10,0,0
+     b64:	59 48 9a 5a 	svshape 21,27,10,0,1
+     b68:	99 4a 9a 5a 	svshape 21,27,10,5,0
+     b6c:	d9 4a 9a 5a 	svshape 21,27,10,5,1
+     b70:	19 4d 9a 5a 	svshape 21,27,10,10,0
+     b74:	59 4d 9a 5a 	svshape 21,27,10,10,1
+     b78:	99 4f 9a 5a 	svshape 21,27,10,15,0
+     b7c:	d9 4f 9a 5a 	svshape 21,27,10,15,1
+     b80:	19 a0 9a 5a 	svshape 21,27,21,0,0
+     b84:	59 a0 9a 5a 	svshape 21,27,21,0,1
+     b88:	99 a2 9a 5a 	svshape 21,27,21,5,0
+     b8c:	d9 a2 9a 5a 	svshape 21,27,21,5,1
+     b90:	19 a5 9a 5a 	svshape 21,27,21,10,0
+     b94:	59 a5 9a 5a 	svshape 21,27,21,10,1
+     b98:	99 a7 9a 5a 	svshape 21,27,21,15,0
+     b9c:	d9 a7 9a 5a 	svshape 21,27,21,15,1
+     ba0:	19 d0 9a 5a 	svshape 21,27,27,0,0
+     ba4:	59 d0 9a 5a 	svshape 21,27,27,0,1
+     ba8:	99 d2 9a 5a 	svshape 21,27,27,5,0
+     bac:	d9 d2 9a 5a 	svshape 21,27,27,5,1
+     bb0:	19 d5 9a 5a 	svshape 21,27,27,10,0
+     bb4:	59 d5 9a 5a 	svshape 21,27,27,10,1
+     bb8:	99 d7 9a 5a 	svshape 21,27,27,15,0
+     bbc:	d9 d7 9a 5a 	svshape 21,27,27,15,1
+     bc0:	19 f0 9a 5a 	svshape 21,27,31,0,0
+     bc4:	59 f0 9a 5a 	svshape 21,27,31,0,1
+     bc8:	99 f2 9a 5a 	svshape 21,27,31,5,0
+     bcc:	d9 f2 9a 5a 	svshape 21,27,31,5,1
+     bd0:	19 f5 9a 5a 	svshape 21,27,31,10,0
+     bd4:	59 f5 9a 5a 	svshape 21,27,31,10,1
+     bd8:	99 f7 9a 5a 	svshape 21,27,31,15,0
+     bdc:	d9 f7 9a 5a 	svshape 21,27,31,15,1
+     be0:	19 78 9a 5a 	svshape 21,27,16,0,0
+     be4:	59 78 9a 5a 	svshape 21,27,16,0,1
+     be8:	99 7a 9a 5a 	svshape 21,27,16,5,0
+     bec:	d9 7a 9a 5a 	svshape 21,27,16,5,1
+     bf0:	19 7d 9a 5a 	svshape 21,27,16,10,0
+     bf4:	59 7d 9a 5a 	svshape 21,27,16,10,1
+     bf8:	99 7f 9a 5a 	svshape 21,27,16,15,0
+     bfc:	d9 7f 9a 5a 	svshape 21,27,16,15,1
+     c00:	19 00 9e 5a 	svshape 21,31,1,0,0
+     c04:	59 00 9e 5a 	svshape 21,31,1,0,1
+     c08:	99 02 9e 5a 	svshape 21,31,1,5,0
+     c0c:	d9 02 9e 5a 	svshape 21,31,1,5,1
+     c10:	19 05 9e 5a 	svshape 21,31,1,10,0
+     c14:	59 05 9e 5a 	svshape 21,31,1,10,1
+     c18:	99 07 9e 5a 	svshape 21,31,1,15,0
+     c1c:	d9 07 9e 5a 	svshape 21,31,1,15,1
+     c20:	19 48 9e 5a 	svshape 21,31,10,0,0
+     c24:	59 48 9e 5a 	svshape 21,31,10,0,1
+     c28:	99 4a 9e 5a 	svshape 21,31,10,5,0
+     c2c:	d9 4a 9e 5a 	svshape 21,31,10,5,1
+     c30:	19 4d 9e 5a 	svshape 21,31,10,10,0
+     c34:	59 4d 9e 5a 	svshape 21,31,10,10,1
+     c38:	99 4f 9e 5a 	svshape 21,31,10,15,0
+     c3c:	d9 4f 9e 5a 	svshape 21,31,10,15,1
+     c40:	19 a0 9e 5a 	svshape 21,31,21,0,0
+     c44:	59 a0 9e 5a 	svshape 21,31,21,0,1
+     c48:	99 a2 9e 5a 	svshape 21,31,21,5,0
+     c4c:	d9 a2 9e 5a 	svshape 21,31,21,5,1
+     c50:	19 a5 9e 5a 	svshape 21,31,21,10,0
+     c54:	59 a5 9e 5a 	svshape 21,31,21,10,1
+     c58:	99 a7 9e 5a 	svshape 21,31,21,15,0
+     c5c:	d9 a7 9e 5a 	svshape 21,31,21,15,1
+     c60:	19 d0 9e 5a 	svshape 21,31,27,0,0
+     c64:	59 d0 9e 5a 	svshape 21,31,27,0,1
+     c68:	99 d2 9e 5a 	svshape 21,31,27,5,0
+     c6c:	d9 d2 9e 5a 	svshape 21,31,27,5,1
+     c70:	19 d5 9e 5a 	svshape 21,31,27,10,0
+     c74:	59 d5 9e 5a 	svshape 21,31,27,10,1
+     c78:	99 d7 9e 5a 	svshape 21,31,27,15,0
+     c7c:	d9 d7 9e 5a 	svshape 21,31,27,15,1
+     c80:	19 f0 9e 5a 	svshape 21,31,31,0,0
+     c84:	59 f0 9e 5a 	svshape 21,31,31,0,1
+     c88:	99 f2 9e 5a 	svshape 21,31,31,5,0
+     c8c:	d9 f2 9e 5a 	svshape 21,31,31,5,1
+     c90:	19 f5 9e 5a 	svshape 21,31,31,10,0
+     c94:	59 f5 9e 5a 	svshape 21,31,31,10,1
+     c98:	99 f7 9e 5a 	svshape 21,31,31,15,0
+     c9c:	d9 f7 9e 5a 	svshape 21,31,31,15,1
+     ca0:	19 78 9e 5a 	svshape 21,31,16,0,0
+     ca4:	59 78 9e 5a 	svshape 21,31,16,0,1
+     ca8:	99 7a 9e 5a 	svshape 21,31,16,5,0
+     cac:	d9 7a 9e 5a 	svshape 21,31,16,5,1
+     cb0:	19 7d 9e 5a 	svshape 21,31,16,10,0
+     cb4:	59 7d 9e 5a 	svshape 21,31,16,10,1
+     cb8:	99 7f 9e 5a 	svshape 21,31,16,15,0
+     cbc:	d9 7f 9e 5a 	svshape 21,31,16,15,1
+     cc0:	19 00 8f 5a 	svshape 21,16,1,0,0
+     cc4:	59 00 8f 5a 	svshape 21,16,1,0,1
+     cc8:	99 02 8f 5a 	svshape 21,16,1,5,0
+     ccc:	d9 02 8f 5a 	svshape 21,16,1,5,1
+     cd0:	19 05 8f 5a 	svshape 21,16,1,10,0
+     cd4:	59 05 8f 5a 	svshape 21,16,1,10,1
+     cd8:	99 07 8f 5a 	svshape 21,16,1,15,0
+     cdc:	d9 07 8f 5a 	svshape 21,16,1,15,1
+     ce0:	19 48 8f 5a 	svshape 21,16,10,0,0
+     ce4:	59 48 8f 5a 	svshape 21,16,10,0,1
+     ce8:	99 4a 8f 5a 	svshape 21,16,10,5,0
+     cec:	d9 4a 8f 5a 	svshape 21,16,10,5,1
+     cf0:	19 4d 8f 5a 	svshape 21,16,10,10,0
+     cf4:	59 4d 8f 5a 	svshape 21,16,10,10,1
+     cf8:	99 4f 8f 5a 	svshape 21,16,10,15,0
+     cfc:	d9 4f 8f 5a 	svshape 21,16,10,15,1
+     d00:	19 a0 8f 5a 	svshape 21,16,21,0,0
+     d04:	59 a0 8f 5a 	svshape 21,16,21,0,1
+     d08:	99 a2 8f 5a 	svshape 21,16,21,5,0
+     d0c:	d9 a2 8f 5a 	svshape 21,16,21,5,1
+     d10:	19 a5 8f 5a 	svshape 21,16,21,10,0
+     d14:	59 a5 8f 5a 	svshape 21,16,21,10,1
+     d18:	99 a7 8f 5a 	svshape 21,16,21,15,0
+     d1c:	d9 a7 8f 5a 	svshape 21,16,21,15,1
+     d20:	19 d0 8f 5a 	svshape 21,16,27,0,0
+     d24:	59 d0 8f 5a 	svshape 21,16,27,0,1
+     d28:	99 d2 8f 5a 	svshape 21,16,27,5,0
+     d2c:	d9 d2 8f 5a 	svshape 21,16,27,5,1
+     d30:	19 d5 8f 5a 	svshape 21,16,27,10,0
+     d34:	59 d5 8f 5a 	svshape 21,16,27,10,1
+     d38:	99 d7 8f 5a 	svshape 21,16,27,15,0
+     d3c:	d9 d7 8f 5a 	svshape 21,16,27,15,1
+     d40:	19 f0 8f 5a 	svshape 21,16,31,0,0
+     d44:	59 f0 8f 5a 	svshape 21,16,31,0,1
+     d48:	99 f2 8f 5a 	svshape 21,16,31,5,0
+     d4c:	d9 f2 8f 5a 	svshape 21,16,31,5,1
+     d50:	19 f5 8f 5a 	svshape 21,16,31,10,0
+     d54:	59 f5 8f 5a 	svshape 21,16,31,10,1
+     d58:	99 f7 8f 5a 	svshape 21,16,31,15,0
+     d5c:	d9 f7 8f 5a 	svshape 21,16,31,15,1
+     d60:	19 78 8f 5a 	svshape 21,16,16,0,0
+     d64:	59 78 8f 5a 	svshape 21,16,16,0,1
+     d68:	99 7a 8f 5a 	svshape 21,16,16,5,0
+     d6c:	d9 7a 8f 5a 	svshape 21,16,16,5,1
+     d70:	19 7d 8f 5a 	svshape 21,16,16,10,0
+     d74:	59 7d 8f 5a 	svshape 21,16,16,10,1
+     d78:	99 7f 8f 5a 	svshape 21,16,16,15,0
+     d7c:	d9 7f 8f 5a 	svshape 21,16,16,15,1
+     d80:	19 00 40 5b 	svshape 27,1,1,0,0
+     d84:	59 00 40 5b 	svshape 27,1,1,0,1
+     d88:	99 02 40 5b 	svshape 27,1,1,5,0
+     d8c:	d9 02 40 5b 	svshape 27,1,1,5,1
+     d90:	19 05 40 5b 	svshape 27,1,1,10,0
+     d94:	59 05 40 5b 	svshape 27,1,1,10,1
+     d98:	99 07 40 5b 	svshape 27,1,1,15,0
+     d9c:	d9 07 40 5b 	svshape 27,1,1,15,1
+     da0:	19 48 40 5b 	svshape 27,1,10,0,0
+     da4:	59 48 40 5b 	svshape 27,1,10,0,1
+     da8:	99 4a 40 5b 	svshape 27,1,10,5,0
+     dac:	d9 4a 40 5b 	svshape 27,1,10,5,1
+     db0:	19 4d 40 5b 	svshape 27,1,10,10,0
+     db4:	59 4d 40 5b 	svshape 27,1,10,10,1
+     db8:	99 4f 40 5b 	svshape 27,1,10,15,0
+     dbc:	d9 4f 40 5b 	svshape 27,1,10,15,1
+     dc0:	19 a0 40 5b 	svshape 27,1,21,0,0
+     dc4:	59 a0 40 5b 	svshape 27,1,21,0,1
+     dc8:	99 a2 40 5b 	svshape 27,1,21,5,0
+     dcc:	d9 a2 40 5b 	svshape 27,1,21,5,1
+     dd0:	19 a5 40 5b 	svshape 27,1,21,10,0
+     dd4:	59 a5 40 5b 	svshape 27,1,21,10,1
+     dd8:	99 a7 40 5b 	svshape 27,1,21,15,0
+     ddc:	d9 a7 40 5b 	svshape 27,1,21,15,1
+     de0:	19 d0 40 5b 	svshape 27,1,27,0,0
+     de4:	59 d0 40 5b 	svshape 27,1,27,0,1
+     de8:	99 d2 40 5b 	svshape 27,1,27,5,0
+     dec:	d9 d2 40 5b 	svshape 27,1,27,5,1
+     df0:	19 d5 40 5b 	svshape 27,1,27,10,0
+     df4:	59 d5 40 5b 	svshape 27,1,27,10,1
+     df8:	99 d7 40 5b 	svshape 27,1,27,15,0
+     dfc:	d9 d7 40 5b 	svshape 27,1,27,15,1
+     e00:	19 f0 40 5b 	svshape 27,1,31,0,0
+     e04:	59 f0 40 5b 	svshape 27,1,31,0,1
+     e08:	99 f2 40 5b 	svshape 27,1,31,5,0
+     e0c:	d9 f2 40 5b 	svshape 27,1,31,5,1
+     e10:	19 f5 40 5b 	svshape 27,1,31,10,0
+     e14:	59 f5 40 5b 	svshape 27,1,31,10,1
+     e18:	99 f7 40 5b 	svshape 27,1,31,15,0
+     e1c:	d9 f7 40 5b 	svshape 27,1,31,15,1
+     e20:	19 78 40 5b 	svshape 27,1,16,0,0
+     e24:	59 78 40 5b 	svshape 27,1,16,0,1
+     e28:	99 7a 40 5b 	svshape 27,1,16,5,0
+     e2c:	d9 7a 40 5b 	svshape 27,1,16,5,1
+     e30:	19 7d 40 5b 	svshape 27,1,16,10,0
+     e34:	59 7d 40 5b 	svshape 27,1,16,10,1
+     e38:	99 7f 40 5b 	svshape 27,1,16,15,0
+     e3c:	d9 7f 40 5b 	svshape 27,1,16,15,1
+     e40:	19 00 49 5b 	svshape 27,10,1,0,0
+     e44:	59 00 49 5b 	svshape 27,10,1,0,1
+     e48:	99 02 49 5b 	svshape 27,10,1,5,0
+     e4c:	d9 02 49 5b 	svshape 27,10,1,5,1
+     e50:	19 05 49 5b 	svshape 27,10,1,10,0
+     e54:	59 05 49 5b 	svshape 27,10,1,10,1
+     e58:	99 07 49 5b 	svshape 27,10,1,15,0
+     e5c:	d9 07 49 5b 	svshape 27,10,1,15,1
+     e60:	19 48 49 5b 	svshape 27,10,10,0,0
+     e64:	59 48 49 5b 	svshape 27,10,10,0,1
+     e68:	99 4a 49 5b 	svshape 27,10,10,5,0
+     e6c:	d9 4a 49 5b 	svshape 27,10,10,5,1
+     e70:	19 4d 49 5b 	svshape 27,10,10,10,0
+     e74:	59 4d 49 5b 	svshape 27,10,10,10,1
+     e78:	99 4f 49 5b 	svshape 27,10,10,15,0
+     e7c:	d9 4f 49 5b 	svshape 27,10,10,15,1
+     e80:	19 a0 49 5b 	svshape 27,10,21,0,0
+     e84:	59 a0 49 5b 	svshape 27,10,21,0,1
+     e88:	99 a2 49 5b 	svshape 27,10,21,5,0
+     e8c:	d9 a2 49 5b 	svshape 27,10,21,5,1
+     e90:	19 a5 49 5b 	svshape 27,10,21,10,0
+     e94:	59 a5 49 5b 	svshape 27,10,21,10,1
+     e98:	99 a7 49 5b 	svshape 27,10,21,15,0
+     e9c:	d9 a7 49 5b 	svshape 27,10,21,15,1
+     ea0:	19 d0 49 5b 	svshape 27,10,27,0,0
+     ea4:	59 d0 49 5b 	svshape 27,10,27,0,1
+     ea8:	99 d2 49 5b 	svshape 27,10,27,5,0
+     eac:	d9 d2 49 5b 	svshape 27,10,27,5,1
+     eb0:	19 d5 49 5b 	svshape 27,10,27,10,0
+     eb4:	59 d5 49 5b 	svshape 27,10,27,10,1
+     eb8:	99 d7 49 5b 	svshape 27,10,27,15,0
+     ebc:	d9 d7 49 5b 	svshape 27,10,27,15,1
+     ec0:	19 f0 49 5b 	svshape 27,10,31,0,0
+     ec4:	59 f0 49 5b 	svshape 27,10,31,0,1
+     ec8:	99 f2 49 5b 	svshape 27,10,31,5,0
+     ecc:	d9 f2 49 5b 	svshape 27,10,31,5,1
+     ed0:	19 f5 49 5b 	svshape 27,10,31,10,0
+     ed4:	59 f5 49 5b 	svshape 27,10,31,10,1
+     ed8:	99 f7 49 5b 	svshape 27,10,31,15,0
+     edc:	d9 f7 49 5b 	svshape 27,10,31,15,1
+     ee0:	19 78 49 5b 	svshape 27,10,16,0,0
+     ee4:	59 78 49 5b 	svshape 27,10,16,0,1
+     ee8:	99 7a 49 5b 	svshape 27,10,16,5,0
+     eec:	d9 7a 49 5b 	svshape 27,10,16,5,1
+     ef0:	19 7d 49 5b 	svshape 27,10,16,10,0
+     ef4:	59 7d 49 5b 	svshape 27,10,16,10,1
+     ef8:	99 7f 49 5b 	svshape 27,10,16,15,0
+     efc:	d9 7f 49 5b 	svshape 27,10,16,15,1
+     f00:	19 00 54 5b 	svshape 27,21,1,0,0
+     f04:	59 00 54 5b 	svshape 27,21,1,0,1
+     f08:	99 02 54 5b 	svshape 27,21,1,5,0
+     f0c:	d9 02 54 5b 	svshape 27,21,1,5,1
+     f10:	19 05 54 5b 	svshape 27,21,1,10,0
+     f14:	59 05 54 5b 	svshape 27,21,1,10,1
+     f18:	99 07 54 5b 	svshape 27,21,1,15,0
+     f1c:	d9 07 54 5b 	svshape 27,21,1,15,1
+     f20:	19 48 54 5b 	svshape 27,21,10,0,0
+     f24:	59 48 54 5b 	svshape 27,21,10,0,1
+     f28:	99 4a 54 5b 	svshape 27,21,10,5,0
+     f2c:	d9 4a 54 5b 	svshape 27,21,10,5,1
+     f30:	19 4d 54 5b 	svshape 27,21,10,10,0
+     f34:	59 4d 54 5b 	svshape 27,21,10,10,1
+     f38:	99 4f 54 5b 	svshape 27,21,10,15,0
+     f3c:	d9 4f 54 5b 	svshape 27,21,10,15,1
+     f40:	19 a0 54 5b 	svshape 27,21,21,0,0
+     f44:	59 a0 54 5b 	svshape 27,21,21,0,1
+     f48:	99 a2 54 5b 	svshape 27,21,21,5,0
+     f4c:	d9 a2 54 5b 	svshape 27,21,21,5,1
+     f50:	19 a5 54 5b 	svshape 27,21,21,10,0
+     f54:	59 a5 54 5b 	svshape 27,21,21,10,1
+     f58:	99 a7 54 5b 	svshape 27,21,21,15,0
+     f5c:	d9 a7 54 5b 	svshape 27,21,21,15,1
+     f60:	19 d0 54 5b 	svshape 27,21,27,0,0
+     f64:	59 d0 54 5b 	svshape 27,21,27,0,1
+     f68:	99 d2 54 5b 	svshape 27,21,27,5,0
+     f6c:	d9 d2 54 5b 	svshape 27,21,27,5,1
+     f70:	19 d5 54 5b 	svshape 27,21,27,10,0
+     f74:	59 d5 54 5b 	svshape 27,21,27,10,1
+     f78:	99 d7 54 5b 	svshape 27,21,27,15,0
+     f7c:	d9 d7 54 5b 	svshape 27,21,27,15,1
+     f80:	19 f0 54 5b 	svshape 27,21,31,0,0
+     f84:	59 f0 54 5b 	svshape 27,21,31,0,1
+     f88:	99 f2 54 5b 	svshape 27,21,31,5,0
+     f8c:	d9 f2 54 5b 	svshape 27,21,31,5,1
+     f90:	19 f5 54 5b 	svshape 27,21,31,10,0
+     f94:	59 f5 54 5b 	svshape 27,21,31,10,1
+     f98:	99 f7 54 5b 	svshape 27,21,31,15,0
+     f9c:	d9 f7 54 5b 	svshape 27,21,31,15,1
+     fa0:	19 78 54 5b 	svshape 27,21,16,0,0
+     fa4:	59 78 54 5b 	svshape 27,21,16,0,1
+     fa8:	99 7a 54 5b 	svshape 27,21,16,5,0
+     fac:	d9 7a 54 5b 	svshape 27,21,16,5,1
+     fb0:	19 7d 54 5b 	svshape 27,21,16,10,0
+     fb4:	59 7d 54 5b 	svshape 27,21,16,10,1
+     fb8:	99 7f 54 5b 	svshape 27,21,16,15,0
+     fbc:	d9 7f 54 5b 	svshape 27,21,16,15,1
+     fc0:	19 00 5a 5b 	svshape 27,27,1,0,0
+     fc4:	59 00 5a 5b 	svshape 27,27,1,0,1
+     fc8:	99 02 5a 5b 	svshape 27,27,1,5,0
+     fcc:	d9 02 5a 5b 	svshape 27,27,1,5,1
+     fd0:	19 05 5a 5b 	svshape 27,27,1,10,0
+     fd4:	59 05 5a 5b 	svshape 27,27,1,10,1
+     fd8:	99 07 5a 5b 	svshape 27,27,1,15,0
+     fdc:	d9 07 5a 5b 	svshape 27,27,1,15,1
+     fe0:	19 48 5a 5b 	svshape 27,27,10,0,0
+     fe4:	59 48 5a 5b 	svshape 27,27,10,0,1
+     fe8:	99 4a 5a 5b 	svshape 27,27,10,5,0
+     fec:	d9 4a 5a 5b 	svshape 27,27,10,5,1
+     ff0:	19 4d 5a 5b 	svshape 27,27,10,10,0
+     ff4:	59 4d 5a 5b 	svshape 27,27,10,10,1
+     ff8:	99 4f 5a 5b 	svshape 27,27,10,15,0
+     ffc:	d9 4f 5a 5b 	svshape 27,27,10,15,1
+    1000:	19 a0 5a 5b 	svshape 27,27,21,0,0
+    1004:	59 a0 5a 5b 	svshape 27,27,21,0,1
+    1008:	99 a2 5a 5b 	svshape 27,27,21,5,0
+    100c:	d9 a2 5a 5b 	svshape 27,27,21,5,1
+    1010:	19 a5 5a 5b 	svshape 27,27,21,10,0
+    1014:	59 a5 5a 5b 	svshape 27,27,21,10,1
+    1018:	99 a7 5a 5b 	svshape 27,27,21,15,0
+    101c:	d9 a7 5a 5b 	svshape 27,27,21,15,1
+    1020:	19 d0 5a 5b 	svshape 27,27,27,0,0
+    1024:	59 d0 5a 5b 	svshape 27,27,27,0,1
+    1028:	99 d2 5a 5b 	svshape 27,27,27,5,0
+    102c:	d9 d2 5a 5b 	svshape 27,27,27,5,1
+    1030:	19 d5 5a 5b 	svshape 27,27,27,10,0
+    1034:	59 d5 5a 5b 	svshape 27,27,27,10,1
+    1038:	99 d7 5a 5b 	svshape 27,27,27,15,0
+    103c:	d9 d7 5a 5b 	svshape 27,27,27,15,1
+    1040:	19 f0 5a 5b 	svshape 27,27,31,0,0
+    1044:	59 f0 5a 5b 	svshape 27,27,31,0,1
+    1048:	99 f2 5a 5b 	svshape 27,27,31,5,0
+    104c:	d9 f2 5a 5b 	svshape 27,27,31,5,1
+    1050:	19 f5 5a 5b 	svshape 27,27,31,10,0
+    1054:	59 f5 5a 5b 	svshape 27,27,31,10,1
+    1058:	99 f7 5a 5b 	svshape 27,27,31,15,0
+    105c:	d9 f7 5a 5b 	svshape 27,27,31,15,1
+    1060:	19 78 5a 5b 	svshape 27,27,16,0,0
+    1064:	59 78 5a 5b 	svshape 27,27,16,0,1
+    1068:	99 7a 5a 5b 	svshape 27,27,16,5,0
+    106c:	d9 7a 5a 5b 	svshape 27,27,16,5,1
+    1070:	19 7d 5a 5b 	svshape 27,27,16,10,0
+    1074:	59 7d 5a 5b 	svshape 27,27,16,10,1
+    1078:	99 7f 5a 5b 	svshape 27,27,16,15,0
+    107c:	d9 7f 5a 5b 	svshape 27,27,16,15,1
+    1080:	19 00 5e 5b 	svshape 27,31,1,0,0
+    1084:	59 00 5e 5b 	svshape 27,31,1,0,1
+    1088:	99 02 5e 5b 	svshape 27,31,1,5,0
+    108c:	d9 02 5e 5b 	svshape 27,31,1,5,1
+    1090:	19 05 5e 5b 	svshape 27,31,1,10,0
+    1094:	59 05 5e 5b 	svshape 27,31,1,10,1
+    1098:	99 07 5e 5b 	svshape 27,31,1,15,0
+    109c:	d9 07 5e 5b 	svshape 27,31,1,15,1
+    10a0:	19 48 5e 5b 	svshape 27,31,10,0,0
+    10a4:	59 48 5e 5b 	svshape 27,31,10,0,1
+    10a8:	99 4a 5e 5b 	svshape 27,31,10,5,0
+    10ac:	d9 4a 5e 5b 	svshape 27,31,10,5,1
+    10b0:	19 4d 5e 5b 	svshape 27,31,10,10,0
+    10b4:	59 4d 5e 5b 	svshape 27,31,10,10,1
+    10b8:	99 4f 5e 5b 	svshape 27,31,10,15,0
+    10bc:	d9 4f 5e 5b 	svshape 27,31,10,15,1
+    10c0:	19 a0 5e 5b 	svshape 27,31,21,0,0
+    10c4:	59 a0 5e 5b 	svshape 27,31,21,0,1
+    10c8:	99 a2 5e 5b 	svshape 27,31,21,5,0
+    10cc:	d9 a2 5e 5b 	svshape 27,31,21,5,1
+    10d0:	19 a5 5e 5b 	svshape 27,31,21,10,0
+    10d4:	59 a5 5e 5b 	svshape 27,31,21,10,1
+    10d8:	99 a7 5e 5b 	svshape 27,31,21,15,0
+    10dc:	d9 a7 5e 5b 	svshape 27,31,21,15,1
+    10e0:	19 d0 5e 5b 	svshape 27,31,27,0,0
+    10e4:	59 d0 5e 5b 	svshape 27,31,27,0,1
+    10e8:	99 d2 5e 5b 	svshape 27,31,27,5,0
+    10ec:	d9 d2 5e 5b 	svshape 27,31,27,5,1
+    10f0:	19 d5 5e 5b 	svshape 27,31,27,10,0
+    10f4:	59 d5 5e 5b 	svshape 27,31,27,10,1
+    10f8:	99 d7 5e 5b 	svshape 27,31,27,15,0
+    10fc:	d9 d7 5e 5b 	svshape 27,31,27,15,1
+    1100:	19 f0 5e 5b 	svshape 27,31,31,0,0
+    1104:	59 f0 5e 5b 	svshape 27,31,31,0,1
+    1108:	99 f2 5e 5b 	svshape 27,31,31,5,0
+    110c:	d9 f2 5e 5b 	svshape 27,31,31,5,1
+    1110:	19 f5 5e 5b 	svshape 27,31,31,10,0
+    1114:	59 f5 5e 5b 	svshape 27,31,31,10,1
+    1118:	99 f7 5e 5b 	svshape 27,31,31,15,0
+    111c:	d9 f7 5e 5b 	svshape 27,31,31,15,1
+    1120:	19 78 5e 5b 	svshape 27,31,16,0,0
+    1124:	59 78 5e 5b 	svshape 27,31,16,0,1
+    1128:	99 7a 5e 5b 	svshape 27,31,16,5,0
+    112c:	d9 7a 5e 5b 	svshape 27,31,16,5,1
+    1130:	19 7d 5e 5b 	svshape 27,31,16,10,0
+    1134:	59 7d 5e 5b 	svshape 27,31,16,10,1
+    1138:	99 7f 5e 5b 	svshape 27,31,16,15,0
+    113c:	d9 7f 5e 5b 	svshape 27,31,16,15,1
+    1140:	19 00 4f 5b 	svshape 27,16,1,0,0
+    1144:	59 00 4f 5b 	svshape 27,16,1,0,1
+    1148:	99 02 4f 5b 	svshape 27,16,1,5,0
+    114c:	d9 02 4f 5b 	svshape 27,16,1,5,1
+    1150:	19 05 4f 5b 	svshape 27,16,1,10,0
+    1154:	59 05 4f 5b 	svshape 27,16,1,10,1
+    1158:	99 07 4f 5b 	svshape 27,16,1,15,0
+    115c:	d9 07 4f 5b 	svshape 27,16,1,15,1
+    1160:	19 48 4f 5b 	svshape 27,16,10,0,0
+    1164:	59 48 4f 5b 	svshape 27,16,10,0,1
+    1168:	99 4a 4f 5b 	svshape 27,16,10,5,0
+    116c:	d9 4a 4f 5b 	svshape 27,16,10,5,1
+    1170:	19 4d 4f 5b 	svshape 27,16,10,10,0
+    1174:	59 4d 4f 5b 	svshape 27,16,10,10,1
+    1178:	99 4f 4f 5b 	svshape 27,16,10,15,0
+    117c:	d9 4f 4f 5b 	svshape 27,16,10,15,1
+    1180:	19 a0 4f 5b 	svshape 27,16,21,0,0
+    1184:	59 a0 4f 5b 	svshape 27,16,21,0,1
+    1188:	99 a2 4f 5b 	svshape 27,16,21,5,0
+    118c:	d9 a2 4f 5b 	svshape 27,16,21,5,1
+    1190:	19 a5 4f 5b 	svshape 27,16,21,10,0
+    1194:	59 a5 4f 5b 	svshape 27,16,21,10,1
+    1198:	99 a7 4f 5b 	svshape 27,16,21,15,0
+    119c:	d9 a7 4f 5b 	svshape 27,16,21,15,1
+    11a0:	19 d0 4f 5b 	svshape 27,16,27,0,0
+    11a4:	59 d0 4f 5b 	svshape 27,16,27,0,1
+    11a8:	99 d2 4f 5b 	svshape 27,16,27,5,0
+    11ac:	d9 d2 4f 5b 	svshape 27,16,27,5,1
+    11b0:	19 d5 4f 5b 	svshape 27,16,27,10,0
+    11b4:	59 d5 4f 5b 	svshape 27,16,27,10,1
+    11b8:	99 d7 4f 5b 	svshape 27,16,27,15,0
+    11bc:	d9 d7 4f 5b 	svshape 27,16,27,15,1
+    11c0:	19 f0 4f 5b 	svshape 27,16,31,0,0
+    11c4:	59 f0 4f 5b 	svshape 27,16,31,0,1
+    11c8:	99 f2 4f 5b 	svshape 27,16,31,5,0
+    11cc:	d9 f2 4f 5b 	svshape 27,16,31,5,1
+    11d0:	19 f5 4f 5b 	svshape 27,16,31,10,0
+    11d4:	59 f5 4f 5b 	svshape 27,16,31,10,1
+    11d8:	99 f7 4f 5b 	svshape 27,16,31,15,0
+    11dc:	d9 f7 4f 5b 	svshape 27,16,31,15,1
+    11e0:	19 78 4f 5b 	svshape 27,16,16,0,0
+    11e4:	59 78 4f 5b 	svshape 27,16,16,0,1
+    11e8:	99 7a 4f 5b 	svshape 27,16,16,5,0
+    11ec:	d9 7a 4f 5b 	svshape 27,16,16,5,1
+    11f0:	19 7d 4f 5b 	svshape 27,16,16,10,0
+    11f4:	59 7d 4f 5b 	svshape 27,16,16,10,1
+    11f8:	99 7f 4f 5b 	svshape 27,16,16,15,0
+    11fc:	d9 7f 4f 5b 	svshape 27,16,16,15,1
+    1200:	19 00 c0 5b 	svshape 31,1,1,0,0
+    1204:	59 00 c0 5b 	svshape 31,1,1,0,1
+    1208:	99 02 c0 5b 	svshape 31,1,1,5,0
+    120c:	d9 02 c0 5b 	svshape 31,1,1,5,1
+    1210:	19 05 c0 5b 	svshape 31,1,1,10,0
+    1214:	59 05 c0 5b 	svshape 31,1,1,10,1
+    1218:	99 07 c0 5b 	svshape 31,1,1,15,0
+    121c:	d9 07 c0 5b 	svshape 31,1,1,15,1
+    1220:	19 48 c0 5b 	svshape 31,1,10,0,0
+    1224:	59 48 c0 5b 	svshape 31,1,10,0,1
+    1228:	99 4a c0 5b 	svshape 31,1,10,5,0
+    122c:	d9 4a c0 5b 	svshape 31,1,10,5,1
+    1230:	19 4d c0 5b 	svshape 31,1,10,10,0
+    1234:	59 4d c0 5b 	svshape 31,1,10,10,1
+    1238:	99 4f c0 5b 	svshape 31,1,10,15,0
+    123c:	d9 4f c0 5b 	svshape 31,1,10,15,1
+    1240:	19 a0 c0 5b 	svshape 31,1,21,0,0
+    1244:	59 a0 c0 5b 	svshape 31,1,21,0,1
+    1248:	99 a2 c0 5b 	svshape 31,1,21,5,0
+    124c:	d9 a2 c0 5b 	svshape 31,1,21,5,1
+    1250:	19 a5 c0 5b 	svshape 31,1,21,10,0
+    1254:	59 a5 c0 5b 	svshape 31,1,21,10,1
+    1258:	99 a7 c0 5b 	svshape 31,1,21,15,0
+    125c:	d9 a7 c0 5b 	svshape 31,1,21,15,1
+    1260:	19 d0 c0 5b 	svshape 31,1,27,0,0
+    1264:	59 d0 c0 5b 	svshape 31,1,27,0,1
+    1268:	99 d2 c0 5b 	svshape 31,1,27,5,0
+    126c:	d9 d2 c0 5b 	svshape 31,1,27,5,1
+    1270:	19 d5 c0 5b 	svshape 31,1,27,10,0
+    1274:	59 d5 c0 5b 	svshape 31,1,27,10,1
+    1278:	99 d7 c0 5b 	svshape 31,1,27,15,0
+    127c:	d9 d7 c0 5b 	svshape 31,1,27,15,1
+    1280:	19 f0 c0 5b 	svshape 31,1,31,0,0
+    1284:	59 f0 c0 5b 	svshape 31,1,31,0,1
+    1288:	99 f2 c0 5b 	svshape 31,1,31,5,0
+    128c:	d9 f2 c0 5b 	svshape 31,1,31,5,1
+    1290:	19 f5 c0 5b 	svshape 31,1,31,10,0
+    1294:	59 f5 c0 5b 	svshape 31,1,31,10,1
+    1298:	99 f7 c0 5b 	svshape 31,1,31,15,0
+    129c:	d9 f7 c0 5b 	svshape 31,1,31,15,1
+    12a0:	19 78 c0 5b 	svshape 31,1,16,0,0
+    12a4:	59 78 c0 5b 	svshape 31,1,16,0,1
+    12a8:	99 7a c0 5b 	svshape 31,1,16,5,0
+    12ac:	d9 7a c0 5b 	svshape 31,1,16,5,1
+    12b0:	19 7d c0 5b 	svshape 31,1,16,10,0
+    12b4:	59 7d c0 5b 	svshape 31,1,16,10,1
+    12b8:	99 7f c0 5b 	svshape 31,1,16,15,0
+    12bc:	d9 7f c0 5b 	svshape 31,1,16,15,1
+    12c0:	19 00 c9 5b 	svshape 31,10,1,0,0
+    12c4:	59 00 c9 5b 	svshape 31,10,1,0,1
+    12c8:	99 02 c9 5b 	svshape 31,10,1,5,0
+    12cc:	d9 02 c9 5b 	svshape 31,10,1,5,1
+    12d0:	19 05 c9 5b 	svshape 31,10,1,10,0
+    12d4:	59 05 c9 5b 	svshape 31,10,1,10,1
+    12d8:	99 07 c9 5b 	svshape 31,10,1,15,0
+    12dc:	d9 07 c9 5b 	svshape 31,10,1,15,1
+    12e0:	19 48 c9 5b 	svshape 31,10,10,0,0
+    12e4:	59 48 c9 5b 	svshape 31,10,10,0,1
+    12e8:	99 4a c9 5b 	svshape 31,10,10,5,0
+    12ec:	d9 4a c9 5b 	svshape 31,10,10,5,1
+    12f0:	19 4d c9 5b 	svshape 31,10,10,10,0
+    12f4:	59 4d c9 5b 	svshape 31,10,10,10,1
+    12f8:	99 4f c9 5b 	svshape 31,10,10,15,0
+    12fc:	d9 4f c9 5b 	svshape 31,10,10,15,1
+    1300:	19 a0 c9 5b 	svshape 31,10,21,0,0
+    1304:	59 a0 c9 5b 	svshape 31,10,21,0,1
+    1308:	99 a2 c9 5b 	svshape 31,10,21,5,0
+    130c:	d9 a2 c9 5b 	svshape 31,10,21,5,1
+    1310:	19 a5 c9 5b 	svshape 31,10,21,10,0
+    1314:	59 a5 c9 5b 	svshape 31,10,21,10,1
+    1318:	99 a7 c9 5b 	svshape 31,10,21,15,0
+    131c:	d9 a7 c9 5b 	svshape 31,10,21,15,1
+    1320:	19 d0 c9 5b 	svshape 31,10,27,0,0
+    1324:	59 d0 c9 5b 	svshape 31,10,27,0,1
+    1328:	99 d2 c9 5b 	svshape 31,10,27,5,0
+    132c:	d9 d2 c9 5b 	svshape 31,10,27,5,1
+    1330:	19 d5 c9 5b 	svshape 31,10,27,10,0
+    1334:	59 d5 c9 5b 	svshape 31,10,27,10,1
+    1338:	99 d7 c9 5b 	svshape 31,10,27,15,0
+    133c:	d9 d7 c9 5b 	svshape 31,10,27,15,1
+    1340:	19 f0 c9 5b 	svshape 31,10,31,0,0
+    1344:	59 f0 c9 5b 	svshape 31,10,31,0,1
+    1348:	99 f2 c9 5b 	svshape 31,10,31,5,0
+    134c:	d9 f2 c9 5b 	svshape 31,10,31,5,1
+    1350:	19 f5 c9 5b 	svshape 31,10,31,10,0
+    1354:	59 f5 c9 5b 	svshape 31,10,31,10,1
+    1358:	99 f7 c9 5b 	svshape 31,10,31,15,0
+    135c:	d9 f7 c9 5b 	svshape 31,10,31,15,1
+    1360:	19 78 c9 5b 	svshape 31,10,16,0,0
+    1364:	59 78 c9 5b 	svshape 31,10,16,0,1
+    1368:	99 7a c9 5b 	svshape 31,10,16,5,0
+    136c:	d9 7a c9 5b 	svshape 31,10,16,5,1
+    1370:	19 7d c9 5b 	svshape 31,10,16,10,0
+    1374:	59 7d c9 5b 	svshape 31,10,16,10,1
+    1378:	99 7f c9 5b 	svshape 31,10,16,15,0
+    137c:	d9 7f c9 5b 	svshape 31,10,16,15,1
+    1380:	19 00 d4 5b 	svshape 31,21,1,0,0
+    1384:	59 00 d4 5b 	svshape 31,21,1,0,1
+    1388:	99 02 d4 5b 	svshape 31,21,1,5,0
+    138c:	d9 02 d4 5b 	svshape 31,21,1,5,1
+    1390:	19 05 d4 5b 	svshape 31,21,1,10,0
+    1394:	59 05 d4 5b 	svshape 31,21,1,10,1
+    1398:	99 07 d4 5b 	svshape 31,21,1,15,0
+    139c:	d9 07 d4 5b 	svshape 31,21,1,15,1
+    13a0:	19 48 d4 5b 	svshape 31,21,10,0,0
+    13a4:	59 48 d4 5b 	svshape 31,21,10,0,1
+    13a8:	99 4a d4 5b 	svshape 31,21,10,5,0
+    13ac:	d9 4a d4 5b 	svshape 31,21,10,5,1
+    13b0:	19 4d d4 5b 	svshape 31,21,10,10,0
+    13b4:	59 4d d4 5b 	svshape 31,21,10,10,1
+    13b8:	99 4f d4 5b 	svshape 31,21,10,15,0
+    13bc:	d9 4f d4 5b 	svshape 31,21,10,15,1
+    13c0:	19 a0 d4 5b 	svshape 31,21,21,0,0
+    13c4:	59 a0 d4 5b 	svshape 31,21,21,0,1
+    13c8:	99 a2 d4 5b 	svshape 31,21,21,5,0
+    13cc:	d9 a2 d4 5b 	svshape 31,21,21,5,1
+    13d0:	19 a5 d4 5b 	svshape 31,21,21,10,0
+    13d4:	59 a5 d4 5b 	svshape 31,21,21,10,1
+    13d8:	99 a7 d4 5b 	svshape 31,21,21,15,0
+    13dc:	d9 a7 d4 5b 	svshape 31,21,21,15,1
+    13e0:	19 d0 d4 5b 	svshape 31,21,27,0,0
+    13e4:	59 d0 d4 5b 	svshape 31,21,27,0,1
+    13e8:	99 d2 d4 5b 	svshape 31,21,27,5,0
+    13ec:	d9 d2 d4 5b 	svshape 31,21,27,5,1
+    13f0:	19 d5 d4 5b 	svshape 31,21,27,10,0
+    13f4:	59 d5 d4 5b 	svshape 31,21,27,10,1
+    13f8:	99 d7 d4 5b 	svshape 31,21,27,15,0
+    13fc:	d9 d7 d4 5b 	svshape 31,21,27,15,1
+    1400:	19 f0 d4 5b 	svshape 31,21,31,0,0
+    1404:	59 f0 d4 5b 	svshape 31,21,31,0,1
+    1408:	99 f2 d4 5b 	svshape 31,21,31,5,0
+    140c:	d9 f2 d4 5b 	svshape 31,21,31,5,1
+    1410:	19 f5 d4 5b 	svshape 31,21,31,10,0
+    1414:	59 f5 d4 5b 	svshape 31,21,31,10,1
+    1418:	99 f7 d4 5b 	svshape 31,21,31,15,0
+    141c:	d9 f7 d4 5b 	svshape 31,21,31,15,1
+    1420:	19 78 d4 5b 	svshape 31,21,16,0,0
+    1424:	59 78 d4 5b 	svshape 31,21,16,0,1
+    1428:	99 7a d4 5b 	svshape 31,21,16,5,0
+    142c:	d9 7a d4 5b 	svshape 31,21,16,5,1
+    1430:	19 7d d4 5b 	svshape 31,21,16,10,0
+    1434:	59 7d d4 5b 	svshape 31,21,16,10,1
+    1438:	99 7f d4 5b 	svshape 31,21,16,15,0
+    143c:	d9 7f d4 5b 	svshape 31,21,16,15,1
+    1440:	19 00 da 5b 	svshape 31,27,1,0,0
+    1444:	59 00 da 5b 	svshape 31,27,1,0,1
+    1448:	99 02 da 5b 	svshape 31,27,1,5,0
+    144c:	d9 02 da 5b 	svshape 31,27,1,5,1
+    1450:	19 05 da 5b 	svshape 31,27,1,10,0
+    1454:	59 05 da 5b 	svshape 31,27,1,10,1
+    1458:	99 07 da 5b 	svshape 31,27,1,15,0
+    145c:	d9 07 da 5b 	svshape 31,27,1,15,1
+    1460:	19 48 da 5b 	svshape 31,27,10,0,0
+    1464:	59 48 da 5b 	svshape 31,27,10,0,1
+    1468:	99 4a da 5b 	svshape 31,27,10,5,0
+    146c:	d9 4a da 5b 	svshape 31,27,10,5,1
+    1470:	19 4d da 5b 	svshape 31,27,10,10,0
+    1474:	59 4d da 5b 	svshape 31,27,10,10,1
+    1478:	99 4f da 5b 	svshape 31,27,10,15,0
+    147c:	d9 4f da 5b 	svshape 31,27,10,15,1
+    1480:	19 a0 da 5b 	svshape 31,27,21,0,0
+    1484:	59 a0 da 5b 	svshape 31,27,21,0,1
+    1488:	99 a2 da 5b 	svshape 31,27,21,5,0
+    148c:	d9 a2 da 5b 	svshape 31,27,21,5,1
+    1490:	19 a5 da 5b 	svshape 31,27,21,10,0
+    1494:	59 a5 da 5b 	svshape 31,27,21,10,1
+    1498:	99 a7 da 5b 	svshape 31,27,21,15,0
+    149c:	d9 a7 da 5b 	svshape 31,27,21,15,1
+    14a0:	19 d0 da 5b 	svshape 31,27,27,0,0
+    14a4:	59 d0 da 5b 	svshape 31,27,27,0,1
+    14a8:	99 d2 da 5b 	svshape 31,27,27,5,0
+    14ac:	d9 d2 da 5b 	svshape 31,27,27,5,1
+    14b0:	19 d5 da 5b 	svshape 31,27,27,10,0
+    14b4:	59 d5 da 5b 	svshape 31,27,27,10,1
+    14b8:	99 d7 da 5b 	svshape 31,27,27,15,0
+    14bc:	d9 d7 da 5b 	svshape 31,27,27,15,1
+    14c0:	19 f0 da 5b 	svshape 31,27,31,0,0
+    14c4:	59 f0 da 5b 	svshape 31,27,31,0,1
+    14c8:	99 f2 da 5b 	svshape 31,27,31,5,0
+    14cc:	d9 f2 da 5b 	svshape 31,27,31,5,1
+    14d0:	19 f5 da 5b 	svshape 31,27,31,10,0
+    14d4:	59 f5 da 5b 	svshape 31,27,31,10,1
+    14d8:	99 f7 da 5b 	svshape 31,27,31,15,0
+    14dc:	d9 f7 da 5b 	svshape 31,27,31,15,1
+    14e0:	19 78 da 5b 	svshape 31,27,16,0,0
+    14e4:	59 78 da 5b 	svshape 31,27,16,0,1
+    14e8:	99 7a da 5b 	svshape 31,27,16,5,0
+    14ec:	d9 7a da 5b 	svshape 31,27,16,5,1
+    14f0:	19 7d da 5b 	svshape 31,27,16,10,0
+    14f4:	59 7d da 5b 	svshape 31,27,16,10,1
+    14f8:	99 7f da 5b 	svshape 31,27,16,15,0
+    14fc:	d9 7f da 5b 	svshape 31,27,16,15,1
+    1500:	19 00 de 5b 	svshape 31,31,1,0,0
+    1504:	59 00 de 5b 	svshape 31,31,1,0,1
+    1508:	99 02 de 5b 	svshape 31,31,1,5,0
+    150c:	d9 02 de 5b 	svshape 31,31,1,5,1
+    1510:	19 05 de 5b 	svshape 31,31,1,10,0
+    1514:	59 05 de 5b 	svshape 31,31,1,10,1
+    1518:	99 07 de 5b 	svshape 31,31,1,15,0
+    151c:	d9 07 de 5b 	svshape 31,31,1,15,1
+    1520:	19 48 de 5b 	svshape 31,31,10,0,0
+    1524:	59 48 de 5b 	svshape 31,31,10,0,1
+    1528:	99 4a de 5b 	svshape 31,31,10,5,0
+    152c:	d9 4a de 5b 	svshape 31,31,10,5,1
+    1530:	19 4d de 5b 	svshape 31,31,10,10,0
+    1534:	59 4d de 5b 	svshape 31,31,10,10,1
+    1538:	99 4f de 5b 	svshape 31,31,10,15,0
+    153c:	d9 4f de 5b 	svshape 31,31,10,15,1
+    1540:	19 a0 de 5b 	svshape 31,31,21,0,0
+    1544:	59 a0 de 5b 	svshape 31,31,21,0,1
+    1548:	99 a2 de 5b 	svshape 31,31,21,5,0
+    154c:	d9 a2 de 5b 	svshape 31,31,21,5,1
+    1550:	19 a5 de 5b 	svshape 31,31,21,10,0
+    1554:	59 a5 de 5b 	svshape 31,31,21,10,1
+    1558:	99 a7 de 5b 	svshape 31,31,21,15,0
+    155c:	d9 a7 de 5b 	svshape 31,31,21,15,1
+    1560:	19 d0 de 5b 	svshape 31,31,27,0,0
+    1564:	59 d0 de 5b 	svshape 31,31,27,0,1
+    1568:	99 d2 de 5b 	svshape 31,31,27,5,0
+    156c:	d9 d2 de 5b 	svshape 31,31,27,5,1
+    1570:	19 d5 de 5b 	svshape 31,31,27,10,0
+    1574:	59 d5 de 5b 	svshape 31,31,27,10,1
+    1578:	99 d7 de 5b 	svshape 31,31,27,15,0
+    157c:	d9 d7 de 5b 	svshape 31,31,27,15,1
+    1580:	19 f0 de 5b 	svshape 31,31,31,0,0
+    1584:	59 f0 de 5b 	svshape 31,31,31,0,1
+    1588:	99 f2 de 5b 	svshape 31,31,31,5,0
+    158c:	d9 f2 de 5b 	svshape 31,31,31,5,1
+    1590:	19 f5 de 5b 	svshape 31,31,31,10,0
+    1594:	59 f5 de 5b 	svshape 31,31,31,10,1
+    1598:	99 f7 de 5b 	svshape 31,31,31,15,0
+    159c:	d9 f7 de 5b 	svshape 31,31,31,15,1
+    15a0:	19 78 de 5b 	svshape 31,31,16,0,0
+    15a4:	59 78 de 5b 	svshape 31,31,16,0,1
+    15a8:	99 7a de 5b 	svshape 31,31,16,5,0
+    15ac:	d9 7a de 5b 	svshape 31,31,16,5,1
+    15b0:	19 7d de 5b 	svshape 31,31,16,10,0
+    15b4:	59 7d de 5b 	svshape 31,31,16,10,1
+    15b8:	99 7f de 5b 	svshape 31,31,16,15,0
+    15bc:	d9 7f de 5b 	svshape 31,31,16,15,1
+    15c0:	19 00 cf 5b 	svshape 31,16,1,0,0
+    15c4:	59 00 cf 5b 	svshape 31,16,1,0,1
+    15c8:	99 02 cf 5b 	svshape 31,16,1,5,0
+    15cc:	d9 02 cf 5b 	svshape 31,16,1,5,1
+    15d0:	19 05 cf 5b 	svshape 31,16,1,10,0
+    15d4:	59 05 cf 5b 	svshape 31,16,1,10,1
+    15d8:	99 07 cf 5b 	svshape 31,16,1,15,0
+    15dc:	d9 07 cf 5b 	svshape 31,16,1,15,1
+    15e0:	19 48 cf 5b 	svshape 31,16,10,0,0
+    15e4:	59 48 cf 5b 	svshape 31,16,10,0,1
+    15e8:	99 4a cf 5b 	svshape 31,16,10,5,0
+    15ec:	d9 4a cf 5b 	svshape 31,16,10,5,1
+    15f0:	19 4d cf 5b 	svshape 31,16,10,10,0
+    15f4:	59 4d cf 5b 	svshape 31,16,10,10,1
+    15f8:	99 4f cf 5b 	svshape 31,16,10,15,0
+    15fc:	d9 4f cf 5b 	svshape 31,16,10,15,1
+    1600:	19 a0 cf 5b 	svshape 31,16,21,0,0
+    1604:	59 a0 cf 5b 	svshape 31,16,21,0,1
+    1608:	99 a2 cf 5b 	svshape 31,16,21,5,0
+    160c:	d9 a2 cf 5b 	svshape 31,16,21,5,1
+    1610:	19 a5 cf 5b 	svshape 31,16,21,10,0
+    1614:	59 a5 cf 5b 	svshape 31,16,21,10,1
+    1618:	99 a7 cf 5b 	svshape 31,16,21,15,0
+    161c:	d9 a7 cf 5b 	svshape 31,16,21,15,1
+    1620:	19 d0 cf 5b 	svshape 31,16,27,0,0
+    1624:	59 d0 cf 5b 	svshape 31,16,27,0,1
+    1628:	99 d2 cf 5b 	svshape 31,16,27,5,0
+    162c:	d9 d2 cf 5b 	svshape 31,16,27,5,1
+    1630:	19 d5 cf 5b 	svshape 31,16,27,10,0
+    1634:	59 d5 cf 5b 	svshape 31,16,27,10,1
+    1638:	99 d7 cf 5b 	svshape 31,16,27,15,0
+    163c:	d9 d7 cf 5b 	svshape 31,16,27,15,1
+    1640:	19 f0 cf 5b 	svshape 31,16,31,0,0
+    1644:	59 f0 cf 5b 	svshape 31,16,31,0,1
+    1648:	99 f2 cf 5b 	svshape 31,16,31,5,0
+    164c:	d9 f2 cf 5b 	svshape 31,16,31,5,1
+    1650:	19 f5 cf 5b 	svshape 31,16,31,10,0
+    1654:	59 f5 cf 5b 	svshape 31,16,31,10,1
+    1658:	99 f7 cf 5b 	svshape 31,16,31,15,0
+    165c:	d9 f7 cf 5b 	svshape 31,16,31,15,1
+    1660:	19 78 cf 5b 	svshape 31,16,16,0,0
+    1664:	59 78 cf 5b 	svshape 31,16,16,0,1
+    1668:	99 7a cf 5b 	svshape 31,16,16,5,0
+    166c:	d9 7a cf 5b 	svshape 31,16,16,5,1
+    1670:	19 7d cf 5b 	svshape 31,16,16,10,0
+    1674:	59 7d cf 5b 	svshape 31,16,16,10,1
+    1678:	99 7f cf 5b 	svshape 31,16,16,15,0
+    167c:	d9 7f cf 5b 	svshape 31,16,16,15,1
+    1680:	19 00 e0 59 	svshape 16,1,1,0,0
+    1684:	59 00 e0 59 	svshape 16,1,1,0,1
+    1688:	99 02 e0 59 	svshape 16,1,1,5,0
+    168c:	d9 02 e0 59 	svshape 16,1,1,5,1
+    1690:	19 05 e0 59 	svshape 16,1,1,10,0
+    1694:	59 05 e0 59 	svshape 16,1,1,10,1
+    1698:	99 07 e0 59 	svshape 16,1,1,15,0
+    169c:	d9 07 e0 59 	svshape 16,1,1,15,1
+    16a0:	19 48 e0 59 	svshape 16,1,10,0,0
+    16a4:	59 48 e0 59 	svshape 16,1,10,0,1
+    16a8:	99 4a e0 59 	svshape 16,1,10,5,0
+    16ac:	d9 4a e0 59 	svshape 16,1,10,5,1
+    16b0:	19 4d e0 59 	svshape 16,1,10,10,0
+    16b4:	59 4d e0 59 	svshape 16,1,10,10,1
+    16b8:	99 4f e0 59 	svshape 16,1,10,15,0
+    16bc:	d9 4f e0 59 	svshape 16,1,10,15,1
+    16c0:	19 a0 e0 59 	svshape 16,1,21,0,0
+    16c4:	59 a0 e0 59 	svshape 16,1,21,0,1
+    16c8:	99 a2 e0 59 	svshape 16,1,21,5,0
+    16cc:	d9 a2 e0 59 	svshape 16,1,21,5,1
+    16d0:	19 a5 e0 59 	svshape 16,1,21,10,0
+    16d4:	59 a5 e0 59 	svshape 16,1,21,10,1
+    16d8:	99 a7 e0 59 	svshape 16,1,21,15,0
+    16dc:	d9 a7 e0 59 	svshape 16,1,21,15,1
+    16e0:	19 d0 e0 59 	svshape 16,1,27,0,0
+    16e4:	59 d0 e0 59 	svshape 16,1,27,0,1
+    16e8:	99 d2 e0 59 	svshape 16,1,27,5,0
+    16ec:	d9 d2 e0 59 	svshape 16,1,27,5,1
+    16f0:	19 d5 e0 59 	svshape 16,1,27,10,0
+    16f4:	59 d5 e0 59 	svshape 16,1,27,10,1
+    16f8:	99 d7 e0 59 	svshape 16,1,27,15,0
+    16fc:	d9 d7 e0 59 	svshape 16,1,27,15,1
+    1700:	19 f0 e0 59 	svshape 16,1,31,0,0
+    1704:	59 f0 e0 59 	svshape 16,1,31,0,1
+    1708:	99 f2 e0 59 	svshape 16,1,31,5,0
+    170c:	d9 f2 e0 59 	svshape 16,1,31,5,1
+    1710:	19 f5 e0 59 	svshape 16,1,31,10,0
+    1714:	59 f5 e0 59 	svshape 16,1,31,10,1
+    1718:	99 f7 e0 59 	svshape 16,1,31,15,0
+    171c:	d9 f7 e0 59 	svshape 16,1,31,15,1
+    1720:	19 78 e0 59 	svshape 16,1,16,0,0
+    1724:	59 78 e0 59 	svshape 16,1,16,0,1
+    1728:	99 7a e0 59 	svshape 16,1,16,5,0
+    172c:	d9 7a e0 59 	svshape 16,1,16,5,1
+    1730:	19 7d e0 59 	svshape 16,1,16,10,0
+    1734:	59 7d e0 59 	svshape 16,1,16,10,1
+    1738:	99 7f e0 59 	svshape 16,1,16,15,0
+    173c:	d9 7f e0 59 	svshape 16,1,16,15,1
+    1740:	19 00 e9 59 	svshape 16,10,1,0,0
+    1744:	59 00 e9 59 	svshape 16,10,1,0,1
+    1748:	99 02 e9 59 	svshape 16,10,1,5,0
+    174c:	d9 02 e9 59 	svshape 16,10,1,5,1
+    1750:	19 05 e9 59 	svshape 16,10,1,10,0
+    1754:	59 05 e9 59 	svshape 16,10,1,10,1
+    1758:	99 07 e9 59 	svshape 16,10,1,15,0
+    175c:	d9 07 e9 59 	svshape 16,10,1,15,1
+    1760:	19 48 e9 59 	svshape 16,10,10,0,0
+    1764:	59 48 e9 59 	svshape 16,10,10,0,1
+    1768:	99 4a e9 59 	svshape 16,10,10,5,0
+    176c:	d9 4a e9 59 	svshape 16,10,10,5,1
+    1770:	19 4d e9 59 	svshape 16,10,10,10,0
+    1774:	59 4d e9 59 	svshape 16,10,10,10,1
+    1778:	99 4f e9 59 	svshape 16,10,10,15,0
+    177c:	d9 4f e9 59 	svshape 16,10,10,15,1
+    1780:	19 a0 e9 59 	svshape 16,10,21,0,0
+    1784:	59 a0 e9 59 	svshape 16,10,21,0,1
+    1788:	99 a2 e9 59 	svshape 16,10,21,5,0
+    178c:	d9 a2 e9 59 	svshape 16,10,21,5,1
+    1790:	19 a5 e9 59 	svshape 16,10,21,10,0
+    1794:	59 a5 e9 59 	svshape 16,10,21,10,1
+    1798:	99 a7 e9 59 	svshape 16,10,21,15,0
+    179c:	d9 a7 e9 59 	svshape 16,10,21,15,1
+    17a0:	19 d0 e9 59 	svshape 16,10,27,0,0
+    17a4:	59 d0 e9 59 	svshape 16,10,27,0,1
+    17a8:	99 d2 e9 59 	svshape 16,10,27,5,0
+    17ac:	d9 d2 e9 59 	svshape 16,10,27,5,1
+    17b0:	19 d5 e9 59 	svshape 16,10,27,10,0
+    17b4:	59 d5 e9 59 	svshape 16,10,27,10,1
+    17b8:	99 d7 e9 59 	svshape 16,10,27,15,0
+    17bc:	d9 d7 e9 59 	svshape 16,10,27,15,1
+    17c0:	19 f0 e9 59 	svshape 16,10,31,0,0
+    17c4:	59 f0 e9 59 	svshape 16,10,31,0,1
+    17c8:	99 f2 e9 59 	svshape 16,10,31,5,0
+    17cc:	d9 f2 e9 59 	svshape 16,10,31,5,1
+    17d0:	19 f5 e9 59 	svshape 16,10,31,10,0
+    17d4:	59 f5 e9 59 	svshape 16,10,31,10,1
+    17d8:	99 f7 e9 59 	svshape 16,10,31,15,0
+    17dc:	d9 f7 e9 59 	svshape 16,10,31,15,1
+    17e0:	19 78 e9 59 	svshape 16,10,16,0,0
+    17e4:	59 78 e9 59 	svshape 16,10,16,0,1
+    17e8:	99 7a e9 59 	svshape 16,10,16,5,0
+    17ec:	d9 7a e9 59 	svshape 16,10,16,5,1
+    17f0:	19 7d e9 59 	svshape 16,10,16,10,0
+    17f4:	59 7d e9 59 	svshape 16,10,16,10,1
+    17f8:	99 7f e9 59 	svshape 16,10,16,15,0
+    17fc:	d9 7f e9 59 	svshape 16,10,16,15,1
+    1800:	19 00 f4 59 	svshape 16,21,1,0,0
+    1804:	59 00 f4 59 	svshape 16,21,1,0,1
+    1808:	99 02 f4 59 	svshape 16,21,1,5,0
+    180c:	d9 02 f4 59 	svshape 16,21,1,5,1
+    1810:	19 05 f4 59 	svshape 16,21,1,10,0
+    1814:	59 05 f4 59 	svshape 16,21,1,10,1
+    1818:	99 07 f4 59 	svshape 16,21,1,15,0
+    181c:	d9 07 f4 59 	svshape 16,21,1,15,1
+    1820:	19 48 f4 59 	svshape 16,21,10,0,0
+    1824:	59 48 f4 59 	svshape 16,21,10,0,1
+    1828:	99 4a f4 59 	svshape 16,21,10,5,0
+    182c:	d9 4a f4 59 	svshape 16,21,10,5,1
+    1830:	19 4d f4 59 	svshape 16,21,10,10,0
+    1834:	59 4d f4 59 	svshape 16,21,10,10,1
+    1838:	99 4f f4 59 	svshape 16,21,10,15,0
+    183c:	d9 4f f4 59 	svshape 16,21,10,15,1
+    1840:	19 a0 f4 59 	svshape 16,21,21,0,0
+    1844:	59 a0 f4 59 	svshape 16,21,21,0,1
+    1848:	99 a2 f4 59 	svshape 16,21,21,5,0
+    184c:	d9 a2 f4 59 	svshape 16,21,21,5,1
+    1850:	19 a5 f4 59 	svshape 16,21,21,10,0
+    1854:	59 a5 f4 59 	svshape 16,21,21,10,1
+    1858:	99 a7 f4 59 	svshape 16,21,21,15,0
+    185c:	d9 a7 f4 59 	svshape 16,21,21,15,1
+    1860:	19 d0 f4 59 	svshape 16,21,27,0,0
+    1864:	59 d0 f4 59 	svshape 16,21,27,0,1
+    1868:	99 d2 f4 59 	svshape 16,21,27,5,0
+    186c:	d9 d2 f4 59 	svshape 16,21,27,5,1
+    1870:	19 d5 f4 59 	svshape 16,21,27,10,0
+    1874:	59 d5 f4 59 	svshape 16,21,27,10,1
+    1878:	99 d7 f4 59 	svshape 16,21,27,15,0
+    187c:	d9 d7 f4 59 	svshape 16,21,27,15,1
+    1880:	19 f0 f4 59 	svshape 16,21,31,0,0
+    1884:	59 f0 f4 59 	svshape 16,21,31,0,1
+    1888:	99 f2 f4 59 	svshape 16,21,31,5,0
+    188c:	d9 f2 f4 59 	svshape 16,21,31,5,1
+    1890:	19 f5 f4 59 	svshape 16,21,31,10,0
+    1894:	59 f5 f4 59 	svshape 16,21,31,10,1
+    1898:	99 f7 f4 59 	svshape 16,21,31,15,0
+    189c:	d9 f7 f4 59 	svshape 16,21,31,15,1
+    18a0:	19 78 f4 59 	svshape 16,21,16,0,0
+    18a4:	59 78 f4 59 	svshape 16,21,16,0,1
+    18a8:	99 7a f4 59 	svshape 16,21,16,5,0
+    18ac:	d9 7a f4 59 	svshape 16,21,16,5,1
+    18b0:	19 7d f4 59 	svshape 16,21,16,10,0
+    18b4:	59 7d f4 59 	svshape 16,21,16,10,1
+    18b8:	99 7f f4 59 	svshape 16,21,16,15,0
+    18bc:	d9 7f f4 59 	svshape 16,21,16,15,1
+    18c0:	19 00 fa 59 	svshape 16,27,1,0,0
+    18c4:	59 00 fa 59 	svshape 16,27,1,0,1
+    18c8:	99 02 fa 59 	svshape 16,27,1,5,0
+    18cc:	d9 02 fa 59 	svshape 16,27,1,5,1
+    18d0:	19 05 fa 59 	svshape 16,27,1,10,0
+    18d4:	59 05 fa 59 	svshape 16,27,1,10,1
+    18d8:	99 07 fa 59 	svshape 16,27,1,15,0
+    18dc:	d9 07 fa 59 	svshape 16,27,1,15,1
+    18e0:	19 48 fa 59 	svshape 16,27,10,0,0
+    18e4:	59 48 fa 59 	svshape 16,27,10,0,1
+    18e8:	99 4a fa 59 	svshape 16,27,10,5,0
+    18ec:	d9 4a fa 59 	svshape 16,27,10,5,1
+    18f0:	19 4d fa 59 	svshape 16,27,10,10,0
+    18f4:	59 4d fa 59 	svshape 16,27,10,10,1
+    18f8:	99 4f fa 59 	svshape 16,27,10,15,0
+    18fc:	d9 4f fa 59 	svshape 16,27,10,15,1
+    1900:	19 a0 fa 59 	svshape 16,27,21,0,0
+    1904:	59 a0 fa 59 	svshape 16,27,21,0,1
+    1908:	99 a2 fa 59 	svshape 16,27,21,5,0
+    190c:	d9 a2 fa 59 	svshape 16,27,21,5,1
+    1910:	19 a5 fa 59 	svshape 16,27,21,10,0
+    1914:	59 a5 fa 59 	svshape 16,27,21,10,1
+    1918:	99 a7 fa 59 	svshape 16,27,21,15,0
+    191c:	d9 a7 fa 59 	svshape 16,27,21,15,1
+    1920:	19 d0 fa 59 	svshape 16,27,27,0,0
+    1924:	59 d0 fa 59 	svshape 16,27,27,0,1
+    1928:	99 d2 fa 59 	svshape 16,27,27,5,0
+    192c:	d9 d2 fa 59 	svshape 16,27,27,5,1
+    1930:	19 d5 fa 59 	svshape 16,27,27,10,0
+    1934:	59 d5 fa 59 	svshape 16,27,27,10,1
+    1938:	99 d7 fa 59 	svshape 16,27,27,15,0
+    193c:	d9 d7 fa 59 	svshape 16,27,27,15,1
+    1940:	19 f0 fa 59 	svshape 16,27,31,0,0
+    1944:	59 f0 fa 59 	svshape 16,27,31,0,1
+    1948:	99 f2 fa 59 	svshape 16,27,31,5,0
+    194c:	d9 f2 fa 59 	svshape 16,27,31,5,1
+    1950:	19 f5 fa 59 	svshape 16,27,31,10,0
+    1954:	59 f5 fa 59 	svshape 16,27,31,10,1
+    1958:	99 f7 fa 59 	svshape 16,27,31,15,0
+    195c:	d9 f7 fa 59 	svshape 16,27,31,15,1
+    1960:	19 78 fa 59 	svshape 16,27,16,0,0
+    1964:	59 78 fa 59 	svshape 16,27,16,0,1
+    1968:	99 7a fa 59 	svshape 16,27,16,5,0
+    196c:	d9 7a fa 59 	svshape 16,27,16,5,1
+    1970:	19 7d fa 59 	svshape 16,27,16,10,0
+    1974:	59 7d fa 59 	svshape 16,27,16,10,1
+    1978:	99 7f fa 59 	svshape 16,27,16,15,0
+    197c:	d9 7f fa 59 	svshape 16,27,16,15,1
+    1980:	19 00 fe 59 	svshape 16,31,1,0,0
+    1984:	59 00 fe 59 	svshape 16,31,1,0,1
+    1988:	99 02 fe 59 	svshape 16,31,1,5,0
+    198c:	d9 02 fe 59 	svshape 16,31,1,5,1
+    1990:	19 05 fe 59 	svshape 16,31,1,10,0
+    1994:	59 05 fe 59 	svshape 16,31,1,10,1
+    1998:	99 07 fe 59 	svshape 16,31,1,15,0
+    199c:	d9 07 fe 59 	svshape 16,31,1,15,1
+    19a0:	19 48 fe 59 	svshape 16,31,10,0,0
+    19a4:	59 48 fe 59 	svshape 16,31,10,0,1
+    19a8:	99 4a fe 59 	svshape 16,31,10,5,0
+    19ac:	d9 4a fe 59 	svshape 16,31,10,5,1
+    19b0:	19 4d fe 59 	svshape 16,31,10,10,0
+    19b4:	59 4d fe 59 	svshape 16,31,10,10,1
+    19b8:	99 4f fe 59 	svshape 16,31,10,15,0
+    19bc:	d9 4f fe 59 	svshape 16,31,10,15,1
+    19c0:	19 a0 fe 59 	svshape 16,31,21,0,0
+    19c4:	59 a0 fe 59 	svshape 16,31,21,0,1
+    19c8:	99 a2 fe 59 	svshape 16,31,21,5,0
+    19cc:	d9 a2 fe 59 	svshape 16,31,21,5,1
+    19d0:	19 a5 fe 59 	svshape 16,31,21,10,0
+    19d4:	59 a5 fe 59 	svshape 16,31,21,10,1
+    19d8:	99 a7 fe 59 	svshape 16,31,21,15,0
+    19dc:	d9 a7 fe 59 	svshape 16,31,21,15,1
+    19e0:	19 d0 fe 59 	svshape 16,31,27,0,0
+    19e4:	59 d0 fe 59 	svshape 16,31,27,0,1
+    19e8:	99 d2 fe 59 	svshape 16,31,27,5,0
+    19ec:	d9 d2 fe 59 	svshape 16,31,27,5,1
+    19f0:	19 d5 fe 59 	svshape 16,31,27,10,0
+    19f4:	59 d5 fe 59 	svshape 16,31,27,10,1
+    19f8:	99 d7 fe 59 	svshape 16,31,27,15,0
+    19fc:	d9 d7 fe 59 	svshape 16,31,27,15,1
+    1a00:	19 f0 fe 59 	svshape 16,31,31,0,0
+    1a04:	59 f0 fe 59 	svshape 16,31,31,0,1
+    1a08:	99 f2 fe 59 	svshape 16,31,31,5,0
+    1a0c:	d9 f2 fe 59 	svshape 16,31,31,5,1
+    1a10:	19 f5 fe 59 	svshape 16,31,31,10,0
+    1a14:	59 f5 fe 59 	svshape 16,31,31,10,1
+    1a18:	99 f7 fe 59 	svshape 16,31,31,15,0
+    1a1c:	d9 f7 fe 59 	svshape 16,31,31,15,1
+    1a20:	19 78 fe 59 	svshape 16,31,16,0,0
+    1a24:	59 78 fe 59 	svshape 16,31,16,0,1
+    1a28:	99 7a fe 59 	svshape 16,31,16,5,0
+    1a2c:	d9 7a fe 59 	svshape 16,31,16,5,1
+    1a30:	19 7d fe 59 	svshape 16,31,16,10,0
+    1a34:	59 7d fe 59 	svshape 16,31,16,10,1
+    1a38:	99 7f fe 59 	svshape 16,31,16,15,0
+    1a3c:	d9 7f fe 59 	svshape 16,31,16,15,1
+    1a40:	19 00 ef 59 	svshape 16,16,1,0,0
+    1a44:	59 00 ef 59 	svshape 16,16,1,0,1
+    1a48:	99 02 ef 59 	svshape 16,16,1,5,0
+    1a4c:	d9 02 ef 59 	svshape 16,16,1,5,1
+    1a50:	19 05 ef 59 	svshape 16,16,1,10,0
+    1a54:	59 05 ef 59 	svshape 16,16,1,10,1
+    1a58:	99 07 ef 59 	svshape 16,16,1,15,0
+    1a5c:	d9 07 ef 59 	svshape 16,16,1,15,1
+    1a60:	19 48 ef 59 	svshape 16,16,10,0,0
+    1a64:	59 48 ef 59 	svshape 16,16,10,0,1
+    1a68:	99 4a ef 59 	svshape 16,16,10,5,0
+    1a6c:	d9 4a ef 59 	svshape 16,16,10,5,1
+    1a70:	19 4d ef 59 	svshape 16,16,10,10,0
+    1a74:	59 4d ef 59 	svshape 16,16,10,10,1
+    1a78:	99 4f ef 59 	svshape 16,16,10,15,0
+    1a7c:	d9 4f ef 59 	svshape 16,16,10,15,1
+    1a80:	19 a0 ef 59 	svshape 16,16,21,0,0
+    1a84:	59 a0 ef 59 	svshape 16,16,21,0,1
+    1a88:	99 a2 ef 59 	svshape 16,16,21,5,0
+    1a8c:	d9 a2 ef 59 	svshape 16,16,21,5,1
+    1a90:	19 a5 ef 59 	svshape 16,16,21,10,0
+    1a94:	59 a5 ef 59 	svshape 16,16,21,10,1
+    1a98:	99 a7 ef 59 	svshape 16,16,21,15,0
+    1a9c:	d9 a7 ef 59 	svshape 16,16,21,15,1
+    1aa0:	19 d0 ef 59 	svshape 16,16,27,0,0
+    1aa4:	59 d0 ef 59 	svshape 16,16,27,0,1
+    1aa8:	99 d2 ef 59 	svshape 16,16,27,5,0
+    1aac:	d9 d2 ef 59 	svshape 16,16,27,5,1
+    1ab0:	19 d5 ef 59 	svshape 16,16,27,10,0
+    1ab4:	59 d5 ef 59 	svshape 16,16,27,10,1
+    1ab8:	99 d7 ef 59 	svshape 16,16,27,15,0
+    1abc:	d9 d7 ef 59 	svshape 16,16,27,15,1
+    1ac0:	19 f0 ef 59 	svshape 16,16,31,0,0
+    1ac4:	59 f0 ef 59 	svshape 16,16,31,0,1
+    1ac8:	99 f2 ef 59 	svshape 16,16,31,5,0
+    1acc:	d9 f2 ef 59 	svshape 16,16,31,5,1
+    1ad0:	19 f5 ef 59 	svshape 16,16,31,10,0
+    1ad4:	59 f5 ef 59 	svshape 16,16,31,10,1
+    1ad8:	99 f7 ef 59 	svshape 16,16,31,15,0
+    1adc:	d9 f7 ef 59 	svshape 16,16,31,15,1
+    1ae0:	19 78 ef 59 	svshape 16,16,16,0,0
+    1ae4:	59 78 ef 59 	svshape 16,16,16,0,1
+    1ae8:	99 7a ef 59 	svshape 16,16,16,5,0
+    1aec:	d9 7a ef 59 	svshape 16,16,16,5,1
+    1af0:	19 7d ef 59 	svshape 16,16,16,10,0
+    1af4:	59 7d ef 59 	svshape 16,16,16,10,1
+    1af8:	99 7f ef 59 	svshape 16,16,16,15,0
+    1afc:	d9 7f ef 59 	svshape 16,16,16,15,1
diff --git a/gas/testsuite/gas/ppc/svshape.s b/gas/testsuite/gas/ppc/svshape.s
new file mode 100644
index 0000000000..6a0984aa5f
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svshape.s
@@ -0,0 +1,1728 @@
+svshape 1,1,1,0,0
+svshape 1,1,1,0,1
+svshape 1,1,1,5,0
+svshape 1,1,1,5,1
+svshape 1,1,1,10,0
+svshape 1,1,1,10,1
+svshape 1,1,1,15,0
+svshape 1,1,1,15,1
+svshape 1,1,10,0,0
+svshape 1,1,10,0,1
+svshape 1,1,10,5,0
+svshape 1,1,10,5,1
+svshape 1,1,10,10,0
+svshape 1,1,10,10,1
+svshape 1,1,10,15,0
+svshape 1,1,10,15,1
+svshape 1,1,21,0,0
+svshape 1,1,21,0,1
+svshape 1,1,21,5,0
+svshape 1,1,21,5,1
+svshape 1,1,21,10,0
+svshape 1,1,21,10,1
+svshape 1,1,21,15,0
+svshape 1,1,21,15,1
+svshape 1,1,27,0,0
+svshape 1,1,27,0,1
+svshape 1,1,27,5,0
+svshape 1,1,27,5,1
+svshape 1,1,27,10,0
+svshape 1,1,27,10,1
+svshape 1,1,27,15,0
+svshape 1,1,27,15,1
+svshape 1,1,31,0,0
+svshape 1,1,31,0,1
+svshape 1,1,31,5,0
+svshape 1,1,31,5,1
+svshape 1,1,31,10,0
+svshape 1,1,31,10,1
+svshape 1,1,31,15,0
+svshape 1,1,31,15,1
+svshape 1,1,16,0,0
+svshape 1,1,16,0,1
+svshape 1,1,16,5,0
+svshape 1,1,16,5,1
+svshape 1,1,16,10,0
+svshape 1,1,16,10,1
+svshape 1,1,16,15,0
+svshape 1,1,16,15,1
+svshape 1,10,1,0,0
+svshape 1,10,1,0,1
+svshape 1,10,1,5,0
+svshape 1,10,1,5,1
+svshape 1,10,1,10,0
+svshape 1,10,1,10,1
+svshape 1,10,1,15,0
+svshape 1,10,1,15,1
+svshape 1,10,10,0,0
+svshape 1,10,10,0,1
+svshape 1,10,10,5,0
+svshape 1,10,10,5,1
+svshape 1,10,10,10,0
+svshape 1,10,10,10,1
+svshape 1,10,10,15,0
+svshape 1,10,10,15,1
+svshape 1,10,21,0,0
+svshape 1,10,21,0,1
+svshape 1,10,21,5,0
+svshape 1,10,21,5,1
+svshape 1,10,21,10,0
+svshape 1,10,21,10,1
+svshape 1,10,21,15,0
+svshape 1,10,21,15,1
+svshape 1,10,27,0,0
+svshape 1,10,27,0,1
+svshape 1,10,27,5,0
+svshape 1,10,27,5,1
+svshape 1,10,27,10,0
+svshape 1,10,27,10,1
+svshape 1,10,27,15,0
+svshape 1,10,27,15,1
+svshape 1,10,31,0,0
+svshape 1,10,31,0,1
+svshape 1,10,31,5,0
+svshape 1,10,31,5,1
+svshape 1,10,31,10,0
+svshape 1,10,31,10,1
+svshape 1,10,31,15,0
+svshape 1,10,31,15,1
+svshape 1,10,16,0,0
+svshape 1,10,16,0,1
+svshape 1,10,16,5,0
+svshape 1,10,16,5,1
+svshape 1,10,16,10,0
+svshape 1,10,16,10,1
+svshape 1,10,16,15,0
+svshape 1,10,16,15,1
+svshape 1,21,1,0,0
+svshape 1,21,1,0,1
+svshape 1,21,1,5,0
+svshape 1,21,1,5,1
+svshape 1,21,1,10,0
+svshape 1,21,1,10,1
+svshape 1,21,1,15,0
+svshape 1,21,1,15,1
+svshape 1,21,10,0,0
+svshape 1,21,10,0,1
+svshape 1,21,10,5,0
+svshape 1,21,10,5,1
+svshape 1,21,10,10,0
+svshape 1,21,10,10,1
+svshape 1,21,10,15,0
+svshape 1,21,10,15,1
+svshape 1,21,21,0,0
+svshape 1,21,21,0,1
+svshape 1,21,21,5,0
+svshape 1,21,21,5,1
+svshape 1,21,21,10,0
+svshape 1,21,21,10,1
+svshape 1,21,21,15,0
+svshape 1,21,21,15,1
+svshape 1,21,27,0,0
+svshape 1,21,27,0,1
+svshape 1,21,27,5,0
+svshape 1,21,27,5,1
+svshape 1,21,27,10,0
+svshape 1,21,27,10,1
+svshape 1,21,27,15,0
+svshape 1,21,27,15,1
+svshape 1,21,31,0,0
+svshape 1,21,31,0,1
+svshape 1,21,31,5,0
+svshape 1,21,31,5,1
+svshape 1,21,31,10,0
+svshape 1,21,31,10,1
+svshape 1,21,31,15,0
+svshape 1,21,31,15,1
+svshape 1,21,16,0,0
+svshape 1,21,16,0,1
+svshape 1,21,16,5,0
+svshape 1,21,16,5,1
+svshape 1,21,16,10,0
+svshape 1,21,16,10,1
+svshape 1,21,16,15,0
+svshape 1,21,16,15,1
+svshape 1,27,1,0,0
+svshape 1,27,1,0,1
+svshape 1,27,1,5,0
+svshape 1,27,1,5,1
+svshape 1,27,1,10,0
+svshape 1,27,1,10,1
+svshape 1,27,1,15,0
+svshape 1,27,1,15,1
+svshape 1,27,10,0,0
+svshape 1,27,10,0,1
+svshape 1,27,10,5,0
+svshape 1,27,10,5,1
+svshape 1,27,10,10,0
+svshape 1,27,10,10,1
+svshape 1,27,10,15,0
+svshape 1,27,10,15,1
+svshape 1,27,21,0,0
+svshape 1,27,21,0,1
+svshape 1,27,21,5,0
+svshape 1,27,21,5,1
+svshape 1,27,21,10,0
+svshape 1,27,21,10,1
+svshape 1,27,21,15,0
+svshape 1,27,21,15,1
+svshape 1,27,27,0,0
+svshape 1,27,27,0,1
+svshape 1,27,27,5,0
+svshape 1,27,27,5,1
+svshape 1,27,27,10,0
+svshape 1,27,27,10,1
+svshape 1,27,27,15,0
+svshape 1,27,27,15,1
+svshape 1,27,31,0,0
+svshape 1,27,31,0,1
+svshape 1,27,31,5,0
+svshape 1,27,31,5,1
+svshape 1,27,31,10,0
+svshape 1,27,31,10,1
+svshape 1,27,31,15,0
+svshape 1,27,31,15,1
+svshape 1,27,16,0,0
+svshape 1,27,16,0,1
+svshape 1,27,16,5,0
+svshape 1,27,16,5,1
+svshape 1,27,16,10,0
+svshape 1,27,16,10,1
+svshape 1,27,16,15,0
+svshape 1,27,16,15,1
+svshape 1,31,1,0,0
+svshape 1,31,1,0,1
+svshape 1,31,1,5,0
+svshape 1,31,1,5,1
+svshape 1,31,1,10,0
+svshape 1,31,1,10,1
+svshape 1,31,1,15,0
+svshape 1,31,1,15,1
+svshape 1,31,10,0,0
+svshape 1,31,10,0,1
+svshape 1,31,10,5,0
+svshape 1,31,10,5,1
+svshape 1,31,10,10,0
+svshape 1,31,10,10,1
+svshape 1,31,10,15,0
+svshape 1,31,10,15,1
+svshape 1,31,21,0,0
+svshape 1,31,21,0,1
+svshape 1,31,21,5,0
+svshape 1,31,21,5,1
+svshape 1,31,21,10,0
+svshape 1,31,21,10,1
+svshape 1,31,21,15,0
+svshape 1,31,21,15,1
+svshape 1,31,27,0,0
+svshape 1,31,27,0,1
+svshape 1,31,27,5,0
+svshape 1,31,27,5,1
+svshape 1,31,27,10,0
+svshape 1,31,27,10,1
+svshape 1,31,27,15,0
+svshape 1,31,27,15,1
+svshape 1,31,31,0,0
+svshape 1,31,31,0,1
+svshape 1,31,31,5,0
+svshape 1,31,31,5,1
+svshape 1,31,31,10,0
+svshape 1,31,31,10,1
+svshape 1,31,31,15,0
+svshape 1,31,31,15,1
+svshape 1,31,16,0,0
+svshape 1,31,16,0,1
+svshape 1,31,16,5,0
+svshape 1,31,16,5,1
+svshape 1,31,16,10,0
+svshape 1,31,16,10,1
+svshape 1,31,16,15,0
+svshape 1,31,16,15,1
+svshape 1,16,1,0,0
+svshape 1,16,1,0,1
+svshape 1,16,1,5,0
+svshape 1,16,1,5,1
+svshape 1,16,1,10,0
+svshape 1,16,1,10,1
+svshape 1,16,1,15,0
+svshape 1,16,1,15,1
+svshape 1,16,10,0,0
+svshape 1,16,10,0,1
+svshape 1,16,10,5,0
+svshape 1,16,10,5,1
+svshape 1,16,10,10,0
+svshape 1,16,10,10,1
+svshape 1,16,10,15,0
+svshape 1,16,10,15,1
+svshape 1,16,21,0,0
+svshape 1,16,21,0,1
+svshape 1,16,21,5,0
+svshape 1,16,21,5,1
+svshape 1,16,21,10,0
+svshape 1,16,21,10,1
+svshape 1,16,21,15,0
+svshape 1,16,21,15,1
+svshape 1,16,27,0,0
+svshape 1,16,27,0,1
+svshape 1,16,27,5,0
+svshape 1,16,27,5,1
+svshape 1,16,27,10,0
+svshape 1,16,27,10,1
+svshape 1,16,27,15,0
+svshape 1,16,27,15,1
+svshape 1,16,31,0,0
+svshape 1,16,31,0,1
+svshape 1,16,31,5,0
+svshape 1,16,31,5,1
+svshape 1,16,31,10,0
+svshape 1,16,31,10,1
+svshape 1,16,31,15,0
+svshape 1,16,31,15,1
+svshape 1,16,16,0,0
+svshape 1,16,16,0,1
+svshape 1,16,16,5,0
+svshape 1,16,16,5,1
+svshape 1,16,16,10,0
+svshape 1,16,16,10,1
+svshape 1,16,16,15,0
+svshape 1,16,16,15,1
+svshape 10,1,1,0,0
+svshape 10,1,1,0,1
+svshape 10,1,1,5,0
+svshape 10,1,1,5,1
+svshape 10,1,1,10,0
+svshape 10,1,1,10,1
+svshape 10,1,1,15,0
+svshape 10,1,1,15,1
+svshape 10,1,10,0,0
+svshape 10,1,10,0,1
+svshape 10,1,10,5,0
+svshape 10,1,10,5,1
+svshape 10,1,10,10,0
+svshape 10,1,10,10,1
+svshape 10,1,10,15,0
+svshape 10,1,10,15,1
+svshape 10,1,21,0,0
+svshape 10,1,21,0,1
+svshape 10,1,21,5,0
+svshape 10,1,21,5,1
+svshape 10,1,21,10,0
+svshape 10,1,21,10,1
+svshape 10,1,21,15,0
+svshape 10,1,21,15,1
+svshape 10,1,27,0,0
+svshape 10,1,27,0,1
+svshape 10,1,27,5,0
+svshape 10,1,27,5,1
+svshape 10,1,27,10,0
+svshape 10,1,27,10,1
+svshape 10,1,27,15,0
+svshape 10,1,27,15,1
+svshape 10,1,31,0,0
+svshape 10,1,31,0,1
+svshape 10,1,31,5,0
+svshape 10,1,31,5,1
+svshape 10,1,31,10,0
+svshape 10,1,31,10,1
+svshape 10,1,31,15,0
+svshape 10,1,31,15,1
+svshape 10,1,16,0,0
+svshape 10,1,16,0,1
+svshape 10,1,16,5,0
+svshape 10,1,16,5,1
+svshape 10,1,16,10,0
+svshape 10,1,16,10,1
+svshape 10,1,16,15,0
+svshape 10,1,16,15,1
+svshape 10,10,1,0,0
+svshape 10,10,1,0,1
+svshape 10,10,1,5,0
+svshape 10,10,1,5,1
+svshape 10,10,1,10,0
+svshape 10,10,1,10,1
+svshape 10,10,1,15,0
+svshape 10,10,1,15,1
+svshape 10,10,10,0,0
+svshape 10,10,10,0,1
+svshape 10,10,10,5,0
+svshape 10,10,10,5,1
+svshape 10,10,10,10,0
+svshape 10,10,10,10,1
+svshape 10,10,10,15,0
+svshape 10,10,10,15,1
+svshape 10,10,21,0,0
+svshape 10,10,21,0,1
+svshape 10,10,21,5,0
+svshape 10,10,21,5,1
+svshape 10,10,21,10,0
+svshape 10,10,21,10,1
+svshape 10,10,21,15,0
+svshape 10,10,21,15,1
+svshape 10,10,27,0,0
+svshape 10,10,27,0,1
+svshape 10,10,27,5,0
+svshape 10,10,27,5,1
+svshape 10,10,27,10,0
+svshape 10,10,27,10,1
+svshape 10,10,27,15,0
+svshape 10,10,27,15,1
+svshape 10,10,31,0,0
+svshape 10,10,31,0,1
+svshape 10,10,31,5,0
+svshape 10,10,31,5,1
+svshape 10,10,31,10,0
+svshape 10,10,31,10,1
+svshape 10,10,31,15,0
+svshape 10,10,31,15,1
+svshape 10,10,16,0,0
+svshape 10,10,16,0,1
+svshape 10,10,16,5,0
+svshape 10,10,16,5,1
+svshape 10,10,16,10,0
+svshape 10,10,16,10,1
+svshape 10,10,16,15,0
+svshape 10,10,16,15,1
+svshape 10,21,1,0,0
+svshape 10,21,1,0,1
+svshape 10,21,1,5,0
+svshape 10,21,1,5,1
+svshape 10,21,1,10,0
+svshape 10,21,1,10,1
+svshape 10,21,1,15,0
+svshape 10,21,1,15,1
+svshape 10,21,10,0,0
+svshape 10,21,10,0,1
+svshape 10,21,10,5,0
+svshape 10,21,10,5,1
+svshape 10,21,10,10,0
+svshape 10,21,10,10,1
+svshape 10,21,10,15,0
+svshape 10,21,10,15,1
+svshape 10,21,21,0,0
+svshape 10,21,21,0,1
+svshape 10,21,21,5,0
+svshape 10,21,21,5,1
+svshape 10,21,21,10,0
+svshape 10,21,21,10,1
+svshape 10,21,21,15,0
+svshape 10,21,21,15,1
+svshape 10,21,27,0,0
+svshape 10,21,27,0,1
+svshape 10,21,27,5,0
+svshape 10,21,27,5,1
+svshape 10,21,27,10,0
+svshape 10,21,27,10,1
+svshape 10,21,27,15,0
+svshape 10,21,27,15,1
+svshape 10,21,31,0,0
+svshape 10,21,31,0,1
+svshape 10,21,31,5,0
+svshape 10,21,31,5,1
+svshape 10,21,31,10,0
+svshape 10,21,31,10,1
+svshape 10,21,31,15,0
+svshape 10,21,31,15,1
+svshape 10,21,16,0,0
+svshape 10,21,16,0,1
+svshape 10,21,16,5,0
+svshape 10,21,16,5,1
+svshape 10,21,16,10,0
+svshape 10,21,16,10,1
+svshape 10,21,16,15,0
+svshape 10,21,16,15,1
+svshape 10,27,1,0,0
+svshape 10,27,1,0,1
+svshape 10,27,1,5,0
+svshape 10,27,1,5,1
+svshape 10,27,1,10,0
+svshape 10,27,1,10,1
+svshape 10,27,1,15,0
+svshape 10,27,1,15,1
+svshape 10,27,10,0,0
+svshape 10,27,10,0,1
+svshape 10,27,10,5,0
+svshape 10,27,10,5,1
+svshape 10,27,10,10,0
+svshape 10,27,10,10,1
+svshape 10,27,10,15,0
+svshape 10,27,10,15,1
+svshape 10,27,21,0,0
+svshape 10,27,21,0,1
+svshape 10,27,21,5,0
+svshape 10,27,21,5,1
+svshape 10,27,21,10,0
+svshape 10,27,21,10,1
+svshape 10,27,21,15,0
+svshape 10,27,21,15,1
+svshape 10,27,27,0,0
+svshape 10,27,27,0,1
+svshape 10,27,27,5,0
+svshape 10,27,27,5,1
+svshape 10,27,27,10,0
+svshape 10,27,27,10,1
+svshape 10,27,27,15,0
+svshape 10,27,27,15,1
+svshape 10,27,31,0,0
+svshape 10,27,31,0,1
+svshape 10,27,31,5,0
+svshape 10,27,31,5,1
+svshape 10,27,31,10,0
+svshape 10,27,31,10,1
+svshape 10,27,31,15,0
+svshape 10,27,31,15,1
+svshape 10,27,16,0,0
+svshape 10,27,16,0,1
+svshape 10,27,16,5,0
+svshape 10,27,16,5,1
+svshape 10,27,16,10,0
+svshape 10,27,16,10,1
+svshape 10,27,16,15,0
+svshape 10,27,16,15,1
+svshape 10,31,1,0,0
+svshape 10,31,1,0,1
+svshape 10,31,1,5,0
+svshape 10,31,1,5,1
+svshape 10,31,1,10,0
+svshape 10,31,1,10,1
+svshape 10,31,1,15,0
+svshape 10,31,1,15,1
+svshape 10,31,10,0,0
+svshape 10,31,10,0,1
+svshape 10,31,10,5,0
+svshape 10,31,10,5,1
+svshape 10,31,10,10,0
+svshape 10,31,10,10,1
+svshape 10,31,10,15,0
+svshape 10,31,10,15,1
+svshape 10,31,21,0,0
+svshape 10,31,21,0,1
+svshape 10,31,21,5,0
+svshape 10,31,21,5,1
+svshape 10,31,21,10,0
+svshape 10,31,21,10,1
+svshape 10,31,21,15,0
+svshape 10,31,21,15,1
+svshape 10,31,27,0,0
+svshape 10,31,27,0,1
+svshape 10,31,27,5,0
+svshape 10,31,27,5,1
+svshape 10,31,27,10,0
+svshape 10,31,27,10,1
+svshape 10,31,27,15,0
+svshape 10,31,27,15,1
+svshape 10,31,31,0,0
+svshape 10,31,31,0,1
+svshape 10,31,31,5,0
+svshape 10,31,31,5,1
+svshape 10,31,31,10,0
+svshape 10,31,31,10,1
+svshape 10,31,31,15,0
+svshape 10,31,31,15,1
+svshape 10,31,16,0,0
+svshape 10,31,16,0,1
+svshape 10,31,16,5,0
+svshape 10,31,16,5,1
+svshape 10,31,16,10,0
+svshape 10,31,16,10,1
+svshape 10,31,16,15,0
+svshape 10,31,16,15,1
+svshape 10,16,1,0,0
+svshape 10,16,1,0,1
+svshape 10,16,1,5,0
+svshape 10,16,1,5,1
+svshape 10,16,1,10,0
+svshape 10,16,1,10,1
+svshape 10,16,1,15,0
+svshape 10,16,1,15,1
+svshape 10,16,10,0,0
+svshape 10,16,10,0,1
+svshape 10,16,10,5,0
+svshape 10,16,10,5,1
+svshape 10,16,10,10,0
+svshape 10,16,10,10,1
+svshape 10,16,10,15,0
+svshape 10,16,10,15,1
+svshape 10,16,21,0,0
+svshape 10,16,21,0,1
+svshape 10,16,21,5,0
+svshape 10,16,21,5,1
+svshape 10,16,21,10,0
+svshape 10,16,21,10,1
+svshape 10,16,21,15,0
+svshape 10,16,21,15,1
+svshape 10,16,27,0,0
+svshape 10,16,27,0,1
+svshape 10,16,27,5,0
+svshape 10,16,27,5,1
+svshape 10,16,27,10,0
+svshape 10,16,27,10,1
+svshape 10,16,27,15,0
+svshape 10,16,27,15,1
+svshape 10,16,31,0,0
+svshape 10,16,31,0,1
+svshape 10,16,31,5,0
+svshape 10,16,31,5,1
+svshape 10,16,31,10,0
+svshape 10,16,31,10,1
+svshape 10,16,31,15,0
+svshape 10,16,31,15,1
+svshape 10,16,16,0,0
+svshape 10,16,16,0,1
+svshape 10,16,16,5,0
+svshape 10,16,16,5,1
+svshape 10,16,16,10,0
+svshape 10,16,16,10,1
+svshape 10,16,16,15,0
+svshape 10,16,16,15,1
+svshape 21,1,1,0,0
+svshape 21,1,1,0,1
+svshape 21,1,1,5,0
+svshape 21,1,1,5,1
+svshape 21,1,1,10,0
+svshape 21,1,1,10,1
+svshape 21,1,1,15,0
+svshape 21,1,1,15,1
+svshape 21,1,10,0,0
+svshape 21,1,10,0,1
+svshape 21,1,10,5,0
+svshape 21,1,10,5,1
+svshape 21,1,10,10,0
+svshape 21,1,10,10,1
+svshape 21,1,10,15,0
+svshape 21,1,10,15,1
+svshape 21,1,21,0,0
+svshape 21,1,21,0,1
+svshape 21,1,21,5,0
+svshape 21,1,21,5,1
+svshape 21,1,21,10,0
+svshape 21,1,21,10,1
+svshape 21,1,21,15,0
+svshape 21,1,21,15,1
+svshape 21,1,27,0,0
+svshape 21,1,27,0,1
+svshape 21,1,27,5,0
+svshape 21,1,27,5,1
+svshape 21,1,27,10,0
+svshape 21,1,27,10,1
+svshape 21,1,27,15,0
+svshape 21,1,27,15,1
+svshape 21,1,31,0,0
+svshape 21,1,31,0,1
+svshape 21,1,31,5,0
+svshape 21,1,31,5,1
+svshape 21,1,31,10,0
+svshape 21,1,31,10,1
+svshape 21,1,31,15,0
+svshape 21,1,31,15,1
+svshape 21,1,16,0,0
+svshape 21,1,16,0,1
+svshape 21,1,16,5,0
+svshape 21,1,16,5,1
+svshape 21,1,16,10,0
+svshape 21,1,16,10,1
+svshape 21,1,16,15,0
+svshape 21,1,16,15,1
+svshape 21,10,1,0,0
+svshape 21,10,1,0,1
+svshape 21,10,1,5,0
+svshape 21,10,1,5,1
+svshape 21,10,1,10,0
+svshape 21,10,1,10,1
+svshape 21,10,1,15,0
+svshape 21,10,1,15,1
+svshape 21,10,10,0,0
+svshape 21,10,10,0,1
+svshape 21,10,10,5,0
+svshape 21,10,10,5,1
+svshape 21,10,10,10,0
+svshape 21,10,10,10,1
+svshape 21,10,10,15,0
+svshape 21,10,10,15,1
+svshape 21,10,21,0,0
+svshape 21,10,21,0,1
+svshape 21,10,21,5,0
+svshape 21,10,21,5,1
+svshape 21,10,21,10,0
+svshape 21,10,21,10,1
+svshape 21,10,21,15,0
+svshape 21,10,21,15,1
+svshape 21,10,27,0,0
+svshape 21,10,27,0,1
+svshape 21,10,27,5,0
+svshape 21,10,27,5,1
+svshape 21,10,27,10,0
+svshape 21,10,27,10,1
+svshape 21,10,27,15,0
+svshape 21,10,27,15,1
+svshape 21,10,31,0,0
+svshape 21,10,31,0,1
+svshape 21,10,31,5,0
+svshape 21,10,31,5,1
+svshape 21,10,31,10,0
+svshape 21,10,31,10,1
+svshape 21,10,31,15,0
+svshape 21,10,31,15,1
+svshape 21,10,16,0,0
+svshape 21,10,16,0,1
+svshape 21,10,16,5,0
+svshape 21,10,16,5,1
+svshape 21,10,16,10,0
+svshape 21,10,16,10,1
+svshape 21,10,16,15,0
+svshape 21,10,16,15,1
+svshape 21,21,1,0,0
+svshape 21,21,1,0,1
+svshape 21,21,1,5,0
+svshape 21,21,1,5,1
+svshape 21,21,1,10,0
+svshape 21,21,1,10,1
+svshape 21,21,1,15,0
+svshape 21,21,1,15,1
+svshape 21,21,10,0,0
+svshape 21,21,10,0,1
+svshape 21,21,10,5,0
+svshape 21,21,10,5,1
+svshape 21,21,10,10,0
+svshape 21,21,10,10,1
+svshape 21,21,10,15,0
+svshape 21,21,10,15,1
+svshape 21,21,21,0,0
+svshape 21,21,21,0,1
+svshape 21,21,21,5,0
+svshape 21,21,21,5,1
+svshape 21,21,21,10,0
+svshape 21,21,21,10,1
+svshape 21,21,21,15,0
+svshape 21,21,21,15,1
+svshape 21,21,27,0,0
+svshape 21,21,27,0,1
+svshape 21,21,27,5,0
+svshape 21,21,27,5,1
+svshape 21,21,27,10,0
+svshape 21,21,27,10,1
+svshape 21,21,27,15,0
+svshape 21,21,27,15,1
+svshape 21,21,31,0,0
+svshape 21,21,31,0,1
+svshape 21,21,31,5,0
+svshape 21,21,31,5,1
+svshape 21,21,31,10,0
+svshape 21,21,31,10,1
+svshape 21,21,31,15,0
+svshape 21,21,31,15,1
+svshape 21,21,16,0,0
+svshape 21,21,16,0,1
+svshape 21,21,16,5,0
+svshape 21,21,16,5,1
+svshape 21,21,16,10,0
+svshape 21,21,16,10,1
+svshape 21,21,16,15,0
+svshape 21,21,16,15,1
+svshape 21,27,1,0,0
+svshape 21,27,1,0,1
+svshape 21,27,1,5,0
+svshape 21,27,1,5,1
+svshape 21,27,1,10,0
+svshape 21,27,1,10,1
+svshape 21,27,1,15,0
+svshape 21,27,1,15,1
+svshape 21,27,10,0,0
+svshape 21,27,10,0,1
+svshape 21,27,10,5,0
+svshape 21,27,10,5,1
+svshape 21,27,10,10,0
+svshape 21,27,10,10,1
+svshape 21,27,10,15,0
+svshape 21,27,10,15,1
+svshape 21,27,21,0,0
+svshape 21,27,21,0,1
+svshape 21,27,21,5,0
+svshape 21,27,21,5,1
+svshape 21,27,21,10,0
+svshape 21,27,21,10,1
+svshape 21,27,21,15,0
+svshape 21,27,21,15,1
+svshape 21,27,27,0,0
+svshape 21,27,27,0,1
+svshape 21,27,27,5,0
+svshape 21,27,27,5,1
+svshape 21,27,27,10,0
+svshape 21,27,27,10,1
+svshape 21,27,27,15,0
+svshape 21,27,27,15,1
+svshape 21,27,31,0,0
+svshape 21,27,31,0,1
+svshape 21,27,31,5,0
+svshape 21,27,31,5,1
+svshape 21,27,31,10,0
+svshape 21,27,31,10,1
+svshape 21,27,31,15,0
+svshape 21,27,31,15,1
+svshape 21,27,16,0,0
+svshape 21,27,16,0,1
+svshape 21,27,16,5,0
+svshape 21,27,16,5,1
+svshape 21,27,16,10,0
+svshape 21,27,16,10,1
+svshape 21,27,16,15,0
+svshape 21,27,16,15,1
+svshape 21,31,1,0,0
+svshape 21,31,1,0,1
+svshape 21,31,1,5,0
+svshape 21,31,1,5,1
+svshape 21,31,1,10,0
+svshape 21,31,1,10,1
+svshape 21,31,1,15,0
+svshape 21,31,1,15,1
+svshape 21,31,10,0,0
+svshape 21,31,10,0,1
+svshape 21,31,10,5,0
+svshape 21,31,10,5,1
+svshape 21,31,10,10,0
+svshape 21,31,10,10,1
+svshape 21,31,10,15,0
+svshape 21,31,10,15,1
+svshape 21,31,21,0,0
+svshape 21,31,21,0,1
+svshape 21,31,21,5,0
+svshape 21,31,21,5,1
+svshape 21,31,21,10,0
+svshape 21,31,21,10,1
+svshape 21,31,21,15,0
+svshape 21,31,21,15,1
+svshape 21,31,27,0,0
+svshape 21,31,27,0,1
+svshape 21,31,27,5,0
+svshape 21,31,27,5,1
+svshape 21,31,27,10,0
+svshape 21,31,27,10,1
+svshape 21,31,27,15,0
+svshape 21,31,27,15,1
+svshape 21,31,31,0,0
+svshape 21,31,31,0,1
+svshape 21,31,31,5,0
+svshape 21,31,31,5,1
+svshape 21,31,31,10,0
+svshape 21,31,31,10,1
+svshape 21,31,31,15,0
+svshape 21,31,31,15,1
+svshape 21,31,16,0,0
+svshape 21,31,16,0,1
+svshape 21,31,16,5,0
+svshape 21,31,16,5,1
+svshape 21,31,16,10,0
+svshape 21,31,16,10,1
+svshape 21,31,16,15,0
+svshape 21,31,16,15,1
+svshape 21,16,1,0,0
+svshape 21,16,1,0,1
+svshape 21,16,1,5,0
+svshape 21,16,1,5,1
+svshape 21,16,1,10,0
+svshape 21,16,1,10,1
+svshape 21,16,1,15,0
+svshape 21,16,1,15,1
+svshape 21,16,10,0,0
+svshape 21,16,10,0,1
+svshape 21,16,10,5,0
+svshape 21,16,10,5,1
+svshape 21,16,10,10,0
+svshape 21,16,10,10,1
+svshape 21,16,10,15,0
+svshape 21,16,10,15,1
+svshape 21,16,21,0,0
+svshape 21,16,21,0,1
+svshape 21,16,21,5,0
+svshape 21,16,21,5,1
+svshape 21,16,21,10,0
+svshape 21,16,21,10,1
+svshape 21,16,21,15,0
+svshape 21,16,21,15,1
+svshape 21,16,27,0,0
+svshape 21,16,27,0,1
+svshape 21,16,27,5,0
+svshape 21,16,27,5,1
+svshape 21,16,27,10,0
+svshape 21,16,27,10,1
+svshape 21,16,27,15,0
+svshape 21,16,27,15,1
+svshape 21,16,31,0,0
+svshape 21,16,31,0,1
+svshape 21,16,31,5,0
+svshape 21,16,31,5,1
+svshape 21,16,31,10,0
+svshape 21,16,31,10,1
+svshape 21,16,31,15,0
+svshape 21,16,31,15,1
+svshape 21,16,16,0,0
+svshape 21,16,16,0,1
+svshape 21,16,16,5,0
+svshape 21,16,16,5,1
+svshape 21,16,16,10,0
+svshape 21,16,16,10,1
+svshape 21,16,16,15,0
+svshape 21,16,16,15,1
+svshape 27,1,1,0,0
+svshape 27,1,1,0,1
+svshape 27,1,1,5,0
+svshape 27,1,1,5,1
+svshape 27,1,1,10,0
+svshape 27,1,1,10,1
+svshape 27,1,1,15,0
+svshape 27,1,1,15,1
+svshape 27,1,10,0,0
+svshape 27,1,10,0,1
+svshape 27,1,10,5,0
+svshape 27,1,10,5,1
+svshape 27,1,10,10,0
+svshape 27,1,10,10,1
+svshape 27,1,10,15,0
+svshape 27,1,10,15,1
+svshape 27,1,21,0,0
+svshape 27,1,21,0,1
+svshape 27,1,21,5,0
+svshape 27,1,21,5,1
+svshape 27,1,21,10,0
+svshape 27,1,21,10,1
+svshape 27,1,21,15,0
+svshape 27,1,21,15,1
+svshape 27,1,27,0,0
+svshape 27,1,27,0,1
+svshape 27,1,27,5,0
+svshape 27,1,27,5,1
+svshape 27,1,27,10,0
+svshape 27,1,27,10,1
+svshape 27,1,27,15,0
+svshape 27,1,27,15,1
+svshape 27,1,31,0,0
+svshape 27,1,31,0,1
+svshape 27,1,31,5,0
+svshape 27,1,31,5,1
+svshape 27,1,31,10,0
+svshape 27,1,31,10,1
+svshape 27,1,31,15,0
+svshape 27,1,31,15,1
+svshape 27,1,16,0,0
+svshape 27,1,16,0,1
+svshape 27,1,16,5,0
+svshape 27,1,16,5,1
+svshape 27,1,16,10,0
+svshape 27,1,16,10,1
+svshape 27,1,16,15,0
+svshape 27,1,16,15,1
+svshape 27,10,1,0,0
+svshape 27,10,1,0,1
+svshape 27,10,1,5,0
+svshape 27,10,1,5,1
+svshape 27,10,1,10,0
+svshape 27,10,1,10,1
+svshape 27,10,1,15,0
+svshape 27,10,1,15,1
+svshape 27,10,10,0,0
+svshape 27,10,10,0,1
+svshape 27,10,10,5,0
+svshape 27,10,10,5,1
+svshape 27,10,10,10,0
+svshape 27,10,10,10,1
+svshape 27,10,10,15,0
+svshape 27,10,10,15,1
+svshape 27,10,21,0,0
+svshape 27,10,21,0,1
+svshape 27,10,21,5,0
+svshape 27,10,21,5,1
+svshape 27,10,21,10,0
+svshape 27,10,21,10,1
+svshape 27,10,21,15,0
+svshape 27,10,21,15,1
+svshape 27,10,27,0,0
+svshape 27,10,27,0,1
+svshape 27,10,27,5,0
+svshape 27,10,27,5,1
+svshape 27,10,27,10,0
+svshape 27,10,27,10,1
+svshape 27,10,27,15,0
+svshape 27,10,27,15,1
+svshape 27,10,31,0,0
+svshape 27,10,31,0,1
+svshape 27,10,31,5,0
+svshape 27,10,31,5,1
+svshape 27,10,31,10,0
+svshape 27,10,31,10,1
+svshape 27,10,31,15,0
+svshape 27,10,31,15,1
+svshape 27,10,16,0,0
+svshape 27,10,16,0,1
+svshape 27,10,16,5,0
+svshape 27,10,16,5,1
+svshape 27,10,16,10,0
+svshape 27,10,16,10,1
+svshape 27,10,16,15,0
+svshape 27,10,16,15,1
+svshape 27,21,1,0,0
+svshape 27,21,1,0,1
+svshape 27,21,1,5,0
+svshape 27,21,1,5,1
+svshape 27,21,1,10,0
+svshape 27,21,1,10,1
+svshape 27,21,1,15,0
+svshape 27,21,1,15,1
+svshape 27,21,10,0,0
+svshape 27,21,10,0,1
+svshape 27,21,10,5,0
+svshape 27,21,10,5,1
+svshape 27,21,10,10,0
+svshape 27,21,10,10,1
+svshape 27,21,10,15,0
+svshape 27,21,10,15,1
+svshape 27,21,21,0,0
+svshape 27,21,21,0,1
+svshape 27,21,21,5,0
+svshape 27,21,21,5,1
+svshape 27,21,21,10,0
+svshape 27,21,21,10,1
+svshape 27,21,21,15,0
+svshape 27,21,21,15,1
+svshape 27,21,27,0,0
+svshape 27,21,27,0,1
+svshape 27,21,27,5,0
+svshape 27,21,27,5,1
+svshape 27,21,27,10,0
+svshape 27,21,27,10,1
+svshape 27,21,27,15,0
+svshape 27,21,27,15,1
+svshape 27,21,31,0,0
+svshape 27,21,31,0,1
+svshape 27,21,31,5,0
+svshape 27,21,31,5,1
+svshape 27,21,31,10,0
+svshape 27,21,31,10,1
+svshape 27,21,31,15,0
+svshape 27,21,31,15,1
+svshape 27,21,16,0,0
+svshape 27,21,16,0,1
+svshape 27,21,16,5,0
+svshape 27,21,16,5,1
+svshape 27,21,16,10,0
+svshape 27,21,16,10,1
+svshape 27,21,16,15,0
+svshape 27,21,16,15,1
+svshape 27,27,1,0,0
+svshape 27,27,1,0,1
+svshape 27,27,1,5,0
+svshape 27,27,1,5,1
+svshape 27,27,1,10,0
+svshape 27,27,1,10,1
+svshape 27,27,1,15,0
+svshape 27,27,1,15,1
+svshape 27,27,10,0,0
+svshape 27,27,10,0,1
+svshape 27,27,10,5,0
+svshape 27,27,10,5,1
+svshape 27,27,10,10,0
+svshape 27,27,10,10,1
+svshape 27,27,10,15,0
+svshape 27,27,10,15,1
+svshape 27,27,21,0,0
+svshape 27,27,21,0,1
+svshape 27,27,21,5,0
+svshape 27,27,21,5,1
+svshape 27,27,21,10,0
+svshape 27,27,21,10,1
+svshape 27,27,21,15,0
+svshape 27,27,21,15,1
+svshape 27,27,27,0,0
+svshape 27,27,27,0,1
+svshape 27,27,27,5,0
+svshape 27,27,27,5,1
+svshape 27,27,27,10,0
+svshape 27,27,27,10,1
+svshape 27,27,27,15,0
+svshape 27,27,27,15,1
+svshape 27,27,31,0,0
+svshape 27,27,31,0,1
+svshape 27,27,31,5,0
+svshape 27,27,31,5,1
+svshape 27,27,31,10,0
+svshape 27,27,31,10,1
+svshape 27,27,31,15,0
+svshape 27,27,31,15,1
+svshape 27,27,16,0,0
+svshape 27,27,16,0,1
+svshape 27,27,16,5,0
+svshape 27,27,16,5,1
+svshape 27,27,16,10,0
+svshape 27,27,16,10,1
+svshape 27,27,16,15,0
+svshape 27,27,16,15,1
+svshape 27,31,1,0,0
+svshape 27,31,1,0,1
+svshape 27,31,1,5,0
+svshape 27,31,1,5,1
+svshape 27,31,1,10,0
+svshape 27,31,1,10,1
+svshape 27,31,1,15,0
+svshape 27,31,1,15,1
+svshape 27,31,10,0,0
+svshape 27,31,10,0,1
+svshape 27,31,10,5,0
+svshape 27,31,10,5,1
+svshape 27,31,10,10,0
+svshape 27,31,10,10,1
+svshape 27,31,10,15,0
+svshape 27,31,10,15,1
+svshape 27,31,21,0,0
+svshape 27,31,21,0,1
+svshape 27,31,21,5,0
+svshape 27,31,21,5,1
+svshape 27,31,21,10,0
+svshape 27,31,21,10,1
+svshape 27,31,21,15,0
+svshape 27,31,21,15,1
+svshape 27,31,27,0,0
+svshape 27,31,27,0,1
+svshape 27,31,27,5,0
+svshape 27,31,27,5,1
+svshape 27,31,27,10,0
+svshape 27,31,27,10,1
+svshape 27,31,27,15,0
+svshape 27,31,27,15,1
+svshape 27,31,31,0,0
+svshape 27,31,31,0,1
+svshape 27,31,31,5,0
+svshape 27,31,31,5,1
+svshape 27,31,31,10,0
+svshape 27,31,31,10,1
+svshape 27,31,31,15,0
+svshape 27,31,31,15,1
+svshape 27,31,16,0,0
+svshape 27,31,16,0,1
+svshape 27,31,16,5,0
+svshape 27,31,16,5,1
+svshape 27,31,16,10,0
+svshape 27,31,16,10,1
+svshape 27,31,16,15,0
+svshape 27,31,16,15,1
+svshape 27,16,1,0,0
+svshape 27,16,1,0,1
+svshape 27,16,1,5,0
+svshape 27,16,1,5,1
+svshape 27,16,1,10,0
+svshape 27,16,1,10,1
+svshape 27,16,1,15,0
+svshape 27,16,1,15,1
+svshape 27,16,10,0,0
+svshape 27,16,10,0,1
+svshape 27,16,10,5,0
+svshape 27,16,10,5,1
+svshape 27,16,10,10,0
+svshape 27,16,10,10,1
+svshape 27,16,10,15,0
+svshape 27,16,10,15,1
+svshape 27,16,21,0,0
+svshape 27,16,21,0,1
+svshape 27,16,21,5,0
+svshape 27,16,21,5,1
+svshape 27,16,21,10,0
+svshape 27,16,21,10,1
+svshape 27,16,21,15,0
+svshape 27,16,21,15,1
+svshape 27,16,27,0,0
+svshape 27,16,27,0,1
+svshape 27,16,27,5,0
+svshape 27,16,27,5,1
+svshape 27,16,27,10,0
+svshape 27,16,27,10,1
+svshape 27,16,27,15,0
+svshape 27,16,27,15,1
+svshape 27,16,31,0,0
+svshape 27,16,31,0,1
+svshape 27,16,31,5,0
+svshape 27,16,31,5,1
+svshape 27,16,31,10,0
+svshape 27,16,31,10,1
+svshape 27,16,31,15,0
+svshape 27,16,31,15,1
+svshape 27,16,16,0,0
+svshape 27,16,16,0,1
+svshape 27,16,16,5,0
+svshape 27,16,16,5,1
+svshape 27,16,16,10,0
+svshape 27,16,16,10,1
+svshape 27,16,16,15,0
+svshape 27,16,16,15,1
+svshape 31,1,1,0,0
+svshape 31,1,1,0,1
+svshape 31,1,1,5,0
+svshape 31,1,1,5,1
+svshape 31,1,1,10,0
+svshape 31,1,1,10,1
+svshape 31,1,1,15,0
+svshape 31,1,1,15,1
+svshape 31,1,10,0,0
+svshape 31,1,10,0,1
+svshape 31,1,10,5,0
+svshape 31,1,10,5,1
+svshape 31,1,10,10,0
+svshape 31,1,10,10,1
+svshape 31,1,10,15,0
+svshape 31,1,10,15,1
+svshape 31,1,21,0,0
+svshape 31,1,21,0,1
+svshape 31,1,21,5,0
+svshape 31,1,21,5,1
+svshape 31,1,21,10,0
+svshape 31,1,21,10,1
+svshape 31,1,21,15,0
+svshape 31,1,21,15,1
+svshape 31,1,27,0,0
+svshape 31,1,27,0,1
+svshape 31,1,27,5,0
+svshape 31,1,27,5,1
+svshape 31,1,27,10,0
+svshape 31,1,27,10,1
+svshape 31,1,27,15,0
+svshape 31,1,27,15,1
+svshape 31,1,31,0,0
+svshape 31,1,31,0,1
+svshape 31,1,31,5,0
+svshape 31,1,31,5,1
+svshape 31,1,31,10,0
+svshape 31,1,31,10,1
+svshape 31,1,31,15,0
+svshape 31,1,31,15,1
+svshape 31,1,16,0,0
+svshape 31,1,16,0,1
+svshape 31,1,16,5,0
+svshape 31,1,16,5,1
+svshape 31,1,16,10,0
+svshape 31,1,16,10,1
+svshape 31,1,16,15,0
+svshape 31,1,16,15,1
+svshape 31,10,1,0,0
+svshape 31,10,1,0,1
+svshape 31,10,1,5,0
+svshape 31,10,1,5,1
+svshape 31,10,1,10,0
+svshape 31,10,1,10,1
+svshape 31,10,1,15,0
+svshape 31,10,1,15,1
+svshape 31,10,10,0,0
+svshape 31,10,10,0,1
+svshape 31,10,10,5,0
+svshape 31,10,10,5,1
+svshape 31,10,10,10,0
+svshape 31,10,10,10,1
+svshape 31,10,10,15,0
+svshape 31,10,10,15,1
+svshape 31,10,21,0,0
+svshape 31,10,21,0,1
+svshape 31,10,21,5,0
+svshape 31,10,21,5,1
+svshape 31,10,21,10,0
+svshape 31,10,21,10,1
+svshape 31,10,21,15,0
+svshape 31,10,21,15,1
+svshape 31,10,27,0,0
+svshape 31,10,27,0,1
+svshape 31,10,27,5,0
+svshape 31,10,27,5,1
+svshape 31,10,27,10,0
+svshape 31,10,27,10,1
+svshape 31,10,27,15,0
+svshape 31,10,27,15,1
+svshape 31,10,31,0,0
+svshape 31,10,31,0,1
+svshape 31,10,31,5,0
+svshape 31,10,31,5,1
+svshape 31,10,31,10,0
+svshape 31,10,31,10,1
+svshape 31,10,31,15,0
+svshape 31,10,31,15,1
+svshape 31,10,16,0,0
+svshape 31,10,16,0,1
+svshape 31,10,16,5,0
+svshape 31,10,16,5,1
+svshape 31,10,16,10,0
+svshape 31,10,16,10,1
+svshape 31,10,16,15,0
+svshape 31,10,16,15,1
+svshape 31,21,1,0,0
+svshape 31,21,1,0,1
+svshape 31,21,1,5,0
+svshape 31,21,1,5,1
+svshape 31,21,1,10,0
+svshape 31,21,1,10,1
+svshape 31,21,1,15,0
+svshape 31,21,1,15,1
+svshape 31,21,10,0,0
+svshape 31,21,10,0,1
+svshape 31,21,10,5,0
+svshape 31,21,10,5,1
+svshape 31,21,10,10,0
+svshape 31,21,10,10,1
+svshape 31,21,10,15,0
+svshape 31,21,10,15,1
+svshape 31,21,21,0,0
+svshape 31,21,21,0,1
+svshape 31,21,21,5,0
+svshape 31,21,21,5,1
+svshape 31,21,21,10,0
+svshape 31,21,21,10,1
+svshape 31,21,21,15,0
+svshape 31,21,21,15,1
+svshape 31,21,27,0,0
+svshape 31,21,27,0,1
+svshape 31,21,27,5,0
+svshape 31,21,27,5,1
+svshape 31,21,27,10,0
+svshape 31,21,27,10,1
+svshape 31,21,27,15,0
+svshape 31,21,27,15,1
+svshape 31,21,31,0,0
+svshape 31,21,31,0,1
+svshape 31,21,31,5,0
+svshape 31,21,31,5,1
+svshape 31,21,31,10,0
+svshape 31,21,31,10,1
+svshape 31,21,31,15,0
+svshape 31,21,31,15,1
+svshape 31,21,16,0,0
+svshape 31,21,16,0,1
+svshape 31,21,16,5,0
+svshape 31,21,16,5,1
+svshape 31,21,16,10,0
+svshape 31,21,16,10,1
+svshape 31,21,16,15,0
+svshape 31,21,16,15,1
+svshape 31,27,1,0,0
+svshape 31,27,1,0,1
+svshape 31,27,1,5,0
+svshape 31,27,1,5,1
+svshape 31,27,1,10,0
+svshape 31,27,1,10,1
+svshape 31,27,1,15,0
+svshape 31,27,1,15,1
+svshape 31,27,10,0,0
+svshape 31,27,10,0,1
+svshape 31,27,10,5,0
+svshape 31,27,10,5,1
+svshape 31,27,10,10,0
+svshape 31,27,10,10,1
+svshape 31,27,10,15,0
+svshape 31,27,10,15,1
+svshape 31,27,21,0,0
+svshape 31,27,21,0,1
+svshape 31,27,21,5,0
+svshape 31,27,21,5,1
+svshape 31,27,21,10,0
+svshape 31,27,21,10,1
+svshape 31,27,21,15,0
+svshape 31,27,21,15,1
+svshape 31,27,27,0,0
+svshape 31,27,27,0,1
+svshape 31,27,27,5,0
+svshape 31,27,27,5,1
+svshape 31,27,27,10,0
+svshape 31,27,27,10,1
+svshape 31,27,27,15,0
+svshape 31,27,27,15,1
+svshape 31,27,31,0,0
+svshape 31,27,31,0,1
+svshape 31,27,31,5,0
+svshape 31,27,31,5,1
+svshape 31,27,31,10,0
+svshape 31,27,31,10,1
+svshape 31,27,31,15,0
+svshape 31,27,31,15,1
+svshape 31,27,16,0,0
+svshape 31,27,16,0,1
+svshape 31,27,16,5,0
+svshape 31,27,16,5,1
+svshape 31,27,16,10,0
+svshape 31,27,16,10,1
+svshape 31,27,16,15,0
+svshape 31,27,16,15,1
+svshape 31,31,1,0,0
+svshape 31,31,1,0,1
+svshape 31,31,1,5,0
+svshape 31,31,1,5,1
+svshape 31,31,1,10,0
+svshape 31,31,1,10,1
+svshape 31,31,1,15,0
+svshape 31,31,1,15,1
+svshape 31,31,10,0,0
+svshape 31,31,10,0,1
+svshape 31,31,10,5,0
+svshape 31,31,10,5,1
+svshape 31,31,10,10,0
+svshape 31,31,10,10,1
+svshape 31,31,10,15,0
+svshape 31,31,10,15,1
+svshape 31,31,21,0,0
+svshape 31,31,21,0,1
+svshape 31,31,21,5,0
+svshape 31,31,21,5,1
+svshape 31,31,21,10,0
+svshape 31,31,21,10,1
+svshape 31,31,21,15,0
+svshape 31,31,21,15,1
+svshape 31,31,27,0,0
+svshape 31,31,27,0,1
+svshape 31,31,27,5,0
+svshape 31,31,27,5,1
+svshape 31,31,27,10,0
+svshape 31,31,27,10,1
+svshape 31,31,27,15,0
+svshape 31,31,27,15,1
+svshape 31,31,31,0,0
+svshape 31,31,31,0,1
+svshape 31,31,31,5,0
+svshape 31,31,31,5,1
+svshape 31,31,31,10,0
+svshape 31,31,31,10,1
+svshape 31,31,31,15,0
+svshape 31,31,31,15,1
+svshape 31,31,16,0,0
+svshape 31,31,16,0,1
+svshape 31,31,16,5,0
+svshape 31,31,16,5,1
+svshape 31,31,16,10,0
+svshape 31,31,16,10,1
+svshape 31,31,16,15,0
+svshape 31,31,16,15,1
+svshape 31,16,1,0,0
+svshape 31,16,1,0,1
+svshape 31,16,1,5,0
+svshape 31,16,1,5,1
+svshape 31,16,1,10,0
+svshape 31,16,1,10,1
+svshape 31,16,1,15,0
+svshape 31,16,1,15,1
+svshape 31,16,10,0,0
+svshape 31,16,10,0,1
+svshape 31,16,10,5,0
+svshape 31,16,10,5,1
+svshape 31,16,10,10,0
+svshape 31,16,10,10,1
+svshape 31,16,10,15,0
+svshape 31,16,10,15,1
+svshape 31,16,21,0,0
+svshape 31,16,21,0,1
+svshape 31,16,21,5,0
+svshape 31,16,21,5,1
+svshape 31,16,21,10,0
+svshape 31,16,21,10,1
+svshape 31,16,21,15,0
+svshape 31,16,21,15,1
+svshape 31,16,27,0,0
+svshape 31,16,27,0,1
+svshape 31,16,27,5,0
+svshape 31,16,27,5,1
+svshape 31,16,27,10,0
+svshape 31,16,27,10,1
+svshape 31,16,27,15,0
+svshape 31,16,27,15,1
+svshape 31,16,31,0,0
+svshape 31,16,31,0,1
+svshape 31,16,31,5,0
+svshape 31,16,31,5,1
+svshape 31,16,31,10,0
+svshape 31,16,31,10,1
+svshape 31,16,31,15,0
+svshape 31,16,31,15,1
+svshape 31,16,16,0,0
+svshape 31,16,16,0,1
+svshape 31,16,16,5,0
+svshape 31,16,16,5,1
+svshape 31,16,16,10,0
+svshape 31,16,16,10,1
+svshape 31,16,16,15,0
+svshape 31,16,16,15,1
+svshape 16,1,1,0,0
+svshape 16,1,1,0,1
+svshape 16,1,1,5,0
+svshape 16,1,1,5,1
+svshape 16,1,1,10,0
+svshape 16,1,1,10,1
+svshape 16,1,1,15,0
+svshape 16,1,1,15,1
+svshape 16,1,10,0,0
+svshape 16,1,10,0,1
+svshape 16,1,10,5,0
+svshape 16,1,10,5,1
+svshape 16,1,10,10,0
+svshape 16,1,10,10,1
+svshape 16,1,10,15,0
+svshape 16,1,10,15,1
+svshape 16,1,21,0,0
+svshape 16,1,21,0,1
+svshape 16,1,21,5,0
+svshape 16,1,21,5,1
+svshape 16,1,21,10,0
+svshape 16,1,21,10,1
+svshape 16,1,21,15,0
+svshape 16,1,21,15,1
+svshape 16,1,27,0,0
+svshape 16,1,27,0,1
+svshape 16,1,27,5,0
+svshape 16,1,27,5,1
+svshape 16,1,27,10,0
+svshape 16,1,27,10,1
+svshape 16,1,27,15,0
+svshape 16,1,27,15,1
+svshape 16,1,31,0,0
+svshape 16,1,31,0,1
+svshape 16,1,31,5,0
+svshape 16,1,31,5,1
+svshape 16,1,31,10,0
+svshape 16,1,31,10,1
+svshape 16,1,31,15,0
+svshape 16,1,31,15,1
+svshape 16,1,16,0,0
+svshape 16,1,16,0,1
+svshape 16,1,16,5,0
+svshape 16,1,16,5,1
+svshape 16,1,16,10,0
+svshape 16,1,16,10,1
+svshape 16,1,16,15,0
+svshape 16,1,16,15,1
+svshape 16,10,1,0,0
+svshape 16,10,1,0,1
+svshape 16,10,1,5,0
+svshape 16,10,1,5,1
+svshape 16,10,1,10,0
+svshape 16,10,1,10,1
+svshape 16,10,1,15,0
+svshape 16,10,1,15,1
+svshape 16,10,10,0,0
+svshape 16,10,10,0,1
+svshape 16,10,10,5,0
+svshape 16,10,10,5,1
+svshape 16,10,10,10,0
+svshape 16,10,10,10,1
+svshape 16,10,10,15,0
+svshape 16,10,10,15,1
+svshape 16,10,21,0,0
+svshape 16,10,21,0,1
+svshape 16,10,21,5,0
+svshape 16,10,21,5,1
+svshape 16,10,21,10,0
+svshape 16,10,21,10,1
+svshape 16,10,21,15,0
+svshape 16,10,21,15,1
+svshape 16,10,27,0,0
+svshape 16,10,27,0,1
+svshape 16,10,27,5,0
+svshape 16,10,27,5,1
+svshape 16,10,27,10,0
+svshape 16,10,27,10,1
+svshape 16,10,27,15,0
+svshape 16,10,27,15,1
+svshape 16,10,31,0,0
+svshape 16,10,31,0,1
+svshape 16,10,31,5,0
+svshape 16,10,31,5,1
+svshape 16,10,31,10,0
+svshape 16,10,31,10,1
+svshape 16,10,31,15,0
+svshape 16,10,31,15,1
+svshape 16,10,16,0,0
+svshape 16,10,16,0,1
+svshape 16,10,16,5,0
+svshape 16,10,16,5,1
+svshape 16,10,16,10,0
+svshape 16,10,16,10,1
+svshape 16,10,16,15,0
+svshape 16,10,16,15,1
+svshape 16,21,1,0,0
+svshape 16,21,1,0,1
+svshape 16,21,1,5,0
+svshape 16,21,1,5,1
+svshape 16,21,1,10,0
+svshape 16,21,1,10,1
+svshape 16,21,1,15,0
+svshape 16,21,1,15,1
+svshape 16,21,10,0,0
+svshape 16,21,10,0,1
+svshape 16,21,10,5,0
+svshape 16,21,10,5,1
+svshape 16,21,10,10,0
+svshape 16,21,10,10,1
+svshape 16,21,10,15,0
+svshape 16,21,10,15,1
+svshape 16,21,21,0,0
+svshape 16,21,21,0,1
+svshape 16,21,21,5,0
+svshape 16,21,21,5,1
+svshape 16,21,21,10,0
+svshape 16,21,21,10,1
+svshape 16,21,21,15,0
+svshape 16,21,21,15,1
+svshape 16,21,27,0,0
+svshape 16,21,27,0,1
+svshape 16,21,27,5,0
+svshape 16,21,27,5,1
+svshape 16,21,27,10,0
+svshape 16,21,27,10,1
+svshape 16,21,27,15,0
+svshape 16,21,27,15,1
+svshape 16,21,31,0,0
+svshape 16,21,31,0,1
+svshape 16,21,31,5,0
+svshape 16,21,31,5,1
+svshape 16,21,31,10,0
+svshape 16,21,31,10,1
+svshape 16,21,31,15,0
+svshape 16,21,31,15,1
+svshape 16,21,16,0,0
+svshape 16,21,16,0,1
+svshape 16,21,16,5,0
+svshape 16,21,16,5,1
+svshape 16,21,16,10,0
+svshape 16,21,16,10,1
+svshape 16,21,16,15,0
+svshape 16,21,16,15,1
+svshape 16,27,1,0,0
+svshape 16,27,1,0,1
+svshape 16,27,1,5,0
+svshape 16,27,1,5,1
+svshape 16,27,1,10,0
+svshape 16,27,1,10,1
+svshape 16,27,1,15,0
+svshape 16,27,1,15,1
+svshape 16,27,10,0,0
+svshape 16,27,10,0,1
+svshape 16,27,10,5,0
+svshape 16,27,10,5,1
+svshape 16,27,10,10,0
+svshape 16,27,10,10,1
+svshape 16,27,10,15,0
+svshape 16,27,10,15,1
+svshape 16,27,21,0,0
+svshape 16,27,21,0,1
+svshape 16,27,21,5,0
+svshape 16,27,21,5,1
+svshape 16,27,21,10,0
+svshape 16,27,21,10,1
+svshape 16,27,21,15,0
+svshape 16,27,21,15,1
+svshape 16,27,27,0,0
+svshape 16,27,27,0,1
+svshape 16,27,27,5,0
+svshape 16,27,27,5,1
+svshape 16,27,27,10,0
+svshape 16,27,27,10,1
+svshape 16,27,27,15,0
+svshape 16,27,27,15,1
+svshape 16,27,31,0,0
+svshape 16,27,31,0,1
+svshape 16,27,31,5,0
+svshape 16,27,31,5,1
+svshape 16,27,31,10,0
+svshape 16,27,31,10,1
+svshape 16,27,31,15,0
+svshape 16,27,31,15,1
+svshape 16,27,16,0,0
+svshape 16,27,16,0,1
+svshape 16,27,16,5,0
+svshape 16,27,16,5,1
+svshape 16,27,16,10,0
+svshape 16,27,16,10,1
+svshape 16,27,16,15,0
+svshape 16,27,16,15,1
+svshape 16,31,1,0,0
+svshape 16,31,1,0,1
+svshape 16,31,1,5,0
+svshape 16,31,1,5,1
+svshape 16,31,1,10,0
+svshape 16,31,1,10,1
+svshape 16,31,1,15,0
+svshape 16,31,1,15,1
+svshape 16,31,10,0,0
+svshape 16,31,10,0,1
+svshape 16,31,10,5,0
+svshape 16,31,10,5,1
+svshape 16,31,10,10,0
+svshape 16,31,10,10,1
+svshape 16,31,10,15,0
+svshape 16,31,10,15,1
+svshape 16,31,21,0,0
+svshape 16,31,21,0,1
+svshape 16,31,21,5,0
+svshape 16,31,21,5,1
+svshape 16,31,21,10,0
+svshape 16,31,21,10,1
+svshape 16,31,21,15,0
+svshape 16,31,21,15,1
+svshape 16,31,27,0,0
+svshape 16,31,27,0,1
+svshape 16,31,27,5,0
+svshape 16,31,27,5,1
+svshape 16,31,27,10,0
+svshape 16,31,27,10,1
+svshape 16,31,27,15,0
+svshape 16,31,27,15,1
+svshape 16,31,31,0,0
+svshape 16,31,31,0,1
+svshape 16,31,31,5,0
+svshape 16,31,31,5,1
+svshape 16,31,31,10,0
+svshape 16,31,31,10,1
+svshape 16,31,31,15,0
+svshape 16,31,31,15,1
+svshape 16,31,16,0,0
+svshape 16,31,16,0,1
+svshape 16,31,16,5,0
+svshape 16,31,16,5,1
+svshape 16,31,16,10,0
+svshape 16,31,16,10,1
+svshape 16,31,16,15,0
+svshape 16,31,16,15,1
+svshape 16,16,1,0,0
+svshape 16,16,1,0,1
+svshape 16,16,1,5,0
+svshape 16,16,1,5,1
+svshape 16,16,1,10,0
+svshape 16,16,1,10,1
+svshape 16,16,1,15,0
+svshape 16,16,1,15,1
+svshape 16,16,10,0,0
+svshape 16,16,10,0,1
+svshape 16,16,10,5,0
+svshape 16,16,10,5,1
+svshape 16,16,10,10,0
+svshape 16,16,10,10,1
+svshape 16,16,10,15,0
+svshape 16,16,10,15,1
+svshape 16,16,21,0,0
+svshape 16,16,21,0,1
+svshape 16,16,21,5,0
+svshape 16,16,21,5,1
+svshape 16,16,21,10,0
+svshape 16,16,21,10,1
+svshape 16,16,21,15,0
+svshape 16,16,21,15,1
+svshape 16,16,27,0,0
+svshape 16,16,27,0,1
+svshape 16,16,27,5,0
+svshape 16,16,27,5,1
+svshape 16,16,27,10,0
+svshape 16,16,27,10,1
+svshape 16,16,27,15,0
+svshape 16,16,27,15,1
+svshape 16,16,31,0,0
+svshape 16,16,31,0,1
+svshape 16,16,31,5,0
+svshape 16,16,31,5,1
+svshape 16,16,31,10,0
+svshape 16,16,31,10,1
+svshape 16,16,31,15,0
+svshape 16,16,31,15,1
+svshape 16,16,16,0,0
+svshape 16,16,16,0,1
+svshape 16,16,16,5,0
+svshape 16,16,16,5,1
+svshape 16,16,16,10,0
+svshape 16,16,16,10,1
+svshape 16,16,16,15,0
+svshape 16,16,16,15,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index b053a15125..f5fd444ea3 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -2739,6 +2739,76 @@ extract_svi (uint64_t insn ATTRIBUTE_UNUSED,
   return (((insn >> 9) & 0x3f) + 1);
 }
 
+static uint64_t
+insert_svm (uint64_t insn,
+            int64_t value,
+	    unsigned int shift,
+            ppc_cpu_t dialect ATTRIBUTE_UNUSED,
+            const char **errmsg ATTRIBUTE_UNUSED)
+{
+  return (insn | (((value - 1) & 0x1f) << shift));
+}
+
+static uint64_t
+insert_svxd (uint64_t insn,
+             int64_t value,
+             ppc_cpu_t dialect,
+             const char **errmsg)
+{
+  return insert_svm (insn, value,  21, dialect, errmsg);
+}
+
+static uint64_t
+insert_svyd (uint64_t insn,
+             int64_t value,
+             ppc_cpu_t dialect,
+             const char **errmsg)
+{
+  return insert_svm (insn, value,  16, dialect, errmsg);
+}
+
+static uint64_t
+insert_svzd (uint64_t insn,
+             int64_t value,
+             ppc_cpu_t dialect,
+             const char **errmsg)
+{
+  return insert_svm (insn, value,  11, dialect, errmsg);
+}
+
+static int64_t
+extract_svm (uint64_t insn,
+             unsigned int shift,
+             ppc_cpu_t dialect ATTRIBUTE_UNUSED,
+             int *invalid ATTRIBUTE_UNUSED)
+{
+  return (((insn >> shift) & 0x1f) + 1);
+}
+
+static int64_t
+extract_svxd (uint64_t insn,
+              ppc_cpu_t dialect,
+              int *invalid)
+{
+  return extract_svm (insn, 21, dialect, invalid);
+}
+
+static int64_t
+extract_svyd (uint64_t insn,
+              ppc_cpu_t dialect,
+              int *invalid)
+{
+  return extract_svm (insn, 16, dialect, invalid);
+}
+
+static int64_t
+extract_svzd (uint64_t insn,
+              ppc_cpu_t dialect,
+              int *invalid)
+{
+  return extract_svm (insn, 11, dialect, invalid);
+}
+
 \f
 /* The operands table.
 
@@ -3857,6 +3927,21 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define ms vs + 1
   { 0x1, 8, NULL, NULL, 0 },
+
+#define SVLcr ms + 1
+  { 0x1, 5, NULL, NULL, 0 },
+
+#define SVxd SVLcr + 1
+  { 0x1f, 21, insert_svxd, extract_svxd, 0 },
+
+#define SVyd SVxd + 1
+  { 0x1f, 16, insert_svyd, extract_svyd, 0 },
+
+#define SVzd SVyd + 1
+  { 0x1f, 11, insert_svzd, extract_svzd, 0 },
+
+#define SVRMf SVzd + 1
+  { 0xf, 7, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4733,6 +4818,12 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
    | (((uint64_t)(rc)) & 1))
 #define SVL_MASK	SVL (0x3f, 0x1f, 1)
 
+/* An SVM form instruction. */
+#define SVM(op, xop)				\
+  (OP (op)					\
+   | (((uint64_t)(xop)) & 0x3f))
+#define SVM_MASK	SVM (0x3f, 0x3f)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6805,6 +6896,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"svstep",	SVL(22,19,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
 {"svstep.",	SVL(22,19,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
 
+{"svshape",	SVM(22,25),	SVM_MASK,	SVP64,	PPCVLE,	{SVxd, SVyd, SVzd, SVRMf, vf}},
+
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 0/5] ppc/svp64: support SVP64 and its first insns
  2022-06-19 23:49 ` [PATCH 0/5] ppc/svp64: support SVP64 and its first insns Alan Modra
@ 2022-06-21 11:55   ` Dmitry Selyutin
  0 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-21 11:55 UTC (permalink / raw)
  To: Alan Modra; +Cc: binutils, Luke Kenneth Casson Leighton

On Mon, Jun 20, 2022 at 2:50 AM Alan Modra <amodra@gmail.com> wrote:
> These all look good to me, and can be pushed when your copyright
> assignment is complete.

Still no news about it. We have contacted fst-records at GNU and
copyright-clerk at FSF, no reply yet.

> The only review comment I have is that
> #define SVme TO
> would be better for maintenance if placed with the TO definition, so
> that someone doesn't change the TO entry without realising they are
> also changing things for SVme.  Similarly for the other aliases you
> define.

I've chosen the approach in patches since it made tracking arguments
somewhat simpler. Anyway, I totally agree with your rationale, I've
just submitted the updated patch to the mailing list.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v2 2/5] ppc/svp64: support setvl instructions
  2022-06-21 11:51   ` [PATCH v2 2/5] ppc/svp64: support setvl instructions Dmitry Selyutin
@ 2022-06-21 18:25     ` Peter Bergner
  2022-06-21 18:39       ` Peter Bergner
  0 siblings, 1 reply; 62+ messages in thread
From: Peter Bergner @ 2022-06-21 18:25 UTC (permalink / raw)
  To: Dmitry Selyutin, binutils; +Cc: Luke Kenneth Casson Leighton, Alan Modra

One or more of the following files ( byte-swap-test.pl ) violates IBM policy and all attachment(s) have been removed from the message.

**********************************************************************
On 6/21/22 6:51 AM, Dmitry Selyutin via Binutils wrote:
> +       0:	36 00 00 58 	setvl   r0,r0,1,0,0,0
> +       4:	36 01 00 58 	setvl   r0,r0,1,0,0,1
> +       8:	b6 00 00 58 	setvl   r0,r0,1,0,1,0
> +       c:	b6 01 00 58 	setvl   r0,r0,1,0,1,1
> +      10:	76 00 00 58 	setvl   r0,r0,1,1,0,0
> +      14:	76 01 00 58 	setvl   r0,r0,1,1,0,1

I have learned that not specifying the exact offset in the foo.d file is
beneficial when you want to make changes to that file in the future,
especially if you want to add a new instruction test in the beginning
or middle of the test.  If you do that, all of the offsets for the
following tests will change and your patch will be LARGE.  The offset
is really not important, so you don't need it.  I recommend just using:

.*:

...for the offset of all of the instructions.  It makes adding new test
lines much easier for the patch reviewer! :-)

Secondly, ppc is a bi-endian architecture and I assume libre-soc is as well?
If so, I recommend following what Alan and I have done with the Power server
tests (eg, power10.d) and accept the encoding as both big or little endian.
Taking both of those suggestions on the snipit from setvl.d, you'd have:

.*:	(36 00 00 58|58 00 00 36) 	setvl   r0,r0,1,0,0,0
.*:	(36 01 00 58|58 00 01 36) 	setvl   r0,r0,1,0,0,1
.*:	(b6 00 00 58|58 00 00 b6) 	setvl   r0,r0,1,0,1,0
.*:	(b6 01 00 58|58 00 01 b6) 	setvl   r0,r0,1,0,1,1
.*:	(76 00 00 58|58 00 00 76) 	setvl   r0,r0,1,1,0,0
.*:	(76 01 00 58|58 00 01 76) 	setvl   r0,r0,1,1,0,1


We also place a "#pass" on the last line of the foo.d file which fixes
some issue which I can't remember off hand.  Alan, can you remind me/us
why we place that there?  I've attached a hackish perl script that will
take an "objdump -dr setvl.o" output and convert it into a setvl.d test
file for you.  It'll create lines like the above for you.  You do need
to verify that your objdump output is correct though! :-)

You'll also need a ChangeLog entry for these changes before you can push
your commit.

Peter



^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v2 2/5] ppc/svp64: support setvl instructions
  2022-06-21 18:25     ` Peter Bergner
@ 2022-06-21 18:39       ` Peter Bergner
  0 siblings, 0 replies; 62+ messages in thread
From: Peter Bergner @ 2022-06-21 18:39 UTC (permalink / raw)
  To: Dmitry Selyutin, binutils; +Cc: Luke Kenneth Casson Leighton, Alan Modra

On 6/21/22 1:25 PM, Peter Bergner via Binutils wrote:
> One or more of the following files ( byte-swap-test.pl ) violates ...

WT*? :-(

Here it is inline.

Peter



#!/usr/bin/perl -w

use File::Basename;
use FileHandle;
use strict;

die "Usage: ", basename ($0), " <asm file>\n" unless (@ARGV);

my $file = shift ();
my $fh = new FileHandle;

$fh->open ($file) or
  die "Error opening '$file' for reading: $!\n";

print "#as: -m<cpu>\n",
      "#objdump: -dr -M<cpu>\n",
      "#name: <CPU> tests\n";

my $found = 0;
while (my $insn = <$fh>)
{
  chomp ($insn);
  if ($insn =~ m/^.*:\W+file format.*/)
    {
      print ".*\n";
    }
  elsif ($insn =~ m/^[0-9a-fA-F]+ <([^>]+)>:(.*)/)
    {
      print "0+0 <$1>:$2\n";
      last;
    }
  else
    {
      $insn =~ s#\.#\\\.#g;
      $insn =~ s#\(#\\\(#g;
      $insn =~ s#\)#\\\)#g;
      print "$insn\n";
    }
}

while (my $insn = <$fh>)
{
  chomp ($insn);
  if ($insn =~ m/^\W*([0-9a-fA-F]+):\t([0-9a-f][0-9a-f]) ([0-9a-f][0-9a-f]) ([0-9a-f][0-9a-f]) ([0-9a-f][0-9a-f])(.*)/)
    {
      my ($offset,$b0,$b1,$b2,$b3,$end) = ($1,$2,$3,$4,$5,$6);
      $offset = '.*';
      $end =~ s#\.#\\\.#g;
      $end =~ s#\(#\\\(#g;
      $end =~ s#\)#\\\)#g;
      $end =~ s#\+#\\\+#g;
      $end =~ s#\*#\\\*#g;
      $insn = sprintf ("%s:\t($b0 $b1 $b2 $b3|$b3 $b2 $b1 $b0)$end", $offset);
    }
  elsif ($insn =~ m/^\s+[0-9a-fA-F]+: R_PPC64_.*/)
    {
      $insn =~ s#R_PPC64_#R_PPC\(|64\)_#g;
    }

  print "$insn\n";
}
print "#pass\n";



^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v2 0/5] ppc/svp64: support SVP64 and its first insns
  2022-06-21 11:51 ` [PATCH v2 " Dmitry Selyutin
                     ` (3 preceding siblings ...)
  2022-06-21 11:51   ` [PATCH v2 4/5] ppc/svp64: support svshape instruction Dmitry Selyutin
@ 2022-06-22  6:41   ` Jan Beulich
  2022-06-22  6:44   ` Jan Beulich
  2022-06-23 19:37   ` [PATCH v3 0/6] " Dmitry Selyutin
  6 siblings, 0 replies; 62+ messages in thread
From: Jan Beulich @ 2022-06-22  6:41 UTC (permalink / raw)
  To: Dmitry Selyutin; +Cc: Luke Kenneth Casson Leighton, binutils

On 21.06.2022 13:51, Dmitry Selyutin via Binutils wrote:
> Changes since v1:
> - Aliased instruction fields now appear after the original ones.
> 
> Dmitry Selyutin (5):
>   ppc/svp64: support LibreSOC architecture
>   ppc/svp64: support setvl instructions
>   ppc/svp64: support svstep instructions
>   ppc/svp64: support svshape instruction
>   ppc/svp64: support svremap instruction

Btw neither my inbox nor the list archive have patch 5, with the same
already having been the case for v1.

Jan

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v2 0/5] ppc/svp64: support SVP64 and its first insns
  2022-06-21 11:51 ` [PATCH v2 " Dmitry Selyutin
                     ` (4 preceding siblings ...)
  2022-06-22  6:41   ` [PATCH v2 0/5] ppc/svp64: support SVP64 and its first insns Jan Beulich
@ 2022-06-22  6:44   ` Jan Beulich
  2022-06-22  6:57     ` Dmitry Selyutin
  2022-06-23 19:37   ` [PATCH v3 0/6] " Dmitry Selyutin
  6 siblings, 1 reply; 62+ messages in thread
From: Jan Beulich @ 2022-06-22  6:44 UTC (permalink / raw)
  To: Dmitry Selyutin; +Cc: Luke Kenneth Casson Leighton, binutils

On 21.06.2022 13:51, Dmitry Selyutin via Binutils wrote:
> Changes since v1:
> - Aliased instruction fields now appear after the original ones.

One more remark: Neither here nor in the individual patches you have
much of a (in fact any) description. I think at the very least you
want to help people by supplying a link to the spec.

Jan

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v2 0/5] ppc/svp64: support SVP64 and its first insns
  2022-06-22  6:44   ` Jan Beulich
@ 2022-06-22  6:57     ` Dmitry Selyutin
  0 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-22  6:57 UTC (permalink / raw)
  To: Jan Beulich; +Cc: Luke Kenneth Casson Leighton, binutils

On Wed, Jun 22, 2022, 09:44 Jan Beulich <jbeulich@suse.com> wrote:

> One more remark: Neither here nor in the individual patches you have
> much of a (in fact any) description. I think at the very least you
> want to help people by supplying a link to the spec.
>

Thanks for the remark! I'll update the very first patch with links and
overall description. Also I'll supply the description for each instruction.
Also I'll probably decrease patch 5 in size. Stay tuned for v3. :-)

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v3 0/6] ppc/svp64: support SVP64 and its first insns
  2022-06-21 11:51 ` [PATCH v2 " Dmitry Selyutin
                     ` (5 preceding siblings ...)
  2022-06-22  6:44   ` Jan Beulich
@ 2022-06-23 19:37   ` Dmitry Selyutin
  2022-06-23 19:37     ` [PATCH v3 1/6] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
                       ` (7 more replies)
  6 siblings, 8 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 19:37 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

These patches add support for LibreSOC machine and SVP64 extension flag
for PowerPC architecture. SV (Simple-V) is a strict RISC-paradigm
Scalable Vector Extension for the Power ISA. SVP64 is the 64-bit
Prefixed instruction format implementing SV. Funded by NLnet through EU
Grants No: 825310 and 825322, SV is in DRAFT form and is to be publicly
submitted via the OpenPOWER Foundation ISA Working Group via the
newly-created External RFC Process.

Changes since v2:
- All patches now have the description including links to docs.
- A new operand flag is introduced for ranges 1..n instead of 0..n-1.
- All tests are rewritten for simplicity's sake.

Changes since v1:
- Aliased instruction fields now appear after the original ones.

Dmitry Selyutin (6):
  ppc/svp64: support LibreSOC architecture
  ppc: introduce non-zero operand
  ppc/svp64: support setvl instructions
  ppc/svp64: support svstep instructions
  ppc/svp64: support svshape instruction
  ppc/svp64: support svremap instruction

 gas/config/tc-ppc.c             |  5 +++
 gas/testsuite/gas/ppc/ppc.exp   |  5 +++
 gas/testsuite/gas/ppc/setvl.d   | 15 +++++++
 gas/testsuite/gas/ppc/setvl.s   |  7 ++++
 gas/testsuite/gas/ppc/svremap.d | 16 ++++++++
 gas/testsuite/gas/ppc/svremap.s |  8 ++++
 gas/testsuite/gas/ppc/svshape.d | 13 +++++++
 gas/testsuite/gas/ppc/svshape.s |  5 +++
 gas/testsuite/gas/ppc/svstep.d  | 13 +++++++
 gas/testsuite/gas/ppc/svstep.s  |  5 +++
 include/opcode/ppc.h            |  6 +++
 opcodes/ppc-dis.c               |  5 +++
 opcodes/ppc-opc.c               | 69 +++++++++++++++++++++++++++++++++
 13 files changed, 172 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/setvl.d
 create mode 100644 gas/testsuite/gas/ppc/setvl.s
 create mode 100644 gas/testsuite/gas/ppc/svremap.d
 create mode 100644 gas/testsuite/gas/ppc/svremap.s
 create mode 100644 gas/testsuite/gas/ppc/svshape.d
 create mode 100644 gas/testsuite/gas/ppc/svshape.s
 create mode 100644 gas/testsuite/gas/ppc/svstep.d
 create mode 100644 gas/testsuite/gas/ppc/svstep.s

-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v3 1/6] ppc/svp64: support LibreSOC architecture
  2022-06-23 19:37   ` [PATCH v3 0/6] " Dmitry Selyutin
@ 2022-06-23 19:37     ` Dmitry Selyutin
  2022-06-23 19:37     ` [PATCH v3 2/6] ppc: introduce non-zero operand Dmitry Selyutin
                       ` (6 subsequent siblings)
  7 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 19:37 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

This patch adds support for LibreSOC machine and SVP64 extension flag
for PowerPC architecture. SV (Simple-V) is a strict RISC-paradigm
Scalable Vector Extension for the Power ISA. SVP64 is the 64-bit
Prefixed instruction format implementing SV. Funded by NLnet through EU
Grants No: 825310 and 825322, SV is in DRAFT form and is to be publicly
submitted via the OpenPOWER Foundation ISA Working Group via the
newly-created External RFC Process.

For more details, visit https://libre-soc.org.
---
 gas/config/tc-ppc.c  | 2 ++
 include/opcode/ppc.h | 3 +++
 opcodes/ppc-dis.c    | 5 +++++
 opcodes/ppc-opc.c    | 1 +
 4 files changed, 11 insertions(+)

diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 4d789fd16a..76bdfb2e35 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1384,6 +1384,8 @@ PowerPC options:\n"));
   fprintf (stream, _("\
 -mpower10, -mpwr10      generate code for Power10 architecture\n"));
   fprintf (stream, _("\
+-mlibresoc              generate code for Libre-SOC architecture\n"));
+  fprintf (stream, _("\
 -mcell                  generate code for Cell Broadband Engine architecture\n"));
   fprintf (stream, _("\
 -mcom                   generate code for Power/PowerPC common instructions\n"));
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index 7bc6ee216e..d5752a42e6 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -237,6 +237,9 @@ extern const unsigned int spe2_num_opcodes;
 /* Opcode is only supported by power10 architecture.  */
 #define PPC_OPCODE_POWER10  0x400000000000ull
 
+/* Opcode is only supported by SVP64 extensions (LibreSOC architecture).  */
+#define PPC_OPCODE_SVP64	 0x800000000000ull
+
 /* A macro to extract the major opcode from an instruction.  */
 #define PPC_OP(i) (((i) >> 26) & 0x3f)
 
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index 45e8faeef5..f61e6518f1 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -200,6 +200,11 @@ struct ppc_mopt ppc_opts[] = {
 		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
 		| PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX),
     0 },
+  { "libresoc",  (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
+		| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
+		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
+		| PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_SVP64),
+    0 },
   { "future",  (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
 		| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
 		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index f5bd6dac50..fe2fcaeb1d 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -4826,6 +4826,7 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
 #define PPCHTM  PPC_OPCODE_POWER8
 #define E200Z4  PPC_OPCODE_E200Z4
 #define PPCLSP  PPC_OPCODE_LSP
+#define SVP64 PPC_OPCODE_SVP64
 /* Used to mark extended mnemonic in deprecated field so that -Mraw
    won't use this variant in disassembly.  */
 #define EXT	PPC_OPCODE_RAW
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v3 2/6] ppc: introduce non-zero operand
  2022-06-23 19:37   ` [PATCH v3 0/6] " Dmitry Selyutin
  2022-06-23 19:37     ` [PATCH v3 1/6] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
@ 2022-06-23 19:37     ` Dmitry Selyutin
  2022-06-23 19:58       ` lkcl
  2022-06-23 19:37     ` [PATCH v3 3/6] ppc/svp64: support setvl instructions Dmitry Selyutin
                       ` (5 subsequent siblings)
  7 siblings, 1 reply; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 19:37 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

svstep and svshape instructions subtract 1 before encoding some of the
operands. Obviously zero is not supported for these operands. Whilst
PPC_OPCODE_PLUS1 fits perfectly to mark that maximal value should be
incremented, there is no flag which marks the fact that zero values are
not allowed. This patch adds a new flag, PPC_OPCODE_NONZERO, for this
purpose.
---
 gas/config/tc-ppc.c  | 3 +++
 include/opcode/ppc.h | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 76bdfb2e35..7d27334aa6 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1951,6 +1951,9 @@ ppc_insert_operand (uint64_t insn,
   right = max & -max;
   min = 0;
 
+  if ((operand->flags & PPC_OPERAND_NONZERO) != 0)
+    min = 1;
+
   if ((operand->flags & PPC_OPERAND_SIGNOPT) != 0)
     {
       /* Extend the allowed range for addis to [-32768, 65535].
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index d5752a42e6..215fa8c5e0 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -463,6 +463,9 @@ extern const unsigned int num_powerpc_operands;
 #define PPC_OPERAND_FCR (0x1000000)
 #define PPC_OPERAND_UDI (0x2000000)
 
+/* The operand cannot be zero.  */
+#define PPC_OPERAND_NONZERO (0x4000000)
+
 extern ppc_cpu_t ppc_parse_cpu (ppc_cpu_t, ppc_cpu_t *, const char *);
 
 static inline int64_t
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v3 3/6] ppc/svp64: support setvl instructions
  2022-06-23 19:37   ` [PATCH v3 0/6] " Dmitry Selyutin
  2022-06-23 19:37     ` [PATCH v3 1/6] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
  2022-06-23 19:37     ` [PATCH v3 2/6] ppc: introduce non-zero operand Dmitry Selyutin
@ 2022-06-23 19:37     ` Dmitry Selyutin
  2022-06-23 19:37     ` [PATCH v3 4/6] ppc/svp64: support svstep instructions Dmitry Selyutin
                       ` (4 subsequent siblings)
  7 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 19:37 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/setvl/
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp |  2 ++
 gas/testsuite/gas/ppc/setvl.d | 15 +++++++++++++++
 gas/testsuite/gas/ppc/setvl.s |  7 +++++++
 opcodes/ppc-opc.c             | 23 +++++++++++++++++++++++
 4 files changed, 47 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/setvl.d
 create mode 100644 gas/testsuite/gas/ppc/setvl.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index a2e23a2c6a..cd4dd658ce 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -153,3 +153,5 @@ run_dump_test "rop-checks"
 run_dump_test "dcbt"
 run_dump_test "pr27676"
 run_dump_test "raw"
+
+run_dump_test "setvl"
diff --git a/gas/testsuite/gas/ppc/setvl.d b/gas/testsuite/gas/ppc/setvl.d
new file mode 100644
index 0000000000..20af161ae7
--- /dev/null
+++ b/gas/testsuite/gas/ppc/setvl.d
@@ -0,0 +1,15 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:   (37 00 00 58|58 00 00 37)     setvl.  r0,r0,1,0,0,0
+.*:   (36 00 00 58|58 00 00 36)     setvl   r0,r0,1,0,0,0
+.*:   (36 00 e0 5b|5b e0 00 36)     setvl   r31,r0,1,0,0,0
+.*:   (36 00 1f 58|58 1f 00 36)     setvl   r0,r31,1,0,0,0
+.*:   (36 7e 00 58|58 00 7e 36)     setvl   r0,r0,64,0,0,0
+.*:   (76 00 00 58|58 00 00 76)     setvl   r0,r0,1,1,0,0
+.*:   (b6 00 00 58|58 00 00 b6)     setvl   r0,r0,1,0,1,0
diff --git a/gas/testsuite/gas/ppc/setvl.s b/gas/testsuite/gas/ppc/setvl.s
new file mode 100644
index 0000000000..b7f1825b54
--- /dev/null
+++ b/gas/testsuite/gas/ppc/setvl.s
@@ -0,0 +1,7 @@
+setvl. 0,0,1,0,0,0
+setvl 0,0,1,0,0,0
+setvl 31,0,1,0,0,0
+setvl 0,31,1,0,0,0
+setvl 0,0,64,0,0,0
+setvl 0,0,1,1,0,0
+setvl 0,0,1,0,1,0
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index fe2fcaeb1d..2b47fb8781 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -2719,6 +2719,7 @@ extract_thds (uint64_t insn,
 
   return value;
 }
+
 \f
 /* The operands table.
 
@@ -3825,6 +3826,18 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define HH DDD + 1
   { 0x3, 13, NULL, NULL, 0 },
+
+#define SVi HH + 1
+  { 0x3f, 9, NULL, NULL, (PPC_OPERAND_PLUS1 | PPC_OPERAND_NONZERO) },
+
+#define vf SVi + 1
+  { 0x1, 6, NULL, NULL, 0 },
+
+#define vs vf + 1
+  { 0x1, 7, NULL, NULL, 0 },
+
+#define ms vs + 1
+  { 0x1, 8, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4694,6 +4707,13 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
 #define APU_RT_MASK (APU_MASK | RT_MASK)
 #define APU_RA_MASK (APU_MASK | RA_MASK)
 
+/* An SVL form instruction. */
+#define SVL(op, xop, rc)			\
+  (OP (op)					\
+   | ((((uint64_t)(xop)) & 0x1f) << 1)		\
+   | (((uint64_t)(rc)) & 1))
+#define SVL_MASK	SVL (0x3f, 0x1f, 1)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6763,6 +6783,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"rlmi",	M(22,0),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlmi.",	M(22,1),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 
+{"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
+{"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
+
 {"rotlw",	MME(23,31,0),	MMBME_MASK,  PPCCOM,	PPCVLE|EXT,	{RA, RS, RB}},
 {"rlwnm",	M(23,0),	M_MASK,	     PPCCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlnm",	M(23,0),	M_MASK,	     PWRCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v3 4/6] ppc/svp64: support svstep instructions
  2022-06-23 19:37   ` [PATCH v3 0/6] " Dmitry Selyutin
                       ` (2 preceding siblings ...)
  2022-06-23 19:37     ` [PATCH v3 3/6] ppc/svp64: support setvl instructions Dmitry Selyutin
@ 2022-06-23 19:37     ` Dmitry Selyutin
  2022-06-23 19:37     ` [PATCH v3 5/6] ppc/svp64: support svshape instruction Dmitry Selyutin
                       ` (3 subsequent siblings)
  7 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 19:37 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp  |  1 +
 gas/testsuite/gas/ppc/svstep.d | 13 +++++++++++++
 gas/testsuite/gas/ppc/svstep.s |  5 +++++
 opcodes/ppc-opc.c              |  3 +++
 4 files changed, 22 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svstep.d
 create mode 100644 gas/testsuite/gas/ppc/svstep.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index cd4dd658ce..d4d06d587e 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -155,3 +155,4 @@ run_dump_test "pr27676"
 run_dump_test "raw"
 
 run_dump_test "setvl"
+run_dump_test "svstep"
diff --git a/gas/testsuite/gas/ppc/svstep.d b/gas/testsuite/gas/ppc/svstep.d
new file mode 100644
index 0000000000..156eb4668a
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svstep.d
@@ -0,0 +1,13 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(27 00 00 58|58 00 00 27) 	svstep. r0,1,0
+.*:	(26 00 00 58|58 00 00 26) 	svstep  r0,1,0
+.*:	(26 00 e0 59|59 e0 00 26) 	svstep  r15,1,0
+.*:	(26 7e 00 58|58 00 7e 26) 	svstep  r0,64,0
+.*:	(66 00 00 58|58 00 00 66) 	svstep  r0,1,1
diff --git a/gas/testsuite/gas/ppc/svstep.s b/gas/testsuite/gas/ppc/svstep.s
new file mode 100644
index 0000000000..f238954cf6
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svstep.s
@@ -0,0 +1,5 @@
+svstep. 0,1,0
+svstep 0,1,0
+svstep 15,1,0
+svstep 0,64,0
+svstep 0,1,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 2b47fb8781..c1ad26def9 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -6783,6 +6783,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"rlmi",	M(22,0),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlmi.",	M(22,1),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 
+{"svstep",	SVL(22,19,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+{"svstep.",	SVL(22,19,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v3 5/6] ppc/svp64: support svshape instruction
  2022-06-23 19:37   ` [PATCH v3 0/6] " Dmitry Selyutin
                       ` (3 preceding siblings ...)
  2022-06-23 19:37     ` [PATCH v3 4/6] ppc/svp64: support svstep instructions Dmitry Selyutin
@ 2022-06-23 19:37     ` Dmitry Selyutin
  2022-06-23 19:37     ` [PATCH v3 6/6] ppc/svp64: support svremap instruction Dmitry Selyutin
                       ` (2 subsequent siblings)
  7 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 19:37 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/remap/
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp   |  1 +
 gas/testsuite/gas/ppc/svshape.d | 13 +++++++++++++
 gas/testsuite/gas/ppc/svshape.s |  5 +++++
 opcodes/ppc-opc.c               | 22 ++++++++++++++++++++++
 4 files changed, 41 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svshape.d
 create mode 100644 gas/testsuite/gas/ppc/svshape.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index d4d06d587e..04082439bb 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -156,3 +156,4 @@ run_dump_test "raw"
 
 run_dump_test "setvl"
 run_dump_test "svstep"
+run_dump_test "svshape"
diff --git a/gas/testsuite/gas/ppc/svshape.d b/gas/testsuite/gas/ppc/svshape.d
new file mode 100644
index 0000000000..8244741ed3
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svshape.d
@@ -0,0 +1,13 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(19 00 e0 5b|5b e0 00 19) 	svshape 32,1,1,0,0
+.*:	(19 00 1f 58|58 1f 00 19) 	svshape 1,32,1,0,0
+.*:	(19 f8 00 58|58 00 f8 19) 	svshape 1,1,32,0,0
+.*:	(99 07 00 58|58 00 07 99) 	svshape 1,1,1,15,0
+.*:	(59 00 00 58|58 00 00 59) 	svshape 1,1,1,0,1
diff --git a/gas/testsuite/gas/ppc/svshape.s b/gas/testsuite/gas/ppc/svshape.s
new file mode 100644
index 0000000000..c83373ba37
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svshape.s
@@ -0,0 +1,5 @@
+svshape 32,1,1,0,0
+svshape 1,32,1,0,0
+svshape 1,1,32,0,0
+svshape 1,1,1,15,0
+svshape 1,1,1,0,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index c1ad26def9..33797fcab5 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -3838,6 +3838,21 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define ms vs + 1
   { 0x1, 8, NULL, NULL, 0 },
+
+#define SVLcr ms + 1
+  { 0x1, 5, NULL, NULL, 0 },
+
+#define SVxd SVLcr + 1
+  { 0x1f, 21, NULL, NULL, (PPC_OPERAND_PLUS1 | PPC_OPERAND_NONZERO) },
+
+#define SVyd SVxd + 1
+  { 0x1f, 16, NULL, NULL, (PPC_OPERAND_PLUS1 | PPC_OPERAND_NONZERO) },
+
+#define SVzd SVyd + 1
+  { 0x1f, 11, NULL, NULL, (PPC_OPERAND_PLUS1 | PPC_OPERAND_NONZERO) },
+
+#define SVRMf SVzd + 1
+  { 0xf, 7, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4714,6 +4729,12 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
    | (((uint64_t)(rc)) & 1))
 #define SVL_MASK	SVL (0x3f, 0x1f, 1)
 
+/* An SVM form instruction. */
+#define SVM(op, xop)				\
+  (OP (op)					\
+   | (((uint64_t)(xop)) & 0x3f))
+#define SVM_MASK	SVM (0x3f, 0x3f)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6785,6 +6806,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 
 {"svstep",	SVL(22,19,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
 {"svstep.",	SVL(22,19,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+{"svshape",	SVM(22,25),	SVM_MASK,	SVP64,	PPCVLE,	{SVxd, SVyd, SVzd, SVRMf, vf}},
 
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v3 6/6] ppc/svp64: support svremap instruction
  2022-06-23 19:37   ` [PATCH v3 0/6] " Dmitry Selyutin
                       ` (4 preceding siblings ...)
  2022-06-23 19:37     ` [PATCH v3 5/6] ppc/svp64: support svshape instruction Dmitry Selyutin
@ 2022-06-23 19:37     ` Dmitry Selyutin
  2022-06-23 19:45     ` [PATCH v3 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  2022-06-23 20:08     ` [PATCH v4 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  7 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 19:37 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/remap/
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp   |  1 +
 gas/testsuite/gas/ppc/svremap.d | 16 ++++++++++++++++
 gas/testsuite/gas/ppc/svremap.s |  8 ++++++++
 opcodes/ppc-opc.c               | 20 ++++++++++++++++++++
 4 files changed, 45 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svremap.d
 create mode 100644 gas/testsuite/gas/ppc/svremap.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index 04082439bb..a182cc81d7 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -157,3 +157,4 @@ run_dump_test "raw"
 run_dump_test "setvl"
 run_dump_test "svstep"
 run_dump_test "svshape"
+run_dump_test "svremap"
diff --git a/gas/testsuite/gas/ppc/svremap.d b/gas/testsuite/gas/ppc/svremap.d
new file mode 100644
index 0000000000..18646ec37d
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svremap.d
@@ -0,0 +1,16 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(39 00 00 58|58 00 00 39) 	svremap 0,0,0,0,0,0,0
+.*:	(39 00 e0 5b|5b e0 00 39) 	svremap 31,0,0,0,0,0,0
+.*:	(39 00 18 58|58 18 00 39) 	svremap 0,3,0,0,0,0,0
+.*:	(39 00 06 58|58 06 00 39) 	svremap 0,0,3,0,0,0,0
+.*:	(39 80 01 58|58 01 80 39) 	svremap 0,0,0,3,0,0,0
+.*:	(39 60 00 58|58 00 60 39) 	svremap 0,0,0,0,3,0,0
+.*:	(39 18 00 58|58 00 18 39) 	svremap 0,0,0,0,0,3,0
+.*:	(39 04 18 58|58 18 04 39) 	svremap 0,3,0,0,0,0,1
diff --git a/gas/testsuite/gas/ppc/svremap.s b/gas/testsuite/gas/ppc/svremap.s
new file mode 100644
index 0000000000..860040afc5
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svremap.s
@@ -0,0 +1,8 @@
+svremap 0,0,0,0,0,0,0
+svremap 31,0,0,0,0,0,0
+svremap 0,3,0,0,0,0,0
+svremap 0,0,3,0,0,0,0
+svremap 0,0,0,3,0,0,0
+svremap 0,0,0,0,3,0,0
+svremap 0,0,0,0,0,3,0
+svremap 0,3,0,0,0,0,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 33797fcab5..4e98c56f35 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -2850,6 +2850,7 @@ const struct powerpc_operand powerpc_operands[] =
   /* The RM field in an X form instruction.  */
 #define RM BOP + 1
 #define DD RM
+#define mo1 RM
   { 0x3, 11, NULL, NULL, 0 },
 
 #define BH RM + 1
@@ -3508,6 +3509,7 @@ const struct powerpc_operand powerpc_operands[] =
   /* The TO field in a D or X form instruction.  */
 #define TO TBR + 1
 #define DUI TO
+#define SVme TO
 #define TO_MASK (0x1f << 21)
   { 0x1f, 21, NULL, NULL, 0 },
 
@@ -3621,6 +3623,8 @@ const struct powerpc_operand powerpc_operands[] =
 #define PSWM WS + 1
   /* The BO16 field in a BD8 form instruction.  */
 #define BO16 PSWM
+  /* The pst field in a SVRM form instruction.  */
+#define pst PSWM
   {  0x1, 10, 0, 0, 0 },
 
   /* IDX bits for quantization in the pair singles instructions.  */
@@ -3658,6 +3662,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x1, 17, NULL, NULL, PPC_OPERAND_OPTIONAL },
 
 #define SP PRS + 1
+#define mi0 SP
   { 0x3, 19, NULL, NULL, 0 },
 
 #define S SP + 1
@@ -3825,6 +3830,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x7, PPC_OPSHIFT_INV, insert_Ddd, extract_Ddd, 0 },
 
 #define HH DDD + 1
+#define mo0 HH
   { 0x3, 13, NULL, NULL, 0 },
 
 #define SVi HH + 1
@@ -3853,6 +3859,12 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define SVRMf SVzd + 1
   { 0xf, 7, NULL, NULL, 0 },
+
+#define mi1 SVRMf + 1
+  { 0x3, 17, NULL, NULL, 0 },
+
+#define mi2 mi1 + 1
+  { 0x3, 15, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4735,6 +4747,12 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
    | (((uint64_t)(xop)) & 0x3f))
 #define SVM_MASK	SVM (0x3f, 0x3f)
 
+/* An SVRM form instruction. */
+#define SVRM(op, xop)				\
+  (OP (op)					\
+   | (((uint64_t)(xop)) & 0x3f))
+#define SVRM_MASK	SVRM (0x3f, 0x3f)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6811,6 +6829,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
+{"svremap",	SVRM(22,57),	SVRM_MASK,	SVP64,	PPCVLE,	{SVme, mi0, mi1, mi2, mo0, mo1, pst}},
+
 {"rotlw",	MME(23,31,0),	MMBME_MASK,  PPCCOM,	PPCVLE|EXT,	{RA, RS, RB}},
 {"rlwnm",	M(23,0),	M_MASK,	     PPCCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlnm",	M(23,0),	M_MASK,	     PWRCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 0/6] ppc/svp64: support SVP64 and its first insns
  2022-06-23 19:37   ` [PATCH v3 0/6] " Dmitry Selyutin
                       ` (5 preceding siblings ...)
  2022-06-23 19:37     ` [PATCH v3 6/6] ppc/svp64: support svremap instruction Dmitry Selyutin
@ 2022-06-23 19:45     ` Dmitry Selyutin
  2022-06-23 20:10       ` Dmitry Selyutin
  2022-06-24 11:38       ` Draft Simple-V roadmap for Power ISA (was: [PATCH v3 0/6] ppc/svp64: support SVP64 and its first insns) lkcl
  2022-06-23 20:08     ` [PATCH v4 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  7 siblings, 2 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 19:45 UTC (permalink / raw)
  To: Binutils
  Cc: Alan Modra, Luke Kenneth Casson Leighton, Jan Beulich,
	Nick Alcock, Richard Earnshaw, Andreas Schwab

On Thu, Jun 23, 2022 at 10:37 PM Dmitry Selyutin <ghostmansd@gmail.com> wrote:
> Changes since v2:
> - All patches now have the description including links to docs.
> - A new operand flag is introduced for ranges 1..n instead of 0..n-1.
> - All tests are rewritten for simplicity's sake.

Hi folks, many thanks for your tips, suggestions and ideas on
improvements! I've just published version 3, trying to follow the
approach you suggested for tests. Please, let me know if I got the
idea correctly. Also note that there's one more patch which drops a
lot of duplicated code from the original version.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 2/6] ppc: introduce non-zero operand
  2022-06-23 19:37     ` [PATCH v3 2/6] ppc: introduce non-zero operand Dmitry Selyutin
@ 2022-06-23 19:58       ` lkcl
  0 siblings, 0 replies; 62+ messages in thread
From: lkcl @ 2022-06-23 19:58 UTC (permalink / raw)
  To: Dmitry Selyutin, binutils

the "normal" way of handling this is e.g. to have a 5-bit field where 0b00000 represents 32 (i.e. 0b100000 rather than 0b00000).

the reasoning behind the decision to go with the -1 offset is that a future version, using v3.1 64-bit prefixing, may end up extending the immediates with a lot more bits, at which point it gets complicated to detect the maximum.

l.


On June 23, 2022 8:37:30 PM GMT+01:00, Dmitry Selyutin <ghostmansd@gmail.com> wrote:
>svstep and svshape instructions subtract 1 before encoding some of the
>operands. Obviously zero is not supported for these operands. Whilst
>PPC_OPCODE_PLUS1 fits perfectly to mark that maximal value should be
>incremented, there is no flag which marks the fact that zero values are
>not allowed. This patch adds a new flag, PPC_OPCODE_NONZERO, for this
>purpose.
>---
> gas/config/tc-ppc.c  | 3 +++
> include/opcode/ppc.h | 3 +++
> 2 files changed, 6 insertions(+)
>
>diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
>index 76bdfb2e35..7d27334aa6 100644
>--- a/gas/config/tc-ppc.c
>+++ b/gas/config/tc-ppc.c
>@@ -1951,6 +1951,9 @@ ppc_insert_operand (uint64_t insn,
>   right = max & -max;
>   min = 0;
> 
>+  if ((operand->flags & PPC_OPERAND_NONZERO) != 0)
>+    min = 1;
>+
>   if ((operand->flags & PPC_OPERAND_SIGNOPT) != 0)
>     {
>       /* Extend the allowed range for addis to [-32768, 65535].
>diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
>index d5752a42e6..215fa8c5e0 100644
>--- a/include/opcode/ppc.h
>+++ b/include/opcode/ppc.h
>@@ -463,6 +463,9 @@ extern const unsigned int num_powerpc_operands;
> #define PPC_OPERAND_FCR (0x1000000)
> #define PPC_OPERAND_UDI (0x2000000)
> 
>+/* The operand cannot be zero.  */
>+#define PPC_OPERAND_NONZERO (0x4000000)
>+
> extern ppc_cpu_t ppc_parse_cpu (ppc_cpu_t, ppc_cpu_t *, const char *);
> 
> static inline int64_t
>-- 
>2.36.1

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v4 0/6] ppc/svp64: support SVP64 and its first insns
  2022-06-23 19:37   ` [PATCH v3 0/6] " Dmitry Selyutin
                       ` (6 preceding siblings ...)
  2022-06-23 19:45     ` [PATCH v3 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
@ 2022-06-23 20:08     ` Dmitry Selyutin
  2022-06-23 20:08       ` [PATCH v4 1/6] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
                         ` (6 more replies)
  7 siblings, 7 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 20:08 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

These patches add support for LibreSOC machine and SVP64 extension flag
for PowerPC architecture. SV (Simple-V) is a strict RISC-paradigm
Scalable Vector Extension for the Power ISA. SVP64 is the 64-bit
Prefixed instruction format implementing SV. Funded by NLnet through EU
Grants No: 825310 and 825322, SV is in DRAFT form and is to be publicly
submitted via the OpenPOWER Foundation ISA Working Group via the
newly-created External RFC Process.

Changes since v3:
- Applied the correct version of patches.

Changes since v2:
- All patches now have the description including links to docs.
- A new operand flag is introduced for ranges 1..n instead of 0..n-1.
- All tests are rewritten for simplicity's sake.

Changes since v1:
- Aliased instruction fields now appear after the original ones.

 gas/config/tc-ppc.c             | 24 ++++++++++--
 gas/testsuite/gas/ppc/ppc.exp   |  5 +++
 gas/testsuite/gas/ppc/setvl.d   | 15 +++++++
 gas/testsuite/gas/ppc/setvl.s   |  7 ++++
 gas/testsuite/gas/ppc/svremap.d | 16 ++++++++
 gas/testsuite/gas/ppc/svremap.s |  8 ++++
 gas/testsuite/gas/ppc/svshape.d | 13 +++++++
 gas/testsuite/gas/ppc/svshape.s |  5 +++
 gas/testsuite/gas/ppc/svstep.d  | 13 +++++++
 gas/testsuite/gas/ppc/svstep.s  |  5 +++
 include/opcode/ppc.h            | 10 +++++
 opcodes/ppc-dis.c               |  8 ++++
 opcodes/ppc-opc.c               | 69 +++++++++++++++++++++++++++++++++
 13 files changed, 195 insertions(+), 3 deletions(-)
 create mode 100644 gas/testsuite/gas/ppc/setvl.d
 create mode 100644 gas/testsuite/gas/ppc/setvl.s
 create mode 100644 gas/testsuite/gas/ppc/svremap.d
 create mode 100644 gas/testsuite/gas/ppc/svremap.s
 create mode 100644 gas/testsuite/gas/ppc/svshape.d
 create mode 100644 gas/testsuite/gas/ppc/svshape.s
 create mode 100644 gas/testsuite/gas/ppc/svstep.d
 create mode 100644 gas/testsuite/gas/ppc/svstep.s

-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v4 1/6] ppc/svp64: support LibreSOC architecture
  2022-06-23 20:08     ` [PATCH v4 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
@ 2022-06-23 20:08       ` Dmitry Selyutin
  2022-06-23 20:08       ` [PATCH v4 2/6] ppc: introduce non-zero operand flag Dmitry Selyutin
                         ` (5 subsequent siblings)
  6 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 20:08 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

This patch adds support for LibreSOC machine and SVP64 extension flag
for PowerPC architecture. SV (Simple-V) is a strict RISC-paradigm
Scalable Vector Extension for the Power ISA. SVP64 is the 64-bit
Prefixed instruction format implementing SV. Funded by NLnet through EU
Grants No: 825310 and 825322, SV is in DRAFT form and is to be publicly
submitted via the OpenPOWER Foundation ISA Working Group via the
newly-created External RFC Process.

For more details, visit https://libre-soc.org.
---
 gas/config/tc-ppc.c  | 2 ++
 include/opcode/ppc.h | 3 +++
 opcodes/ppc-dis.c    | 5 +++++
 opcodes/ppc-opc.c    | 1 +
 4 files changed, 11 insertions(+)

diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 4d789fd16a..76bdfb2e35 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1384,6 +1384,8 @@ PowerPC options:\n"));
   fprintf (stream, _("\
 -mpower10, -mpwr10      generate code for Power10 architecture\n"));
   fprintf (stream, _("\
+-mlibresoc              generate code for Libre-SOC architecture\n"));
+  fprintf (stream, _("\
 -mcell                  generate code for Cell Broadband Engine architecture\n"));
   fprintf (stream, _("\
 -mcom                   generate code for Power/PowerPC common instructions\n"));
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index 7bc6ee216e..d5752a42e6 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -237,6 +237,9 @@ extern const unsigned int spe2_num_opcodes;
 /* Opcode is only supported by power10 architecture.  */
 #define PPC_OPCODE_POWER10  0x400000000000ull
 
+/* Opcode is only supported by SVP64 extensions (LibreSOC architecture).  */
+#define PPC_OPCODE_SVP64	 0x800000000000ull
+
 /* A macro to extract the major opcode from an instruction.  */
 #define PPC_OP(i) (((i) >> 26) & 0x3f)
 
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index 45e8faeef5..f61e6518f1 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -200,6 +200,11 @@ struct ppc_mopt ppc_opts[] = {
 		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
 		| PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX),
     0 },
+  { "libresoc",  (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
+		| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
+		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
+		| PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_SVP64),
+    0 },
   { "future",  (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
 		| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
 		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index f5bd6dac50..fe2fcaeb1d 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -4826,6 +4826,7 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
 #define PPCHTM  PPC_OPCODE_POWER8
 #define E200Z4  PPC_OPCODE_E200Z4
 #define PPCLSP  PPC_OPCODE_LSP
+#define SVP64 PPC_OPCODE_SVP64
 /* Used to mark extended mnemonic in deprecated field so that -Mraw
    won't use this variant in disassembly.  */
 #define EXT	PPC_OPCODE_RAW
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v4 2/6] ppc: introduce non-zero operand flag
  2022-06-23 20:08     ` [PATCH v4 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  2022-06-23 20:08       ` [PATCH v4 1/6] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
@ 2022-06-23 20:08       ` Dmitry Selyutin
  2022-06-23 20:08       ` [PATCH v4 3/6] ppc/svp64: support setvl instructions Dmitry Selyutin
                         ` (4 subsequent siblings)
  6 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 20:08 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

svstep and svshape instructions subtract 1 before encoding some of the
operands. Obviously zero is not supported for these operands. Whilst
PPC_OPERAND_PLUS1 fits perfectly to mark that maximal value should be
incremented, there is no flag which marks the fact that zero values are
not allowed. This patch adds a new flag, PPC_OPERAND_NONZERO, for this
purpose.
---
 gas/config/tc-ppc.c  | 22 +++++++++++++++++++---
 include/opcode/ppc.h |  7 +++++++
 opcodes/ppc-dis.c    |  3 +++
 3 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 76bdfb2e35..c048721ed0 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1643,10 +1643,16 @@ ppc_setup_opcodes (void)
 	 all the 1's in the mask are contiguous.  */
       for (i = 0; i < num_powerpc_operands; ++i)
 	{
+
 	  uint64_t mask = powerpc_operands[i].bitm;
+          unsigned long flags = powerpc_operands[i].flags;
 	  uint64_t right_bit;
 	  unsigned int j;
 
+	  if ((flags & (PPC_OPERAND_PLUS1 | PPC_OPERAND_NONZERO)) ==
+	        (PPC_OPERAND_PLUS1 | PPC_OPERAND_NONZERO))
+	    as_bad ("mutually exclusive operand flags");
+
 	  right_bit = mask & -mask;
 	  mask += right_bit;
 	  right_bit = mask & -mask;
@@ -1968,6 +1974,11 @@ ppc_insert_operand (uint64_t insn,
       max = (max >> 1) & -right;
       min = ~max & -right;
     }
+  else if ((operand->flags & PPC_OPERAND_NONZERO) != 0)
+    {
+      ++min;
+      ++max;
+    }
 
   if ((operand->flags & PPC_OPERAND_PLUS1) != 0)
     max++;
@@ -2018,10 +2029,15 @@ ppc_insert_operand (uint64_t insn,
       if (errmsg != (const char *) NULL)
 	as_bad_where (file, line, "%s", errmsg);
     }
-  else if (operand->shift >= 0)
-    insn |= (val & operand->bitm) << operand->shift;
   else
-    insn |= (val & operand->bitm) >> -operand->shift;
+    {
+      if ((operand->flags & PPC_OPERAND_NONZERO) != 0)
+	--val;
+      if (operand->shift >= 0)
+	insn |= (val & operand->bitm) << operand->shift;
+      else
+	insn |= (val & operand->bitm) >> -operand->shift;
+    }
 
   return insn;
 }
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index d5752a42e6..df06671db4 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -463,6 +463,13 @@ extern const unsigned int num_powerpc_operands;
 #define PPC_OPERAND_FCR (0x1000000)
 #define PPC_OPERAND_UDI (0x2000000)
 
+/*
+ * Valid range of operand is 1..n rather than 0..n-1.
+ * Before encoding, the operand value is decremented.
+ * After decoding. the operand value is incremented.
+ */
+#define PPC_OPERAND_NONZERO 0x4000000
+
 extern ppc_cpu_t ppc_parse_cpu (ppc_cpu_t, ppc_cpu_t *, const char *);
 
 static inline int64_t
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index f61e6518f1..d5b23c8a75 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -545,6 +545,9 @@ operand_value_powerpc (const struct powerpc_operand *operand,
 	}
     }
 
+  if ((operand->flags & PPC_OPERAND_NONZERO) != 0)
+    ++value;
+
   return value;
 }
 
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v4 3/6] ppc/svp64: support setvl instructions
  2022-06-23 20:08     ` [PATCH v4 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  2022-06-23 20:08       ` [PATCH v4 1/6] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
  2022-06-23 20:08       ` [PATCH v4 2/6] ppc: introduce non-zero operand flag Dmitry Selyutin
@ 2022-06-23 20:08       ` Dmitry Selyutin
  2022-06-23 20:08       ` [PATCH v4 4/6] ppc/svp64: support svstep instructions Dmitry Selyutin
                         ` (3 subsequent siblings)
  6 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 20:08 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/setvl/
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp |  2 ++
 gas/testsuite/gas/ppc/setvl.d | 15 +++++++++++++++
 gas/testsuite/gas/ppc/setvl.s |  7 +++++++
 opcodes/ppc-opc.c             | 23 +++++++++++++++++++++++
 4 files changed, 47 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/setvl.d
 create mode 100644 gas/testsuite/gas/ppc/setvl.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index a2e23a2c6a..cd4dd658ce 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -153,3 +153,5 @@ run_dump_test "rop-checks"
 run_dump_test "dcbt"
 run_dump_test "pr27676"
 run_dump_test "raw"
+
+run_dump_test "setvl"
diff --git a/gas/testsuite/gas/ppc/setvl.d b/gas/testsuite/gas/ppc/setvl.d
new file mode 100644
index 0000000000..a241c64fd1
--- /dev/null
+++ b/gas/testsuite/gas/ppc/setvl.d
@@ -0,0 +1,15 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(37 00 00 58|58 00 00 37) 	setvl.  r0,r0,1,0,0,0
+.*:	(36 00 00 58|58 00 00 36) 	setvl   r0,r0,1,0,0,0
+.*:	(36 00 e0 5b|5b e0 00 36) 	setvl   r31,r0,1,0,0,0
+.*:	(36 00 1f 58|58 1f 00 36) 	setvl   r0,r31,1,0,0,0
+.*:	(36 7e 00 58|58 00 7e 36) 	setvl   r0,r0,64,0,0,0
+.*:	(76 00 00 58|58 00 00 76) 	setvl   r0,r0,1,1,0,0
+.*:	(b6 00 00 58|58 00 00 b6) 	setvl   r0,r0,1,0,1,0
diff --git a/gas/testsuite/gas/ppc/setvl.s b/gas/testsuite/gas/ppc/setvl.s
new file mode 100644
index 0000000000..b7f1825b54
--- /dev/null
+++ b/gas/testsuite/gas/ppc/setvl.s
@@ -0,0 +1,7 @@
+setvl. 0,0,1,0,0,0
+setvl 0,0,1,0,0,0
+setvl 31,0,1,0,0,0
+setvl 0,31,1,0,0,0
+setvl 0,0,64,0,0,0
+setvl 0,0,1,1,0,0
+setvl 0,0,1,0,1,0
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index fe2fcaeb1d..90f813a280 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -2719,6 +2719,7 @@ extract_thds (uint64_t insn,
 
   return value;
 }
+
 \f
 /* The operands table.
 
@@ -3825,6 +3826,18 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define HH DDD + 1
   { 0x3, 13, NULL, NULL, 0 },
+
+#define SVi HH + 1
+  { 0x3f, 9, NULL, NULL, PPC_OPERAND_NONZERO },
+
+#define vf SVi + 1
+  { 0x1, 6, NULL, NULL, 0 },
+
+#define vs vf + 1
+  { 0x1, 7, NULL, NULL, 0 },
+
+#define ms vs + 1
+  { 0x1, 8, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4694,6 +4707,13 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
 #define APU_RT_MASK (APU_MASK | RT_MASK)
 #define APU_RA_MASK (APU_MASK | RA_MASK)
 
+/* An SVL form instruction. */
+#define SVL(op, xop, rc)			\
+  (OP (op)					\
+   | ((((uint64_t)(xop)) & 0x1f) << 1)		\
+   | (((uint64_t)(rc)) & 1))
+#define SVL_MASK	SVL (0x3f, 0x1f, 1)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6763,6 +6783,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"rlmi",	M(22,0),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlmi.",	M(22,1),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 
+{"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
+{"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
+
 {"rotlw",	MME(23,31,0),	MMBME_MASK,  PPCCOM,	PPCVLE|EXT,	{RA, RS, RB}},
 {"rlwnm",	M(23,0),	M_MASK,	     PPCCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlnm",	M(23,0),	M_MASK,	     PWRCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v4 4/6] ppc/svp64: support svstep instructions
  2022-06-23 20:08     ` [PATCH v4 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                         ` (2 preceding siblings ...)
  2022-06-23 20:08       ` [PATCH v4 3/6] ppc/svp64: support setvl instructions Dmitry Selyutin
@ 2022-06-23 20:08       ` Dmitry Selyutin
  2022-06-23 20:08       ` [PATCH v4 5/6] ppc/svp64: support svshape instruction Dmitry Selyutin
                         ` (2 subsequent siblings)
  6 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 20:08 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp  |  1 +
 gas/testsuite/gas/ppc/svstep.d | 13 +++++++++++++
 gas/testsuite/gas/ppc/svstep.s |  5 +++++
 opcodes/ppc-opc.c              |  3 +++
 4 files changed, 22 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svstep.d
 create mode 100644 gas/testsuite/gas/ppc/svstep.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index cd4dd658ce..d4d06d587e 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -155,3 +155,4 @@ run_dump_test "pr27676"
 run_dump_test "raw"
 
 run_dump_test "setvl"
+run_dump_test "svstep"
diff --git a/gas/testsuite/gas/ppc/svstep.d b/gas/testsuite/gas/ppc/svstep.d
new file mode 100644
index 0000000000..156eb4668a
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svstep.d
@@ -0,0 +1,13 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(27 00 00 58|58 00 00 27) 	svstep. r0,1,0
+.*:	(26 00 00 58|58 00 00 26) 	svstep  r0,1,0
+.*:	(26 00 e0 59|59 e0 00 26) 	svstep  r15,1,0
+.*:	(26 7e 00 58|58 00 7e 26) 	svstep  r0,64,0
+.*:	(66 00 00 58|58 00 00 66) 	svstep  r0,1,1
diff --git a/gas/testsuite/gas/ppc/svstep.s b/gas/testsuite/gas/ppc/svstep.s
new file mode 100644
index 0000000000..f238954cf6
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svstep.s
@@ -0,0 +1,5 @@
+svstep. 0,1,0
+svstep 0,1,0
+svstep 15,1,0
+svstep 0,64,0
+svstep 0,1,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 90f813a280..60a038aa40 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -6783,6 +6783,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"rlmi",	M(22,0),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlmi.",	M(22,1),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 
+{"svstep",	SVL(22,19,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+{"svstep.",	SVL(22,19,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v4 5/6] ppc/svp64: support svshape instruction
  2022-06-23 20:08     ` [PATCH v4 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                         ` (3 preceding siblings ...)
  2022-06-23 20:08       ` [PATCH v4 4/6] ppc/svp64: support svstep instructions Dmitry Selyutin
@ 2022-06-23 20:08       ` Dmitry Selyutin
  2022-06-23 20:08       ` [PATCH v4 6/6] ppc/svp64: support svremap instruction Dmitry Selyutin
  2022-06-26 18:59       ` [PATCH v5 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  6 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 20:08 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/remap/
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp   |  1 +
 gas/testsuite/gas/ppc/svshape.d | 13 +++++++++++++
 gas/testsuite/gas/ppc/svshape.s |  5 +++++
 opcodes/ppc-opc.c               | 22 ++++++++++++++++++++++
 4 files changed, 41 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svshape.d
 create mode 100644 gas/testsuite/gas/ppc/svshape.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index d4d06d587e..04082439bb 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -156,3 +156,4 @@ run_dump_test "raw"
 
 run_dump_test "setvl"
 run_dump_test "svstep"
+run_dump_test "svshape"
diff --git a/gas/testsuite/gas/ppc/svshape.d b/gas/testsuite/gas/ppc/svshape.d
new file mode 100644
index 0000000000..8244741ed3
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svshape.d
@@ -0,0 +1,13 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(19 00 e0 5b|5b e0 00 19) 	svshape 32,1,1,0,0
+.*:	(19 00 1f 58|58 1f 00 19) 	svshape 1,32,1,0,0
+.*:	(19 f8 00 58|58 00 f8 19) 	svshape 1,1,32,0,0
+.*:	(99 07 00 58|58 00 07 99) 	svshape 1,1,1,15,0
+.*:	(59 00 00 58|58 00 00 59) 	svshape 1,1,1,0,1
diff --git a/gas/testsuite/gas/ppc/svshape.s b/gas/testsuite/gas/ppc/svshape.s
new file mode 100644
index 0000000000..c83373ba37
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svshape.s
@@ -0,0 +1,5 @@
+svshape 32,1,1,0,0
+svshape 1,32,1,0,0
+svshape 1,1,32,0,0
+svshape 1,1,1,15,0
+svshape 1,1,1,0,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 60a038aa40..fe42c23eab 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -3838,6 +3838,21 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define ms vs + 1
   { 0x1, 8, NULL, NULL, 0 },
+
+#define SVLcr ms + 1
+  { 0x1, 5, NULL, NULL, 0 },
+
+#define SVxd SVLcr + 1
+  { 0x1f, 21, NULL, NULL, PPC_OPERAND_NONZERO },
+
+#define SVyd SVxd + 1
+  { 0x1f, 16, NULL, NULL, PPC_OPERAND_NONZERO },
+
+#define SVzd SVyd + 1
+  { 0x1f, 11, NULL, NULL, PPC_OPERAND_NONZERO },
+
+#define SVRMf SVzd + 1
+  { 0xf, 7, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4714,6 +4729,12 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
    | (((uint64_t)(rc)) & 1))
 #define SVL_MASK	SVL (0x3f, 0x1f, 1)
 
+/* An SVM form instruction. */
+#define SVM(op, xop)				\
+  (OP (op)					\
+   | (((uint64_t)(xop)) & 0x3f))
+#define SVM_MASK	SVM (0x3f, 0x3f)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6785,6 +6806,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 
 {"svstep",	SVL(22,19,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
 {"svstep.",	SVL(22,19,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+{"svshape",	SVM(22,25),	SVM_MASK,	SVP64,	PPCVLE,	{SVxd, SVyd, SVzd, SVRMf, vf}},
 
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v4 6/6] ppc/svp64: support svremap instruction
  2022-06-23 20:08     ` [PATCH v4 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                         ` (4 preceding siblings ...)
  2022-06-23 20:08       ` [PATCH v4 5/6] ppc/svp64: support svshape instruction Dmitry Selyutin
@ 2022-06-23 20:08       ` Dmitry Selyutin
  2022-06-26 18:59       ` [PATCH v5 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  6 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 20:08 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/remap/
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp   |  1 +
 gas/testsuite/gas/ppc/svremap.d | 16 ++++++++++++++++
 gas/testsuite/gas/ppc/svremap.s |  8 ++++++++
 opcodes/ppc-opc.c               | 20 ++++++++++++++++++++
 4 files changed, 45 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svremap.d
 create mode 100644 gas/testsuite/gas/ppc/svremap.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index 04082439bb..a182cc81d7 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -157,3 +157,4 @@ run_dump_test "raw"
 run_dump_test "setvl"
 run_dump_test "svstep"
 run_dump_test "svshape"
+run_dump_test "svremap"
diff --git a/gas/testsuite/gas/ppc/svremap.d b/gas/testsuite/gas/ppc/svremap.d
new file mode 100644
index 0000000000..18646ec37d
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svremap.d
@@ -0,0 +1,16 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(39 00 00 58|58 00 00 39) 	svremap 0,0,0,0,0,0,0
+.*:	(39 00 e0 5b|5b e0 00 39) 	svremap 31,0,0,0,0,0,0
+.*:	(39 00 18 58|58 18 00 39) 	svremap 0,3,0,0,0,0,0
+.*:	(39 00 06 58|58 06 00 39) 	svremap 0,0,3,0,0,0,0
+.*:	(39 80 01 58|58 01 80 39) 	svremap 0,0,0,3,0,0,0
+.*:	(39 60 00 58|58 00 60 39) 	svremap 0,0,0,0,3,0,0
+.*:	(39 18 00 58|58 00 18 39) 	svremap 0,0,0,0,0,3,0
+.*:	(39 04 18 58|58 18 04 39) 	svremap 0,3,0,0,0,0,1
diff --git a/gas/testsuite/gas/ppc/svremap.s b/gas/testsuite/gas/ppc/svremap.s
new file mode 100644
index 0000000000..860040afc5
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svremap.s
@@ -0,0 +1,8 @@
+svremap 0,0,0,0,0,0,0
+svremap 31,0,0,0,0,0,0
+svremap 0,3,0,0,0,0,0
+svremap 0,0,3,0,0,0,0
+svremap 0,0,0,3,0,0,0
+svremap 0,0,0,0,3,0,0
+svremap 0,0,0,0,0,3,0
+svremap 0,3,0,0,0,0,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index fe42c23eab..6ece61da09 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -2850,6 +2850,7 @@ const struct powerpc_operand powerpc_operands[] =
   /* The RM field in an X form instruction.  */
 #define RM BOP + 1
 #define DD RM
+#define mo1 RM
   { 0x3, 11, NULL, NULL, 0 },
 
 #define BH RM + 1
@@ -3508,6 +3509,7 @@ const struct powerpc_operand powerpc_operands[] =
   /* The TO field in a D or X form instruction.  */
 #define TO TBR + 1
 #define DUI TO
+#define SVme TO
 #define TO_MASK (0x1f << 21)
   { 0x1f, 21, NULL, NULL, 0 },
 
@@ -3621,6 +3623,8 @@ const struct powerpc_operand powerpc_operands[] =
 #define PSWM WS + 1
   /* The BO16 field in a BD8 form instruction.  */
 #define BO16 PSWM
+  /* The pst field in a SVRM form instruction.  */
+#define pst PSWM
   {  0x1, 10, 0, 0, 0 },
 
   /* IDX bits for quantization in the pair singles instructions.  */
@@ -3658,6 +3662,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x1, 17, NULL, NULL, PPC_OPERAND_OPTIONAL },
 
 #define SP PRS + 1
+#define mi0 SP
   { 0x3, 19, NULL, NULL, 0 },
 
 #define S SP + 1
@@ -3825,6 +3830,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x7, PPC_OPSHIFT_INV, insert_Ddd, extract_Ddd, 0 },
 
 #define HH DDD + 1
+#define mo0 HH
   { 0x3, 13, NULL, NULL, 0 },
 
 #define SVi HH + 1
@@ -3853,6 +3859,12 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define SVRMf SVzd + 1
   { 0xf, 7, NULL, NULL, 0 },
+
+#define mi1 SVRMf + 1
+  { 0x3, 17, NULL, NULL, 0 },
+
+#define mi2 mi1 + 1
+  { 0x3, 15, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4735,6 +4747,12 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
    | (((uint64_t)(xop)) & 0x3f))
 #define SVM_MASK	SVM (0x3f, 0x3f)
 
+/* An SVRM form instruction. */
+#define SVRM(op, xop)				\
+  (OP (op)					\
+   | (((uint64_t)(xop)) & 0x3f))
+#define SVRM_MASK	SVRM (0x3f, 0x3f)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6811,6 +6829,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
+{"svremap",	SVRM(22,57),	SVRM_MASK,	SVP64,	PPCVLE,	{SVme, mi0, mi1, mi2, mo0, mo1, pst}},
+
 {"rotlw",	MME(23,31,0),	MMBME_MASK,  PPCCOM,	PPCVLE|EXT,	{RA, RS, RB}},
 {"rlwnm",	M(23,0),	M_MASK,	     PPCCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlnm",	M(23,0),	M_MASK,	     PWRCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 0/6] ppc/svp64: support SVP64 and its first insns
  2022-06-23 19:45     ` [PATCH v3 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
@ 2022-06-23 20:10       ` Dmitry Selyutin
  2022-06-24 11:38       ` Draft Simple-V roadmap for Power ISA (was: [PATCH v3 0/6] ppc/svp64: support SVP64 and its first insns) lkcl
  1 sibling, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-23 20:10 UTC (permalink / raw)
  To: Binutils
  Cc: Alan Modra, Luke Kenneth Casson Leighton, Jan Beulich,
	Nick Alcock, Richard Earnshaw, Andreas Schwab

Please ignore v3, that revision was incorrect (wrong SHA-1 between
branches) used. Please refer to v4.

-- 
Best regards,
Dmitry Selyutin

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Draft Simple-V roadmap for Power ISA (was: [PATCH v3 0/6] ppc/svp64: support SVP64 and its first insns)
  2022-06-23 19:45     ` [PATCH v3 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  2022-06-23 20:10       ` Dmitry Selyutin
@ 2022-06-24 11:38       ` lkcl
  1 sibling, 0 replies; 62+ messages in thread
From: lkcl @ 2022-06-24 11:38 UTC (permalink / raw)
  To: Dmitry Selyutin
  Cc: Binutils, Alan Modra, Jan Beulich, Nick Alcock, Richard Earnshaw,
	Andreas Schwab, Libre-Soc General Development

On Thu, Jun 23, 2022 at 8:46 PM Dmitry Selyutin <ghostmansd@gmail.com> wrote:

> Hi folks, many thanks for your tips, suggestions and ideas on
> improvements!

it's greatly appreciated, everyone, you as well, Dmitry.

just so everyone knows, the bulk of the work for binutils, adding
Draft Cray-style Scalable Vectors to the Power ISA is, astoundingly,
pretty much done.

there are *NO* actual Vector instructions in SV. we will NOT be
submitting 200-5,000 Vector opcodes as would normally be done
in any other Scalable Vector ISA: ppc64-opc.c contains the
*entirety* of the Vector "contextualisation" of *pre-existing* Scalar
instructions [9]

context and roadmap:

* Simple-V is named "simple" because it adheres to a strict
  RISC paradigm [extended into the Scalable Vector space]
* there are only 5 actual "management" instructions:
   setvl, svstep, svremap, svshape, svindex (TODO [0])
   these last three are for hardware-controlled "Structure Packing"
   such as Matrices and other Dimensional shuffling, and
   full triple-loop DCT/FFT (normally only found in VLIW DSPs)
* there is "borrowing" of 25% of the EXT001 64-bit prefix
   space which gives 24 bits to "categorise" every Scalar
   instruction, according to their register profile [1]

as new *Scalar* instructions get added to the Power ISA,
then if it is appropriate to do so [8] they would correspondingly
have to be run through  the "register profile analysis" [2] and,
for sanity's sake, the ppc64-opc.[ch] auto-generator re-run [3].

now, we *also* happen to be developing some Scalar instructions.
it's really important to emphasise that these have absolutely nothing
to do with SV, at all.

these Scalar instructions are designed to bring the Scalar Power
ISA up-to-date in many areas outside of its primary focus and perfectly
reasonable and understandable use-case to date [IBM's high-end
customers]. example: i'm currently designing a bitmanip-mask instruction
which covers the entirety of BMI and TBM [4] *and* RVV's vsbfm suite.
none of these were needed for any IBM workloads / customers so
it is perfectly reasonable that they were never considered.

there's also a pair of biginteger math operations, a variant of
the intel "mulx" instruction is one of them [5].  the majority
of the list is on the bitmanip page [6], these will take some
time simply because there's a lot of them (appx... 80-100)

still on the TODO list:

* macro support (including the "8" of element-width=8, sorry Dmitry!) [7]
* svindex for doing vector-looped GPR[RT] = GPR(GPR(RA)) [0]
* submit scalar instructions [6] and corresponding ppc64-opc.[ch] [2][3]

that's basically it.  there's no binutils-level subsetting of SVP64 because
the lower SV Compliancy Levels require soft-emulation through illegal
instruction traps.  there's no Vector instructions to add: everything
Scalable-Vectorised is in the 24-bit Prefix.

overall, then, the strict RISC paradigm creates one hell of a lot less
work for everyone, yet brings something mind-melting like 2 million
intrinsics to the Power ISA. which is only manageable by sticking
strictly to RISC principles.

l.

[0] https://bugs.libre-soc.org/show_bug.cgi?id=867

[1] fascinatingly this approach was exactly the one that Peter Hsu
     and his team at MIPS, when they were developing the R8000,
     came up with around 1995.

[2] https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/sv/sv_analysis.py;hb=HEAD
[3] https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/sv/sv_binutils.py;hb=HEAD

[4] https://bugs.libre-soc.org/show_bug.cgi?id=865#c1

[5] https://libre-soc.org/openpower/sv/biginteger/

[6] https://libre-soc.org/openpower/sv/bitmanip/

[7] https://bugs.libre-soc.org/show_bug.cgi?id=849

[8] new Scalar instructions have to make sense in a Vector context
     "scalar===element" before they can be Prefixed to extend to multiple
    elements. mtmsr doesn't qualify for example because there's only
    ever going to be one MSR.  sc makes no sense, but weirdly td/tw
    tdi/twi do.

[9] we tried breaking the rule of adding Vector opcodes without having
     the corresponding identical Scalar instruction: it went very badly.
     lesson learned.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v5 0/7] ppc/svp64: support SVP64 and its first insns
  2022-06-23 20:08     ` [PATCH v4 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                         ` (5 preceding siblings ...)
  2022-06-23 20:08       ` [PATCH v4 6/6] ppc/svp64: support svremap instruction Dmitry Selyutin
@ 2022-06-26 18:59       ` Dmitry Selyutin
  2022-06-26 18:59         ` [PATCH v5 1/7] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
                           ` (7 more replies)
  6 siblings, 8 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-26 18:59 UTC (permalink / raw)
  To: binutils
  Cc: Alan Modra, Luke Leighton, Jan Beulich, Nick Alcock,
	Richard Earnshaw, Andreas Schwab, Dmitry Selyutin

These patches add support for LibreSOC machine and SVP64 extension flag
for PowerPC architecture. SV (Simple-V) is a strict RISC-paradigm
Scalable Vector Extension for the Power ISA. SVP64 is the 64-bit
Prefixed instruction format implementing SV. Funded by NLnet through EU
Grants No: 825310 and 825322, SV is in DRAFT form and is to be publicly
submitted via the OpenPOWER Foundation ISA Working Group via the
newly-created External RFC Process.

Changes since v4:
- Introduced svindex instruction along with SVI form.
- Fixed svstep test so that ranges for operand 0 are correct.
- Updated commit messages with the links to instructions.
- Renamed SVRMf field to SVrm.

Changes since v3:
- Applied the correct version of patches.

Changes since v2:
- All patches now have the description including links to docs.
- A new operand flag is introduced for ranges 1..n instead of 0..n-1.
- All tests are rewritten for simplicity's sake.

Changes since v1:
- Aliased instruction fields now appear after the original ones.

Dmitry Selyutin (7):
  ppc/svp64: support LibreSOC architecture
  ppc: introduce non-zero operand flag
  ppc/svp64: support setvl instructions
  ppc/svp64: support svstep instructions
  ppc/svp64: support svshape instruction
  ppc/svp64: support svremap instruction
  ppc/svp64: support svindex instruction

 gas/config/tc-ppc.c             | 24 ++++++++--
 gas/testsuite/gas/ppc/ppc.exp   |  6 +++
 gas/testsuite/gas/ppc/setvl.d   | 15 ++++++
 gas/testsuite/gas/ppc/setvl.s   |  7 +++
 gas/testsuite/gas/ppc/svindex.d | 16 +++++++
 gas/testsuite/gas/ppc/svindex.s |  8 ++++
 gas/testsuite/gas/ppc/svremap.d | 16 +++++++
 gas/testsuite/gas/ppc/svremap.s |  8 ++++
 gas/testsuite/gas/ppc/svshape.d | 13 +++++
 gas/testsuite/gas/ppc/svshape.s |  5 ++
 gas/testsuite/gas/ppc/svstep.d  | 13 +++++
 gas/testsuite/gas/ppc/svstep.s  |  5 ++
 include/opcode/ppc.h            | 10 ++++
 opcodes/ppc-dis.c               |  8 ++++
 opcodes/ppc-opc.c               | 84 +++++++++++++++++++++++++++++++++
 15 files changed, 235 insertions(+), 3 deletions(-)
 create mode 100644 gas/testsuite/gas/ppc/setvl.d
 create mode 100644 gas/testsuite/gas/ppc/setvl.s
 create mode 100644 gas/testsuite/gas/ppc/svindex.d
 create mode 100644 gas/testsuite/gas/ppc/svindex.s
 create mode 100644 gas/testsuite/gas/ppc/svremap.d
 create mode 100644 gas/testsuite/gas/ppc/svremap.s
 create mode 100644 gas/testsuite/gas/ppc/svshape.d
 create mode 100644 gas/testsuite/gas/ppc/svshape.s
 create mode 100644 gas/testsuite/gas/ppc/svstep.d
 create mode 100644 gas/testsuite/gas/ppc/svstep.s

-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v5 1/7] ppc/svp64: support LibreSOC architecture
  2022-06-26 18:59       ` [PATCH v5 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
@ 2022-06-26 18:59         ` Dmitry Selyutin
  2022-06-26 19:00         ` [PATCH v5 2/7] ppc: introduce non-zero operand flag Dmitry Selyutin
                           ` (6 subsequent siblings)
  7 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-26 18:59 UTC (permalink / raw)
  To: binutils
  Cc: Alan Modra, Luke Leighton, Jan Beulich, Nick Alcock,
	Richard Earnshaw, Andreas Schwab, Dmitry Selyutin

This patch adds support for LibreSOC machine and SVP64 extension flag
for PowerPC architecture. SV (Simple-V) is a strict RISC-paradigm
Scalable Vector Extension for the Power ISA. SVP64 is the 64-bit
Prefixed instruction format implementing SV. Funded by NLnet through EU
Grants No: 825310 and 825322, SV is in DRAFT form and is to be publicly
submitted via the OpenPOWER Foundation ISA Working Group via the
newly-created External RFC Process.

For more details, visit https://libre-soc.org.
---
 gas/config/tc-ppc.c  | 2 ++
 include/opcode/ppc.h | 3 +++
 opcodes/ppc-dis.c    | 5 +++++
 opcodes/ppc-opc.c    | 1 +
 4 files changed, 11 insertions(+)

diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 4d789fd16a..76bdfb2e35 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1384,6 +1384,8 @@ PowerPC options:\n"));
   fprintf (stream, _("\
 -mpower10, -mpwr10      generate code for Power10 architecture\n"));
   fprintf (stream, _("\
+-mlibresoc              generate code for Libre-SOC architecture\n"));
+  fprintf (stream, _("\
 -mcell                  generate code for Cell Broadband Engine architecture\n"));
   fprintf (stream, _("\
 -mcom                   generate code for Power/PowerPC common instructions\n"));
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index 7bc6ee216e..d5752a42e6 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -237,6 +237,9 @@ extern const unsigned int spe2_num_opcodes;
 /* Opcode is only supported by power10 architecture.  */
 #define PPC_OPCODE_POWER10  0x400000000000ull
 
+/* Opcode is only supported by SVP64 extensions (LibreSOC architecture).  */
+#define PPC_OPCODE_SVP64	 0x800000000000ull
+
 /* A macro to extract the major opcode from an instruction.  */
 #define PPC_OP(i) (((i) >> 26) & 0x3f)
 
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index 45e8faeef5..f61e6518f1 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -200,6 +200,11 @@ struct ppc_mopt ppc_opts[] = {
 		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
 		| PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX),
     0 },
+  { "libresoc",  (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
+		| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
+		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
+		| PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_SVP64),
+    0 },
   { "future",  (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
 		| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
 		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index f5bd6dac50..fe2fcaeb1d 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -4826,6 +4826,7 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
 #define PPCHTM  PPC_OPCODE_POWER8
 #define E200Z4  PPC_OPCODE_E200Z4
 #define PPCLSP  PPC_OPCODE_LSP
+#define SVP64 PPC_OPCODE_SVP64
 /* Used to mark extended mnemonic in deprecated field so that -Mraw
    won't use this variant in disassembly.  */
 #define EXT	PPC_OPCODE_RAW
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v5 2/7] ppc: introduce non-zero operand flag
  2022-06-26 18:59       ` [PATCH v5 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  2022-06-26 18:59         ` [PATCH v5 1/7] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
@ 2022-06-26 19:00         ` Dmitry Selyutin
  2022-06-26 19:00         ` [PATCH v5 3/7] ppc/svp64: support setvl instructions Dmitry Selyutin
                           ` (5 subsequent siblings)
  7 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-26 19:00 UTC (permalink / raw)
  To: binutils
  Cc: Alan Modra, Luke Leighton, Jan Beulich, Nick Alcock,
	Richard Earnshaw, Andreas Schwab, Dmitry Selyutin

svstep and svshape instructions subtract 1 before encoding some of the
operands. Obviously zero is not supported for these operands. Whilst
PPC_OPERAND_PLUS1 fits perfectly to mark that maximal value should be
incremented, there is no flag which marks the fact that zero values are
not allowed. This patch adds a new flag, PPC_OPERAND_NONZERO, for this
purpose.
---
 gas/config/tc-ppc.c  | 22 +++++++++++++++++++---
 include/opcode/ppc.h |  7 +++++++
 opcodes/ppc-dis.c    |  3 +++
 3 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 76bdfb2e35..c048721ed0 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1643,10 +1643,16 @@ ppc_setup_opcodes (void)
 	 all the 1's in the mask are contiguous.  */
       for (i = 0; i < num_powerpc_operands; ++i)
 	{
+
 	  uint64_t mask = powerpc_operands[i].bitm;
+          unsigned long flags = powerpc_operands[i].flags;
 	  uint64_t right_bit;
 	  unsigned int j;
 
+	  if ((flags & (PPC_OPERAND_PLUS1 | PPC_OPERAND_NONZERO)) ==
+	        (PPC_OPERAND_PLUS1 | PPC_OPERAND_NONZERO))
+	    as_bad ("mutually exclusive operand flags");
+
 	  right_bit = mask & -mask;
 	  mask += right_bit;
 	  right_bit = mask & -mask;
@@ -1968,6 +1974,11 @@ ppc_insert_operand (uint64_t insn,
       max = (max >> 1) & -right;
       min = ~max & -right;
     }
+  else if ((operand->flags & PPC_OPERAND_NONZERO) != 0)
+    {
+      ++min;
+      ++max;
+    }
 
   if ((operand->flags & PPC_OPERAND_PLUS1) != 0)
     max++;
@@ -2018,10 +2029,15 @@ ppc_insert_operand (uint64_t insn,
       if (errmsg != (const char *) NULL)
 	as_bad_where (file, line, "%s", errmsg);
     }
-  else if (operand->shift >= 0)
-    insn |= (val & operand->bitm) << operand->shift;
   else
-    insn |= (val & operand->bitm) >> -operand->shift;
+    {
+      if ((operand->flags & PPC_OPERAND_NONZERO) != 0)
+	--val;
+      if (operand->shift >= 0)
+	insn |= (val & operand->bitm) << operand->shift;
+      else
+	insn |= (val & operand->bitm) >> -operand->shift;
+    }
 
   return insn;
 }
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index d5752a42e6..df06671db4 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -463,6 +463,13 @@ extern const unsigned int num_powerpc_operands;
 #define PPC_OPERAND_FCR (0x1000000)
 #define PPC_OPERAND_UDI (0x2000000)
 
+/*
+ * Valid range of operand is 1..n rather than 0..n-1.
+ * Before encoding, the operand value is decremented.
+ * After decoding. the operand value is incremented.
+ */
+#define PPC_OPERAND_NONZERO 0x4000000
+
 extern ppc_cpu_t ppc_parse_cpu (ppc_cpu_t, ppc_cpu_t *, const char *);
 
 static inline int64_t
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index f61e6518f1..d5b23c8a75 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -545,6 +545,9 @@ operand_value_powerpc (const struct powerpc_operand *operand,
 	}
     }
 
+  if ((operand->flags & PPC_OPERAND_NONZERO) != 0)
+    ++value;
+
   return value;
 }
 
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v5 3/7] ppc/svp64: support setvl instructions
  2022-06-26 18:59       ` [PATCH v5 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  2022-06-26 18:59         ` [PATCH v5 1/7] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
  2022-06-26 19:00         ` [PATCH v5 2/7] ppc: introduce non-zero operand flag Dmitry Selyutin
@ 2022-06-26 19:00         ` Dmitry Selyutin
  2022-06-26 19:00         ` [PATCH v5 4/7] ppc/svp64: support svstep instructions Dmitry Selyutin
                           ` (4 subsequent siblings)
  7 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-26 19:00 UTC (permalink / raw)
  To: binutils
  Cc: Alan Modra, Luke Leighton, Jan Beulich, Nick Alcock,
	Richard Earnshaw, Andreas Schwab, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/setvl/
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp |  2 ++
 gas/testsuite/gas/ppc/setvl.d | 15 +++++++++++++++
 gas/testsuite/gas/ppc/setvl.s |  7 +++++++
 opcodes/ppc-opc.c             | 23 +++++++++++++++++++++++
 4 files changed, 47 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/setvl.d
 create mode 100644 gas/testsuite/gas/ppc/setvl.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index a2e23a2c6a..cd4dd658ce 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -153,3 +153,5 @@ run_dump_test "rop-checks"
 run_dump_test "dcbt"
 run_dump_test "pr27676"
 run_dump_test "raw"
+
+run_dump_test "setvl"
diff --git a/gas/testsuite/gas/ppc/setvl.d b/gas/testsuite/gas/ppc/setvl.d
new file mode 100644
index 0000000000..a241c64fd1
--- /dev/null
+++ b/gas/testsuite/gas/ppc/setvl.d
@@ -0,0 +1,15 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(37 00 00 58|58 00 00 37) 	setvl.  r0,r0,1,0,0,0
+.*:	(36 00 00 58|58 00 00 36) 	setvl   r0,r0,1,0,0,0
+.*:	(36 00 e0 5b|5b e0 00 36) 	setvl   r31,r0,1,0,0,0
+.*:	(36 00 1f 58|58 1f 00 36) 	setvl   r0,r31,1,0,0,0
+.*:	(36 7e 00 58|58 00 7e 36) 	setvl   r0,r0,64,0,0,0
+.*:	(76 00 00 58|58 00 00 76) 	setvl   r0,r0,1,1,0,0
+.*:	(b6 00 00 58|58 00 00 b6) 	setvl   r0,r0,1,0,1,0
diff --git a/gas/testsuite/gas/ppc/setvl.s b/gas/testsuite/gas/ppc/setvl.s
new file mode 100644
index 0000000000..b7f1825b54
--- /dev/null
+++ b/gas/testsuite/gas/ppc/setvl.s
@@ -0,0 +1,7 @@
+setvl. 0,0,1,0,0,0
+setvl 0,0,1,0,0,0
+setvl 31,0,1,0,0,0
+setvl 0,31,1,0,0,0
+setvl 0,0,64,0,0,0
+setvl 0,0,1,1,0,0
+setvl 0,0,1,0,1,0
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index fe2fcaeb1d..90f813a280 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -2719,6 +2719,7 @@ extract_thds (uint64_t insn,
 
   return value;
 }
+
 \f
 /* The operands table.
 
@@ -3825,6 +3826,18 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define HH DDD + 1
   { 0x3, 13, NULL, NULL, 0 },
+
+#define SVi HH + 1
+  { 0x3f, 9, NULL, NULL, PPC_OPERAND_NONZERO },
+
+#define vf SVi + 1
+  { 0x1, 6, NULL, NULL, 0 },
+
+#define vs vf + 1
+  { 0x1, 7, NULL, NULL, 0 },
+
+#define ms vs + 1
+  { 0x1, 8, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4694,6 +4707,13 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
 #define APU_RT_MASK (APU_MASK | RT_MASK)
 #define APU_RA_MASK (APU_MASK | RA_MASK)
 
+/* An SVL form instruction. */
+#define SVL(op, xop, rc)			\
+  (OP (op)					\
+   | ((((uint64_t)(xop)) & 0x1f) << 1)		\
+   | (((uint64_t)(rc)) & 1))
+#define SVL_MASK	SVL (0x3f, 0x1f, 1)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6763,6 +6783,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"rlmi",	M(22,0),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlmi.",	M(22,1),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 
+{"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
+{"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
+
 {"rotlw",	MME(23,31,0),	MMBME_MASK,  PPCCOM,	PPCVLE|EXT,	{RA, RS, RB}},
 {"rlwnm",	M(23,0),	M_MASK,	     PPCCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlnm",	M(23,0),	M_MASK,	     PWRCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v5 4/7] ppc/svp64: support svstep instructions
  2022-06-26 18:59       ` [PATCH v5 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                           ` (2 preceding siblings ...)
  2022-06-26 19:00         ` [PATCH v5 3/7] ppc/svp64: support setvl instructions Dmitry Selyutin
@ 2022-06-26 19:00         ` Dmitry Selyutin
  2022-06-26 19:00         ` [PATCH v5 5/7] ppc/svp64: support svshape instruction Dmitry Selyutin
                           ` (3 subsequent siblings)
  7 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-26 19:00 UTC (permalink / raw)
  To: binutils
  Cc: Alan Modra, Luke Leighton, Jan Beulich, Nick Alcock,
	Richard Earnshaw, Andreas Schwab, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/svstep/
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp  |  1 +
 gas/testsuite/gas/ppc/svstep.d | 13 +++++++++++++
 gas/testsuite/gas/ppc/svstep.s |  5 +++++
 opcodes/ppc-opc.c              |  3 +++
 4 files changed, 22 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svstep.d
 create mode 100644 gas/testsuite/gas/ppc/svstep.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index cd4dd658ce..d4d06d587e 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -155,3 +155,4 @@ run_dump_test "pr27676"
 run_dump_test "raw"
 
 run_dump_test "setvl"
+run_dump_test "svstep"
diff --git a/gas/testsuite/gas/ppc/svstep.d b/gas/testsuite/gas/ppc/svstep.d
new file mode 100644
index 0000000000..5ce2c2570c
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svstep.d
@@ -0,0 +1,13 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(27 00 00 58|58 00 00 27) 	svstep. r0,1,0
+.*:	(26 00 00 58|58 00 00 26) 	svstep  r0,1,0
+.*:	(26 00 e0 5b|5b e0 00 26) 	svstep  r31,1,0
+.*:	(26 7e 00 58|58 00 7e 26) 	svstep  r0,64,0
+.*:	(66 00 00 58|58 00 00 66) 	svstep  r0,1,1
diff --git a/gas/testsuite/gas/ppc/svstep.s b/gas/testsuite/gas/ppc/svstep.s
new file mode 100644
index 0000000000..b073b2e467
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svstep.s
@@ -0,0 +1,5 @@
+svstep. 0,1,0
+svstep 0,1,0
+svstep 31,1,0
+svstep 0,64,0
+svstep 0,1,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 90f813a280..60a038aa40 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -6783,6 +6783,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"rlmi",	M(22,0),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlmi.",	M(22,1),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 
+{"svstep",	SVL(22,19,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+{"svstep.",	SVL(22,19,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v5 5/7] ppc/svp64: support svshape instruction
  2022-06-26 18:59       ` [PATCH v5 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                           ` (3 preceding siblings ...)
  2022-06-26 19:00         ` [PATCH v5 4/7] ppc/svp64: support svstep instructions Dmitry Selyutin
@ 2022-06-26 19:00         ` Dmitry Selyutin
  2022-06-26 19:00         ` [PATCH v5 6/7] ppc/svp64: support svremap instruction Dmitry Selyutin
                           ` (2 subsequent siblings)
  7 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-26 19:00 UTC (permalink / raw)
  To: binutils
  Cc: Alan Modra, Luke Leighton, Jan Beulich, Nick Alcock,
	Richard Earnshaw, Andreas Schwab, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/remap/#svshape
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp   |  1 +
 gas/testsuite/gas/ppc/svshape.d | 13 +++++++++++++
 gas/testsuite/gas/ppc/svshape.s |  5 +++++
 opcodes/ppc-opc.c               | 23 +++++++++++++++++++++++
 4 files changed, 42 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svshape.d
 create mode 100644 gas/testsuite/gas/ppc/svshape.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index d4d06d587e..04082439bb 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -156,3 +156,4 @@ run_dump_test "raw"
 
 run_dump_test "setvl"
 run_dump_test "svstep"
+run_dump_test "svshape"
diff --git a/gas/testsuite/gas/ppc/svshape.d b/gas/testsuite/gas/ppc/svshape.d
new file mode 100644
index 0000000000..8244741ed3
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svshape.d
@@ -0,0 +1,13 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(19 00 e0 5b|5b e0 00 19) 	svshape 32,1,1,0,0
+.*:	(19 00 1f 58|58 1f 00 19) 	svshape 1,32,1,0,0
+.*:	(19 f8 00 58|58 00 f8 19) 	svshape 1,1,32,0,0
+.*:	(99 07 00 58|58 00 07 99) 	svshape 1,1,1,15,0
+.*:	(59 00 00 58|58 00 00 59) 	svshape 1,1,1,0,1
diff --git a/gas/testsuite/gas/ppc/svshape.s b/gas/testsuite/gas/ppc/svshape.s
new file mode 100644
index 0000000000..c83373ba37
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svshape.s
@@ -0,0 +1,5 @@
+svshape 32,1,1,0,0
+svshape 1,32,1,0,0
+svshape 1,1,32,0,0
+svshape 1,1,1,15,0
+svshape 1,1,1,0,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 60a038aa40..f95bbf9402 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -3838,6 +3838,21 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define ms vs + 1
   { 0x1, 8, NULL, NULL, 0 },
+
+#define SVLcr ms + 1
+  { 0x1, 5, NULL, NULL, 0 },
+
+#define SVxd SVLcr + 1
+  { 0x1f, 21, NULL, NULL, PPC_OPERAND_NONZERO },
+
+#define SVyd SVxd + 1
+  { 0x1f, 16, NULL, NULL, PPC_OPERAND_NONZERO },
+
+#define SVzd SVyd + 1
+  { 0x1f, 11, NULL, NULL, PPC_OPERAND_NONZERO },
+
+#define SVrm SVzd + 1
+  { 0xf, 7, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4714,6 +4729,12 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
    | (((uint64_t)(rc)) & 1))
 #define SVL_MASK	SVL (0x3f, 0x1f, 1)
 
+/* An SVM form instruction. */
+#define SVM(op, xop)				\
+  (OP (op)					\
+   | (((uint64_t)(xop)) & 0x3f))
+#define SVM_MASK	SVM (0x3f, 0x3f)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6786,6 +6807,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"svstep",	SVL(22,19,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
 {"svstep.",	SVL(22,19,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
 
+{"svshape",	SVM(22,25),	SVM_MASK,	SVP64,	PPCVLE,	{SVxd, SVyd, SVzd, SVrm, vf}},
+
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v5 6/7] ppc/svp64: support svremap instruction
  2022-06-26 18:59       ` [PATCH v5 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                           ` (4 preceding siblings ...)
  2022-06-26 19:00         ` [PATCH v5 5/7] ppc/svp64: support svshape instruction Dmitry Selyutin
@ 2022-06-26 19:00         ` Dmitry Selyutin
  2022-06-26 19:00         ` [PATCH v5 7/7] ppc/svp64: support svindex instruction Dmitry Selyutin
  2022-07-25 13:10         ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  7 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-26 19:00 UTC (permalink / raw)
  To: binutils
  Cc: Alan Modra, Luke Leighton, Jan Beulich, Nick Alcock,
	Richard Earnshaw, Andreas Schwab, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/remap/#svremap
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp   |  1 +
 gas/testsuite/gas/ppc/svremap.d | 16 ++++++++++++++++
 gas/testsuite/gas/ppc/svremap.s |  8 ++++++++
 opcodes/ppc-opc.c               | 20 ++++++++++++++++++++
 4 files changed, 45 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svremap.d
 create mode 100644 gas/testsuite/gas/ppc/svremap.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index 04082439bb..a182cc81d7 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -157,3 +157,4 @@ run_dump_test "raw"
 run_dump_test "setvl"
 run_dump_test "svstep"
 run_dump_test "svshape"
+run_dump_test "svremap"
diff --git a/gas/testsuite/gas/ppc/svremap.d b/gas/testsuite/gas/ppc/svremap.d
new file mode 100644
index 0000000000..18646ec37d
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svremap.d
@@ -0,0 +1,16 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(39 00 00 58|58 00 00 39) 	svremap 0,0,0,0,0,0,0
+.*:	(39 00 e0 5b|5b e0 00 39) 	svremap 31,0,0,0,0,0,0
+.*:	(39 00 18 58|58 18 00 39) 	svremap 0,3,0,0,0,0,0
+.*:	(39 00 06 58|58 06 00 39) 	svremap 0,0,3,0,0,0,0
+.*:	(39 80 01 58|58 01 80 39) 	svremap 0,0,0,3,0,0,0
+.*:	(39 60 00 58|58 00 60 39) 	svremap 0,0,0,0,3,0,0
+.*:	(39 18 00 58|58 00 18 39) 	svremap 0,0,0,0,0,3,0
+.*:	(39 04 18 58|58 18 04 39) 	svremap 0,3,0,0,0,0,1
diff --git a/gas/testsuite/gas/ppc/svremap.s b/gas/testsuite/gas/ppc/svremap.s
new file mode 100644
index 0000000000..860040afc5
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svremap.s
@@ -0,0 +1,8 @@
+svremap 0,0,0,0,0,0,0
+svremap 31,0,0,0,0,0,0
+svremap 0,3,0,0,0,0,0
+svremap 0,0,3,0,0,0,0
+svremap 0,0,0,3,0,0,0
+svremap 0,0,0,0,3,0,0
+svremap 0,0,0,0,0,3,0
+svremap 0,3,0,0,0,0,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index f95bbf9402..8e56f88a6c 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -2850,6 +2850,7 @@ const struct powerpc_operand powerpc_operands[] =
   /* The RM field in an X form instruction.  */
 #define RM BOP + 1
 #define DD RM
+#define mo1 RM
   { 0x3, 11, NULL, NULL, 0 },
 
 #define BH RM + 1
@@ -3508,6 +3509,7 @@ const struct powerpc_operand powerpc_operands[] =
   /* The TO field in a D or X form instruction.  */
 #define TO TBR + 1
 #define DUI TO
+#define SVme TO
 #define TO_MASK (0x1f << 21)
   { 0x1f, 21, NULL, NULL, 0 },
 
@@ -3621,6 +3623,8 @@ const struct powerpc_operand powerpc_operands[] =
 #define PSWM WS + 1
   /* The BO16 field in a BD8 form instruction.  */
 #define BO16 PSWM
+  /* The pst field in a SVRM form instruction.  */
+#define pst PSWM
   {  0x1, 10, 0, 0, 0 },
 
   /* IDX bits for quantization in the pair singles instructions.  */
@@ -3658,6 +3662,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x1, 17, NULL, NULL, PPC_OPERAND_OPTIONAL },
 
 #define SP PRS + 1
+#define mi0 SP
   { 0x3, 19, NULL, NULL, 0 },
 
 #define S SP + 1
@@ -3825,6 +3830,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x7, PPC_OPSHIFT_INV, insert_Ddd, extract_Ddd, 0 },
 
 #define HH DDD + 1
+#define mo0 HH
   { 0x3, 13, NULL, NULL, 0 },
 
 #define SVi HH + 1
@@ -3853,6 +3859,12 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define SVrm SVzd + 1
   { 0xf, 7, NULL, NULL, 0 },
+
+#define mi1 SVrm + 1
+  { 0x3, 17, NULL, NULL, 0 },
+
+#define mi2 mi1 + 1
+  { 0x3, 15, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4735,6 +4747,12 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
    | (((uint64_t)(xop)) & 0x3f))
 #define SVM_MASK	SVM (0x3f, 0x3f)
 
+/* An SVRM form instruction. */
+#define SVRM(op, xop)				\
+  (OP (op)					\
+   | (((uint64_t)(xop)) & 0x3f))
+#define SVRM_MASK	SVRM (0x3f, 0x3f)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6812,6 +6830,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
+{"svremap",	SVRM(22,57),	SVRM_MASK,	SVP64,	PPCVLE,	{SVme, mi0, mi1, mi2, mo0, mo1, pst}},
+
 {"rotlw",	MME(23,31,0),	MMBME_MASK,  PPCCOM,	PPCVLE|EXT,	{RA, RS, RB}},
 {"rlwnm",	M(23,0),	M_MASK,	     PPCCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlnm",	M(23,0),	M_MASK,	     PWRCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v5 7/7] ppc/svp64: support svindex instruction
  2022-06-26 18:59       ` [PATCH v5 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                           ` (5 preceding siblings ...)
  2022-06-26 19:00         ` [PATCH v5 6/7] ppc/svp64: support svremap instruction Dmitry Selyutin
@ 2022-06-26 19:00         ` Dmitry Selyutin
  2022-07-25 13:10         ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  7 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-06-26 19:00 UTC (permalink / raw)
  To: binutils
  Cc: Alan Modra, Luke Leighton, Jan Beulich, Nick Alcock,
	Richard Earnshaw, Andreas Schwab, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/remap/#svindex
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp   |  1 +
 gas/testsuite/gas/ppc/svindex.d | 16 ++++++++++++++++
 gas/testsuite/gas/ppc/svindex.s |  8 ++++++++
 opcodes/ppc-opc.c               | 14 ++++++++++++++
 4 files changed, 39 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svindex.d
 create mode 100644 gas/testsuite/gas/ppc/svindex.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index a182cc81d7..12b4c9dac0 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -158,3 +158,4 @@ run_dump_test "setvl"
 run_dump_test "svstep"
 run_dump_test "svshape"
 run_dump_test "svremap"
+run_dump_test "svindex"
diff --git a/gas/testsuite/gas/ppc/svindex.d b/gas/testsuite/gas/ppc/svindex.d
new file mode 100644
index 0000000000..73bda73287
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svindex.d
@@ -0,0 +1,16 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(29 00 00 58|58 00 00 29) 	svindex r0,0,1,0,0,0,0
+.*:	(29 00 e0 5b|5b e0 00 29) 	svindex r31,0,1,0,0,0,0
+.*:	(29 00 1f 58|58 1f 00 29) 	svindex r0,31,1,0,0,0,0
+.*:	(29 f8 00 58|58 00 f8 29) 	svindex r0,0,32,0,0,0,0
+.*:	(29 06 00 58|58 00 06 29) 	svindex r0,0,1,3,0,0,0
+.*:	(29 01 00 58|58 00 01 29) 	svindex r0,0,1,0,1,0,0
+.*:	(a9 00 00 58|58 00 00 a9) 	svindex r0,0,1,0,0,1,0
+.*:	(69 00 00 58|58 00 00 69) 	svindex r0,0,1,0,0,0,1
diff --git a/gas/testsuite/gas/ppc/svindex.s b/gas/testsuite/gas/ppc/svindex.s
new file mode 100644
index 0000000000..ab256c433b
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svindex.s
@@ -0,0 +1,8 @@
+svindex 0,0,1,0,0,0,0
+svindex 31,0,1,0,0,0,0
+svindex 0,31,1,0,0,0,0
+svindex 0,0,32,0,0,0,0
+svindex 0,0,1,3,0,0,0
+svindex 0,0,1,0,1,0,0
+svindex 0,0,1,0,0,1,0
+svindex 0,0,1,0,0,0,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 8e56f88a6c..84b7d90c22 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -3557,6 +3557,7 @@ const struct powerpc_operand powerpc_operands[] =
   /* The UIMM field in a VX form instruction.  */
 #define UIMM SIMM + 1
 #define DCTL UIMM
+#define rmm UIMM
   { 0x1f, 16, NULL, NULL, 0 },
 
   /* The 3-bit UIMM field in a VX form instruction.  */
@@ -3649,6 +3650,7 @@ const struct powerpc_operand powerpc_operands[] =
   /* The RMC or CY field in a Z23 form instruction.  */
 #define RMC A_L + 1
 #define CY RMC
+#define ew RMC
   { 0x3, 9, NULL, NULL, 0 },
 
 #define R RMC + 1
@@ -3837,12 +3839,15 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x3f, 9, NULL, NULL, PPC_OPERAND_NONZERO },
 
 #define vf SVi + 1
+#define sk vf
   { 0x1, 6, NULL, NULL, 0 },
 
 #define vs vf + 1
+#define mm vs
   { 0x1, 7, NULL, NULL, 0 },
 
 #define ms vs + 1
+#define yx ms
   { 0x1, 8, NULL, NULL, 0 },
 
 #define SVLcr ms + 1
@@ -3855,6 +3860,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x1f, 16, NULL, NULL, PPC_OPERAND_NONZERO },
 
 #define SVzd SVyd + 1
+#define SVd SVzd
   { 0x1f, 11, NULL, NULL, PPC_OPERAND_NONZERO },
 
 #define SVrm SVzd + 1
@@ -4753,6 +4759,12 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
    | (((uint64_t)(xop)) & 0x3f))
 #define SVRM_MASK	SVRM (0x3f, 0x3f)
 
+/* An SVI form instruction. */
+#define SVI(op, xop)				\
+  (OP (op)					\
+   | (((uint64_t)(xop)) & 0x3f))
+#define SVI_MASK	SVI (0x3f, 0x3f)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6830,6 +6842,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
+{"svindex",	SVI(22,41),	SVI_MASK,	SVP64,	PPCVLE,	{RS, rmm, SVd, ew, yx, mm, sk}},
+
 {"svremap",	SVRM(22,57),	SVRM_MASK,	SVP64,	PPCVLE,	{SVme, mi0, mi1, mi2, mo0, mo1, pst}},
 
 {"rotlw",	MME(23,31,0),	MMBME_MASK,  PPCCOM,	PPCVLE|EXT,	{RA, RS, RB}},
-- 
2.36.1


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns
  2022-06-26 18:59       ` [PATCH v5 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                           ` (6 preceding siblings ...)
  2022-06-26 19:00         ` [PATCH v5 7/7] ppc/svp64: support svindex instruction Dmitry Selyutin
@ 2022-07-25 13:10         ` Dmitry Selyutin
  2022-07-25 13:10           ` [PATCH v6 1/7] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
                             ` (8 more replies)
  7 siblings, 9 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-07-25 13:10 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

These patches add support for LibreSOC machine and SVP64 extension flag
for PowerPC architecture. SV (Simple-V) is a strict RISC-paradigm
Scalable Vector Extension for the Power ISA. SVP64 is the 64-bit
Prefixed instruction format implementing SV. Funded by NLnet through EU
Grants No: 825310 and 825322, SV is in DRAFT form and is to be publicly
submitted via the OpenPOWER Foundation ISA Working Group via the
newly-created External RFC Process.

Changes since v5:
- Introduced an SVG field, acting as TO field alias (SVI-FORM).

Changes since v4:
- Introduced svindex instruction along with SVI form.
- Fixed svstep test so that ranges for operand 0 are correct.
- Updated commit messages with the links to instructions.
- Renamed SVRMf field to SVrm.

Changes since v3:
- Applied the correct version of patches.

Changes since v2:
- All patches now have the description including links to docs.
- A new operand flag is introduced for ranges 1..n instead of 0..n-1.
- All tests are rewritten for simplicity's sake.

Changes since v1:
- Aliased instruction fields now appear after the original ones.

Dmitry Selyutin (7):
  ppc/svp64: support LibreSOC architecture
  ppc: introduce non-zero operand flag
  ppc/svp64: support setvl instructions
  ppc/svp64: support svstep instructions
  ppc/svp64: support svshape instruction
  ppc/svp64: support svremap instruction
  ppc/svp64: support svindex instruction

 gas/config/tc-ppc.c             | 24 ++++++++--
 gas/testsuite/gas/ppc/ppc.exp   |  6 +++
 gas/testsuite/gas/ppc/setvl.d   | 15 ++++++
 gas/testsuite/gas/ppc/setvl.s   |  7 +++
 gas/testsuite/gas/ppc/svindex.d | 16 +++++++
 gas/testsuite/gas/ppc/svindex.s |  8 ++++
 gas/testsuite/gas/ppc/svremap.d | 16 +++++++
 gas/testsuite/gas/ppc/svremap.s |  8 ++++
 gas/testsuite/gas/ppc/svshape.d | 13 +++++
 gas/testsuite/gas/ppc/svshape.s |  5 ++
 gas/testsuite/gas/ppc/svstep.d  | 13 +++++
 gas/testsuite/gas/ppc/svstep.s  |  5 ++
 include/opcode/ppc.h            | 10 ++++
 opcodes/ppc-dis.c               |  8 ++++
 opcodes/ppc-opc.c               | 85 +++++++++++++++++++++++++++++++++
 15 files changed, 236 insertions(+), 3 deletions(-)
 create mode 100644 gas/testsuite/gas/ppc/setvl.d
 create mode 100644 gas/testsuite/gas/ppc/setvl.s
 create mode 100644 gas/testsuite/gas/ppc/svindex.d
 create mode 100644 gas/testsuite/gas/ppc/svindex.s
 create mode 100644 gas/testsuite/gas/ppc/svremap.d
 create mode 100644 gas/testsuite/gas/ppc/svremap.s
 create mode 100644 gas/testsuite/gas/ppc/svshape.d
 create mode 100644 gas/testsuite/gas/ppc/svshape.s
 create mode 100644 gas/testsuite/gas/ppc/svstep.d
 create mode 100644 gas/testsuite/gas/ppc/svstep.s

-- 
2.37.0


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v6 1/7] ppc/svp64: support LibreSOC architecture
  2022-07-25 13:10         ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
@ 2022-07-25 13:10           ` Dmitry Selyutin
  2022-07-25 13:10           ` [PATCH v6 2/7] ppc: introduce non-zero operand flag Dmitry Selyutin
                             ` (7 subsequent siblings)
  8 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-07-25 13:10 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

This patch adds support for LibreSOC machine and SVP64 extension flag
for PowerPC architecture. SV (Simple-V) is a strict RISC-paradigm
Scalable Vector Extension for the Power ISA. SVP64 is the 64-bit
Prefixed instruction format implementing SV. Funded by NLnet through EU
Grants No: 825310 and 825322, SV is in DRAFT form and is to be publicly
submitted via the OpenPOWER Foundation ISA Working Group via the
newly-created External RFC Process.

For more details, visit https://libre-soc.org.
---
 gas/config/tc-ppc.c  | 2 ++
 include/opcode/ppc.h | 3 +++
 opcodes/ppc-dis.c    | 5 +++++
 opcodes/ppc-opc.c    | 1 +
 4 files changed, 11 insertions(+)

diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 452fab1cbf..ffc99857e3 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1382,6 +1382,8 @@ PowerPC options:\n"));
   fprintf (stream, _("\
 -mpower10, -mpwr10      generate code for Power10 architecture\n"));
   fprintf (stream, _("\
+-mlibresoc              generate code for Libre-SOC architecture\n"));
+  fprintf (stream, _("\
 -mcell                  generate code for Cell Broadband Engine architecture\n"));
   fprintf (stream, _("\
 -mcom                   generate code for Power/PowerPC common instructions\n"));
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index 7bc6ee216e..d5752a42e6 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -237,6 +237,9 @@ extern const unsigned int spe2_num_opcodes;
 /* Opcode is only supported by power10 architecture.  */
 #define PPC_OPCODE_POWER10  0x400000000000ull
 
+/* Opcode is only supported by SVP64 extensions (LibreSOC architecture).  */
+#define PPC_OPCODE_SVP64	 0x800000000000ull
+
 /* A macro to extract the major opcode from an instruction.  */
 #define PPC_OP(i) (((i) >> 26) & 0x3f)
 
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index 45e8faeef5..f61e6518f1 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -200,6 +200,11 @@ struct ppc_mopt ppc_opts[] = {
 		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
 		| PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX),
     0 },
+  { "libresoc",  (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
+		| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
+		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
+		| PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_SVP64),
+    0 },
   { "future",  (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
 		| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
 		| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 7637d3e349..51da625e04 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -4832,6 +4832,7 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
 #define PPCHTM  PPC_OPCODE_POWER8
 #define E200Z4  PPC_OPCODE_E200Z4
 #define PPCLSP  PPC_OPCODE_LSP
+#define SVP64 PPC_OPCODE_SVP64
 /* Used to mark extended mnemonic in deprecated field so that -Mraw
    won't use this variant in disassembly.  */
 #define EXT	PPC_OPCODE_RAW
-- 
2.37.0


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v6 2/7] ppc: introduce non-zero operand flag
  2022-07-25 13:10         ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  2022-07-25 13:10           ` [PATCH v6 1/7] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
@ 2022-07-25 13:10           ` Dmitry Selyutin
  2022-07-25 13:10           ` [PATCH v6 3/7] ppc/svp64: support setvl instructions Dmitry Selyutin
                             ` (6 subsequent siblings)
  8 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-07-25 13:10 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

svstep and svshape instructions subtract 1 before encoding some of the
operands. Obviously zero is not supported for these operands. Whilst
PPC_OPERAND_PLUS1 fits perfectly to mark that maximal value should be
incremented, there is no flag which marks the fact that zero values are
not allowed. This patch adds a new flag, PPC_OPERAND_NONZERO, for this
purpose.
---
 gas/config/tc-ppc.c  | 22 +++++++++++++++++++---
 include/opcode/ppc.h |  7 +++++++
 opcodes/ppc-dis.c    |  3 +++
 3 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index ffc99857e3..7bd2fe785d 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1656,10 +1656,16 @@ ppc_setup_opcodes (void)
 	 all the 1's in the mask are contiguous.  */
       for (i = 0; i < num_powerpc_operands; ++i)
 	{
+
 	  uint64_t mask = powerpc_operands[i].bitm;
+          unsigned long flags = powerpc_operands[i].flags;
 	  uint64_t right_bit;
 	  unsigned int j;
 
+	  if ((flags & (PPC_OPERAND_PLUS1 | PPC_OPERAND_NONZERO)) ==
+	        (PPC_OPERAND_PLUS1 | PPC_OPERAND_NONZERO))
+	    as_bad ("mutually exclusive operand flags");
+
 	  right_bit = mask & -mask;
 	  mask += right_bit;
 	  right_bit = mask & -mask;
@@ -1992,6 +1998,11 @@ ppc_insert_operand (uint64_t insn,
       max = (max >> 1) & -right;
       min = ~max & -right;
     }
+  else if ((operand->flags & PPC_OPERAND_NONZERO) != 0)
+    {
+      ++min;
+      ++max;
+    }
 
   if ((operand->flags & PPC_OPERAND_PLUS1) != 0)
     max++;
@@ -2042,10 +2053,15 @@ ppc_insert_operand (uint64_t insn,
       if (errmsg != (const char *) NULL)
 	as_bad_where (file, line, "%s", errmsg);
     }
-  else if (operand->shift >= 0)
-    insn |= (val & operand->bitm) << operand->shift;
   else
-    insn |= (val & operand->bitm) >> -operand->shift;
+    {
+      if ((operand->flags & PPC_OPERAND_NONZERO) != 0)
+	--val;
+      if (operand->shift >= 0)
+	insn |= (val & operand->bitm) << operand->shift;
+      else
+	insn |= (val & operand->bitm) >> -operand->shift;
+    }
 
   return insn;
 }
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index d5752a42e6..df06671db4 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -463,6 +463,13 @@ extern const unsigned int num_powerpc_operands;
 #define PPC_OPERAND_FCR (0x1000000)
 #define PPC_OPERAND_UDI (0x2000000)
 
+/*
+ * Valid range of operand is 1..n rather than 0..n-1.
+ * Before encoding, the operand value is decremented.
+ * After decoding. the operand value is incremented.
+ */
+#define PPC_OPERAND_NONZERO 0x4000000
+
 extern ppc_cpu_t ppc_parse_cpu (ppc_cpu_t, ppc_cpu_t *, const char *);
 
 static inline int64_t
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index f61e6518f1..d5b23c8a75 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -545,6 +545,9 @@ operand_value_powerpc (const struct powerpc_operand *operand,
 	}
     }
 
+  if ((operand->flags & PPC_OPERAND_NONZERO) != 0)
+    ++value;
+
   return value;
 }
 
-- 
2.37.0


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v6 3/7] ppc/svp64: support setvl instructions
  2022-07-25 13:10         ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  2022-07-25 13:10           ` [PATCH v6 1/7] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
  2022-07-25 13:10           ` [PATCH v6 2/7] ppc: introduce non-zero operand flag Dmitry Selyutin
@ 2022-07-25 13:10           ` Dmitry Selyutin
  2022-08-15  6:18             ` Jan Beulich
  2022-07-25 13:10           ` [PATCH v6 4/7] ppc/svp64: support svstep instructions Dmitry Selyutin
                             ` (5 subsequent siblings)
  8 siblings, 1 reply; 62+ messages in thread
From: Dmitry Selyutin @ 2022-07-25 13:10 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/setvl/
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp |  2 ++
 gas/testsuite/gas/ppc/setvl.d | 15 +++++++++++++++
 gas/testsuite/gas/ppc/setvl.s |  7 +++++++
 opcodes/ppc-opc.c             | 23 +++++++++++++++++++++++
 4 files changed, 47 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/setvl.d
 create mode 100644 gas/testsuite/gas/ppc/setvl.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index 9844ce7e4a..70d6960d42 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -154,3 +154,5 @@ run_dump_test "rop-checks"
 run_dump_test "dcbt"
 run_dump_test "pr27676"
 run_dump_test "raw"
+
+run_dump_test "setvl"
diff --git a/gas/testsuite/gas/ppc/setvl.d b/gas/testsuite/gas/ppc/setvl.d
new file mode 100644
index 0000000000..a241c64fd1
--- /dev/null
+++ b/gas/testsuite/gas/ppc/setvl.d
@@ -0,0 +1,15 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(37 00 00 58|58 00 00 37) 	setvl.  r0,r0,1,0,0,0
+.*:	(36 00 00 58|58 00 00 36) 	setvl   r0,r0,1,0,0,0
+.*:	(36 00 e0 5b|5b e0 00 36) 	setvl   r31,r0,1,0,0,0
+.*:	(36 00 1f 58|58 1f 00 36) 	setvl   r0,r31,1,0,0,0
+.*:	(36 7e 00 58|58 00 7e 36) 	setvl   r0,r0,64,0,0,0
+.*:	(76 00 00 58|58 00 00 76) 	setvl   r0,r0,1,1,0,0
+.*:	(b6 00 00 58|58 00 00 b6) 	setvl   r0,r0,1,0,1,0
diff --git a/gas/testsuite/gas/ppc/setvl.s b/gas/testsuite/gas/ppc/setvl.s
new file mode 100644
index 0000000000..b7f1825b54
--- /dev/null
+++ b/gas/testsuite/gas/ppc/setvl.s
@@ -0,0 +1,7 @@
+setvl. 0,0,1,0,0,0
+setvl 0,0,1,0,0,0
+setvl 31,0,1,0,0,0
+setvl 0,31,1,0,0,0
+setvl 0,0,64,0,0,0
+setvl 0,0,1,1,0,0
+setvl 0,0,1,0,1,0
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 51da625e04..1c9dd5bd7b 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -2719,6 +2719,7 @@ extract_thds (uint64_t insn,
 
   return value;
 }
+
 \f
 /* The operands table.
 
@@ -3825,6 +3826,18 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define HH DDD + 1
   { 0x3, 13, NULL, NULL, 0 },
+
+#define SVi HH + 1
+  { 0x3f, 9, NULL, NULL, PPC_OPERAND_NONZERO },
+
+#define vf SVi + 1
+  { 0x1, 6, NULL, NULL, 0 },
+
+#define vs vf + 1
+  { 0x1, 7, NULL, NULL, 0 },
+
+#define ms vs + 1
+  { 0x1, 8, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4700,6 +4713,13 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
 #define APU_RT_MASK (APU_MASK | RT_MASK)
 #define APU_RA_MASK (APU_MASK | RA_MASK)
 
+/* An SVL form instruction. */
+#define SVL(op, xop, rc)			\
+  (OP (op)					\
+   | ((((uint64_t)(xop)) & 0x1f) << 1)		\
+   | (((uint64_t)(rc)) & 1))
+#define SVL_MASK	SVL (0x3f, 0x1f, 1)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6769,6 +6789,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"rlmi",	M(22,0),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlmi.",	M(22,1),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 
+{"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
+{"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
+
 {"rotlw",	MME(23,31,0),	MMBME_MASK,  PPCCOM,	PPCVLE|EXT,	{RA, RS, RB}},
 {"rlwnm",	M(23,0),	M_MASK,	     PPCCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlnm",	M(23,0),	M_MASK,	     PWRCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
-- 
2.37.0


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v6 4/7] ppc/svp64: support svstep instructions
  2022-07-25 13:10         ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                             ` (2 preceding siblings ...)
  2022-07-25 13:10           ` [PATCH v6 3/7] ppc/svp64: support setvl instructions Dmitry Selyutin
@ 2022-07-25 13:10           ` Dmitry Selyutin
  2022-07-25 13:10           ` [PATCH v6 5/7] ppc/svp64: support svshape instruction Dmitry Selyutin
                             ` (4 subsequent siblings)
  8 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-07-25 13:10 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/svstep/
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp  |  1 +
 gas/testsuite/gas/ppc/svstep.d | 13 +++++++++++++
 gas/testsuite/gas/ppc/svstep.s |  5 +++++
 opcodes/ppc-opc.c              |  3 +++
 4 files changed, 22 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svstep.d
 create mode 100644 gas/testsuite/gas/ppc/svstep.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index 70d6960d42..d126d03109 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -156,3 +156,4 @@ run_dump_test "pr27676"
 run_dump_test "raw"
 
 run_dump_test "setvl"
+run_dump_test "svstep"
diff --git a/gas/testsuite/gas/ppc/svstep.d b/gas/testsuite/gas/ppc/svstep.d
new file mode 100644
index 0000000000..5ce2c2570c
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svstep.d
@@ -0,0 +1,13 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(27 00 00 58|58 00 00 27) 	svstep. r0,1,0
+.*:	(26 00 00 58|58 00 00 26) 	svstep  r0,1,0
+.*:	(26 00 e0 5b|5b e0 00 26) 	svstep  r31,1,0
+.*:	(26 7e 00 58|58 00 7e 26) 	svstep  r0,64,0
+.*:	(66 00 00 58|58 00 00 66) 	svstep  r0,1,1
diff --git a/gas/testsuite/gas/ppc/svstep.s b/gas/testsuite/gas/ppc/svstep.s
new file mode 100644
index 0000000000..b073b2e467
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svstep.s
@@ -0,0 +1,5 @@
+svstep. 0,1,0
+svstep 0,1,0
+svstep 31,1,0
+svstep 0,64,0
+svstep 0,1,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 1c9dd5bd7b..99f4c147cf 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -6789,6 +6789,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"rlmi",	M(22,0),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlmi.",	M(22,1),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 
+{"svstep",	SVL(22,19,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+{"svstep.",	SVL(22,19,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
+
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
-- 
2.37.0


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v6 5/7] ppc/svp64: support svshape instruction
  2022-07-25 13:10         ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                             ` (3 preceding siblings ...)
  2022-07-25 13:10           ` [PATCH v6 4/7] ppc/svp64: support svstep instructions Dmitry Selyutin
@ 2022-07-25 13:10           ` Dmitry Selyutin
  2022-07-25 13:10           ` [PATCH v6 6/7] ppc/svp64: support svremap instruction Dmitry Selyutin
                             ` (3 subsequent siblings)
  8 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-07-25 13:10 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/remap/#svshape
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp   |  1 +
 gas/testsuite/gas/ppc/svshape.d | 13 +++++++++++++
 gas/testsuite/gas/ppc/svshape.s |  5 +++++
 opcodes/ppc-opc.c               | 23 +++++++++++++++++++++++
 4 files changed, 42 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svshape.d
 create mode 100644 gas/testsuite/gas/ppc/svshape.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index d126d03109..ea1c591a1e 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -157,3 +157,4 @@ run_dump_test "raw"
 
 run_dump_test "setvl"
 run_dump_test "svstep"
+run_dump_test "svshape"
diff --git a/gas/testsuite/gas/ppc/svshape.d b/gas/testsuite/gas/ppc/svshape.d
new file mode 100644
index 0000000000..8244741ed3
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svshape.d
@@ -0,0 +1,13 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(19 00 e0 5b|5b e0 00 19) 	svshape 32,1,1,0,0
+.*:	(19 00 1f 58|58 1f 00 19) 	svshape 1,32,1,0,0
+.*:	(19 f8 00 58|58 00 f8 19) 	svshape 1,1,32,0,0
+.*:	(99 07 00 58|58 00 07 99) 	svshape 1,1,1,15,0
+.*:	(59 00 00 58|58 00 00 59) 	svshape 1,1,1,0,1
diff --git a/gas/testsuite/gas/ppc/svshape.s b/gas/testsuite/gas/ppc/svshape.s
new file mode 100644
index 0000000000..c83373ba37
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svshape.s
@@ -0,0 +1,5 @@
+svshape 32,1,1,0,0
+svshape 1,32,1,0,0
+svshape 1,1,32,0,0
+svshape 1,1,1,15,0
+svshape 1,1,1,0,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 99f4c147cf..bf77083037 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -3838,6 +3838,21 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define ms vs + 1
   { 0x1, 8, NULL, NULL, 0 },
+
+#define SVLcr ms + 1
+  { 0x1, 5, NULL, NULL, 0 },
+
+#define SVxd SVLcr + 1
+  { 0x1f, 21, NULL, NULL, PPC_OPERAND_NONZERO },
+
+#define SVyd SVxd + 1
+  { 0x1f, 16, NULL, NULL, PPC_OPERAND_NONZERO },
+
+#define SVzd SVyd + 1
+  { 0x1f, 11, NULL, NULL, PPC_OPERAND_NONZERO },
+
+#define SVrm SVzd + 1
+  { 0xf, 7, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4720,6 +4735,12 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
    | (((uint64_t)(rc)) & 1))
 #define SVL_MASK	SVL (0x3f, 0x1f, 1)
 
+/* An SVM form instruction. */
+#define SVM(op, xop)				\
+  (OP (op)					\
+   | (((uint64_t)(xop)) & 0x3f))
+#define SVM_MASK	SVM (0x3f, 0x3f)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6792,6 +6813,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"svstep",	SVL(22,19,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
 {"svstep.",	SVL(22,19,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, SVi, vf}},
 
+{"svshape",	SVM(22,25),	SVM_MASK,	SVP64,	PPCVLE,	{SVxd, SVyd, SVzd, SVrm, vf}},
+
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
-- 
2.37.0


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v6 6/7] ppc/svp64: support svremap instruction
  2022-07-25 13:10         ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                             ` (4 preceding siblings ...)
  2022-07-25 13:10           ` [PATCH v6 5/7] ppc/svp64: support svshape instruction Dmitry Selyutin
@ 2022-07-25 13:10           ` Dmitry Selyutin
  2022-07-25 13:10           ` [PATCH v6 7/7] ppc/svp64: support svindex instruction Dmitry Selyutin
                             ` (2 subsequent siblings)
  8 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-07-25 13:10 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/remap/#svremap
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp   |  1 +
 gas/testsuite/gas/ppc/svremap.d | 16 ++++++++++++++++
 gas/testsuite/gas/ppc/svremap.s |  8 ++++++++
 opcodes/ppc-opc.c               | 20 ++++++++++++++++++++
 4 files changed, 45 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svremap.d
 create mode 100644 gas/testsuite/gas/ppc/svremap.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index ea1c591a1e..9f02fa75c2 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -158,3 +158,4 @@ run_dump_test "raw"
 run_dump_test "setvl"
 run_dump_test "svstep"
 run_dump_test "svshape"
+run_dump_test "svremap"
diff --git a/gas/testsuite/gas/ppc/svremap.d b/gas/testsuite/gas/ppc/svremap.d
new file mode 100644
index 0000000000..18646ec37d
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svremap.d
@@ -0,0 +1,16 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(39 00 00 58|58 00 00 39) 	svremap 0,0,0,0,0,0,0
+.*:	(39 00 e0 5b|5b e0 00 39) 	svremap 31,0,0,0,0,0,0
+.*:	(39 00 18 58|58 18 00 39) 	svremap 0,3,0,0,0,0,0
+.*:	(39 00 06 58|58 06 00 39) 	svremap 0,0,3,0,0,0,0
+.*:	(39 80 01 58|58 01 80 39) 	svremap 0,0,0,3,0,0,0
+.*:	(39 60 00 58|58 00 60 39) 	svremap 0,0,0,0,3,0,0
+.*:	(39 18 00 58|58 00 18 39) 	svremap 0,0,0,0,0,3,0
+.*:	(39 04 18 58|58 18 04 39) 	svremap 0,3,0,0,0,0,1
diff --git a/gas/testsuite/gas/ppc/svremap.s b/gas/testsuite/gas/ppc/svremap.s
new file mode 100644
index 0000000000..860040afc5
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svremap.s
@@ -0,0 +1,8 @@
+svremap 0,0,0,0,0,0,0
+svremap 31,0,0,0,0,0,0
+svremap 0,3,0,0,0,0,0
+svremap 0,0,3,0,0,0,0
+svremap 0,0,0,3,0,0,0
+svremap 0,0,0,0,3,0,0
+svremap 0,0,0,0,0,3,0
+svremap 0,3,0,0,0,0,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index bf77083037..fa1ffa5698 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -2850,6 +2850,7 @@ const struct powerpc_operand powerpc_operands[] =
   /* The RM field in an X form instruction.  */
 #define RM BOP + 1
 #define DD RM
+#define mo1 RM
   { 0x3, 11, NULL, NULL, 0 },
 
 #define BH RM + 1
@@ -3508,6 +3509,7 @@ const struct powerpc_operand powerpc_operands[] =
   /* The TO field in a D or X form instruction.  */
 #define TO TBR + 1
 #define DUI TO
+#define SVme TO
 #define TO_MASK (0x1f << 21)
   { 0x1f, 21, NULL, NULL, 0 },
 
@@ -3621,6 +3623,8 @@ const struct powerpc_operand powerpc_operands[] =
 #define PSWM WS + 1
   /* The BO16 field in a BD8 form instruction.  */
 #define BO16 PSWM
+  /* The pst field in a SVRM form instruction.  */
+#define pst PSWM
   {  0x1, 10, 0, 0, 0 },
 
   /* IDX bits for quantization in the pair singles instructions.  */
@@ -3658,6 +3662,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x1, 17, NULL, NULL, PPC_OPERAND_OPTIONAL },
 
 #define SP PRS + 1
+#define mi0 SP
   { 0x3, 19, NULL, NULL, 0 },
 
 #define S SP + 1
@@ -3825,6 +3830,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x7, PPC_OPSHIFT_INV, insert_Ddd, extract_Ddd, 0 },
 
 #define HH DDD + 1
+#define mo0 HH
   { 0x3, 13, NULL, NULL, 0 },
 
 #define SVi HH + 1
@@ -3853,6 +3859,12 @@ const struct powerpc_operand powerpc_operands[] =
 
 #define SVrm SVzd + 1
   { 0xf, 7, NULL, NULL, 0 },
+
+#define mi1 SVrm + 1
+  { 0x3, 17, NULL, NULL, 0 },
+
+#define mi2 mi1 + 1
+  { 0x3, 15, NULL, NULL, 0 },
 };
 
 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
@@ -4741,6 +4753,12 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
    | (((uint64_t)(xop)) & 0x3f))
 #define SVM_MASK	SVM (0x3f, 0x3f)
 
+/* An SVRM form instruction. */
+#define SVRM(op, xop)				\
+  (OP (op)					\
+   | (((uint64_t)(xop)) & 0x3f))
+#define SVRM_MASK	SVRM (0x3f, 0x3f)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6818,6 +6836,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
+{"svremap",	SVRM(22,57),	SVRM_MASK,	SVP64,	PPCVLE,	{SVme, mi0, mi1, mi2, mo0, mo1, pst}},
+
 {"rotlw",	MME(23,31,0),	MMBME_MASK,  PPCCOM,	PPCVLE|EXT,	{RA, RS, RB}},
 {"rlwnm",	M(23,0),	M_MASK,	     PPCCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
 {"rlnm",	M(23,0),	M_MASK,	     PWRCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
-- 
2.37.0


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v6 7/7] ppc/svp64: support svindex instruction
  2022-07-25 13:10         ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                             ` (5 preceding siblings ...)
  2022-07-25 13:10           ` [PATCH v6 6/7] ppc/svp64: support svremap instruction Dmitry Selyutin
@ 2022-07-25 13:10           ` Dmitry Selyutin
  2022-07-26 13:14           ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
  2022-08-11  9:14           ` Alan Modra
  8 siblings, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-07-25 13:10 UTC (permalink / raw)
  To: binutils; +Cc: Alan Modra, Luke Kenneth Casson Leighton, Dmitry Selyutin

https://libre-soc.org/openpower/sv/
https://libre-soc.org/openpower/sv/remap/#svindex
https://libre-soc.org/openpower/isa/simplev/
---
 gas/testsuite/gas/ppc/ppc.exp   |  1 +
 gas/testsuite/gas/ppc/svindex.d | 16 ++++++++++++++++
 gas/testsuite/gas/ppc/svindex.s |  8 ++++++++
 opcodes/ppc-opc.c               | 15 +++++++++++++++
 4 files changed, 40 insertions(+)
 create mode 100644 gas/testsuite/gas/ppc/svindex.d
 create mode 100644 gas/testsuite/gas/ppc/svindex.s

diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index 9f02fa75c2..53c2d0dc32 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -159,3 +159,4 @@ run_dump_test "setvl"
 run_dump_test "svstep"
 run_dump_test "svshape"
 run_dump_test "svremap"
+run_dump_test "svindex"
diff --git a/gas/testsuite/gas/ppc/svindex.d b/gas/testsuite/gas/ppc/svindex.d
new file mode 100644
index 0000000000..73bda73287
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svindex.d
@@ -0,0 +1,16 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:	(29 00 00 58|58 00 00 29) 	svindex r0,0,1,0,0,0,0
+.*:	(29 00 e0 5b|5b e0 00 29) 	svindex r31,0,1,0,0,0,0
+.*:	(29 00 1f 58|58 1f 00 29) 	svindex r0,31,1,0,0,0,0
+.*:	(29 f8 00 58|58 00 f8 29) 	svindex r0,0,32,0,0,0,0
+.*:	(29 06 00 58|58 00 06 29) 	svindex r0,0,1,3,0,0,0
+.*:	(29 01 00 58|58 00 01 29) 	svindex r0,0,1,0,1,0,0
+.*:	(a9 00 00 58|58 00 00 a9) 	svindex r0,0,1,0,0,1,0
+.*:	(69 00 00 58|58 00 00 69) 	svindex r0,0,1,0,0,0,1
diff --git a/gas/testsuite/gas/ppc/svindex.s b/gas/testsuite/gas/ppc/svindex.s
new file mode 100644
index 0000000000..ab256c433b
--- /dev/null
+++ b/gas/testsuite/gas/ppc/svindex.s
@@ -0,0 +1,8 @@
+svindex 0,0,1,0,0,0,0
+svindex 31,0,1,0,0,0,0
+svindex 0,31,1,0,0,0,0
+svindex 0,0,32,0,0,0,0
+svindex 0,0,1,3,0,0,0
+svindex 0,0,1,0,1,0,0
+svindex 0,0,1,0,0,1,0
+svindex 0,0,1,0,0,0,1
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index fa1ffa5698..1e791e57c3 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -3510,6 +3510,7 @@ const struct powerpc_operand powerpc_operands[] =
 #define TO TBR + 1
 #define DUI TO
 #define SVme TO
+#define SVG TO
 #define TO_MASK (0x1f << 21)
   { 0x1f, 21, NULL, NULL, 0 },
 
@@ -3557,6 +3558,7 @@ const struct powerpc_operand powerpc_operands[] =
   /* The UIMM field in a VX form instruction.  */
 #define UIMM SIMM + 1
 #define DCTL UIMM
+#define rmm UIMM
   { 0x1f, 16, NULL, NULL, 0 },
 
   /* The 3-bit UIMM field in a VX form instruction.  */
@@ -3649,6 +3651,7 @@ const struct powerpc_operand powerpc_operands[] =
   /* The RMC or CY field in a Z23 form instruction.  */
 #define RMC A_L + 1
 #define CY RMC
+#define ew RMC
   { 0x3, 9, NULL, NULL, 0 },
 
 #define R RMC + 1
@@ -3837,12 +3840,15 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x3f, 9, NULL, NULL, PPC_OPERAND_NONZERO },
 
 #define vf SVi + 1
+#define sk vf
   { 0x1, 6, NULL, NULL, 0 },
 
 #define vs vf + 1
+#define mm vs
   { 0x1, 7, NULL, NULL, 0 },
 
 #define ms vs + 1
+#define yx ms
   { 0x1, 8, NULL, NULL, 0 },
 
 #define SVLcr ms + 1
@@ -3855,6 +3861,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x1f, 16, NULL, NULL, PPC_OPERAND_NONZERO },
 
 #define SVzd SVyd + 1
+#define SVd SVzd
   { 0x1f, 11, NULL, NULL, PPC_OPERAND_NONZERO },
 
 #define SVrm SVzd + 1
@@ -4759,6 +4766,12 @@ const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
    | (((uint64_t)(xop)) & 0x3f))
 #define SVRM_MASK	SVRM (0x3f, 0x3f)
 
+/* An SVI form instruction. */
+#define SVI(op, xop)				\
+  (OP (op)					\
+   | (((uint64_t)(xop)) & 0x3f))
+#define SVI_MASK	SVI (0x3f, 0x3f)
+
 /* The BO encodings used in extended conditional branch mnemonics.  */
 #define BODNZF	(0x0)
 #define BODNZFP	(0x1)
@@ -6836,6 +6849,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 {"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
 
+{"svindex",	SVI(22,41),	SVI_MASK,	SVP64,	PPCVLE,	{SVG, rmm, SVd, ew, yx, mm, sk}},
+
 {"svremap",	SVRM(22,57),	SVRM_MASK,	SVP64,	PPCVLE,	{SVme, mi0, mi1, mi2, mo0, mo1, pst}},
 
 {"rotlw",	MME(23,31,0),	MMBME_MASK,  PPCCOM,	PPCVLE|EXT,	{RA, RS, RB}},
-- 
2.37.0


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns
  2022-07-25 13:10         ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                             ` (6 preceding siblings ...)
  2022-07-25 13:10           ` [PATCH v6 7/7] ppc/svp64: support svindex instruction Dmitry Selyutin
@ 2022-07-26 13:14           ` Dmitry Selyutin
  2022-07-27  4:53             ` Alan Modra
  2022-08-11  9:14           ` Alan Modra
  8 siblings, 1 reply; 62+ messages in thread
From: Dmitry Selyutin @ 2022-07-26 13:14 UTC (permalink / raw)
  To: Binutils, Alan Modra; +Cc: Luke Kenneth Casson Leighton

On Mon, Jul 25, 2022, 16:10 Dmitry Selyutin <ghostmansd@gmail.com> wrote:

> These patches add support for LibreSOC machine and SVP64 extension flag
> for PowerPC architecture.


Hi Alan, can we submit this? I got a confirmation that copyrights
assignment is done, so hopefully we can start submitting patches.

The original thread became way too large, perhaps I should send all these
patches as part of the new thread. What do you think?

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns
  2022-07-26 13:14           ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
@ 2022-07-27  4:53             ` Alan Modra
  2022-07-27  6:38               ` lkcl
  0 siblings, 1 reply; 62+ messages in thread
From: Alan Modra @ 2022-07-27  4:53 UTC (permalink / raw)
  To: Dmitry Selyutin; +Cc: Binutils, Luke Kenneth Casson Leighton

On Tue, Jul 26, 2022 at 04:14:28PM +0300, Dmitry Selyutin wrote:
> On Mon, Jul 25, 2022, 16:10 Dmitry Selyutin <ghostmansd@gmail.com> wrote:
> 
> > These patches add support for LibreSOC machine and SVP64 extension flag
> > for PowerPC architecture.
> 
> 
> Hi Alan, can we submit this? I got a confirmation that copyrights
> assignment is done, so hopefully we can start submitting patches.

Sorry, no.  I have yet to see your assignment in the GNU
copyright.list file, and until that happens it is not done.  That's
the file that I am required to check as a GNU project maintainer, and
unlike some I don't see much sense in tearing down FSF procedures or
governance.  Last entry in the file on fencepost.gnu.org is 2022-07-20
so I guess your assignment might take a few days more.

> The original thread became way too large, perhaps I should send all these
> patches as part of the new thread. What do you think?

No, please don't repost unless you find a major reason that an older
patch needs revision.

-- 
Alan Modra
Australia Development Lab, IBM

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns
  2022-07-27  4:53             ` Alan Modra
@ 2022-07-27  6:38               ` lkcl
  0 siblings, 0 replies; 62+ messages in thread
From: lkcl @ 2022-07-27  6:38 UTC (permalink / raw)
  To: Alan Modra, Dmitry Selyutin; +Cc: Binutils

On July 27, 2022 5:53:48 AM GMT+01:00, Alan Modra <amodra@gmail.com> wrote:

> No, please don't repost unless you find a major reason that an older
> patch needs revision.

thank you for patiently informing us of contributor procedures alan.
appreciate there are lots of hoops and a lot you have to coordinate.

l.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns
  2022-07-25 13:10         ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
                             ` (7 preceding siblings ...)
  2022-07-26 13:14           ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
@ 2022-08-11  9:14           ` Alan Modra
  2022-08-11 10:48             ` [PATCH 0/5] " lkcl
  2022-08-12  3:30             ` [PATCH v6 0/7] " Dmitry Selyutin
  8 siblings, 2 replies; 62+ messages in thread
From: Alan Modra @ 2022-08-11  9:14 UTC (permalink / raw)
  To: Dmitry Selyutin; +Cc: binutils, Luke Kenneth Casson Leighton

On Mon, Jul 25, 2022 at 04:10:13PM +0300, Dmitry Selyutin wrote:
> These patches add support for LibreSOC machine and SVP64 extension flag
> for PowerPC architecture. SV (Simple-V) is a strict RISC-paradigm
> Scalable Vector Extension for the Power ISA. SVP64 is the 64-bit
> Prefixed instruction format implementing SV. Funded by NLnet through EU
> Grants No: 825310 and 825322, SV is in DRAFT form and is to be publicly
> submitted via the OpenPOWER Foundation ISA Working Group via the
> newly-created External RFC Process.

Hi Dmitry,
Now that your copyright assignment is complete, I've pushed this
series.  I made a few changes, most notably to ppc/svindex.d so that
the test passed.

-- 
Alan Modra
Australia Development Lab, IBM

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 0/5] ppc/svp64: support SVP64 and its first insns
  2022-08-11  9:14           ` Alan Modra
@ 2022-08-11 10:48             ` lkcl
  2022-08-12  3:30             ` [PATCH v6 0/7] " Dmitry Selyutin
  1 sibling, 0 replies; 62+ messages in thread
From: lkcl @ 2022-08-11 10:48 UTC (permalink / raw)
  To: Alan Modra; +Cc: Dmitry Selyutin, binutils

On Thursday, August 11, 2022, Alan Modra <amodra@gmail.com> wrote:
> On Mon, Jul 25, 2022 at 04:10:13PM +0300, Dmitry Selyutin wrote:

> Hi Dmitry,
> Now that your copyright assignment is complete, I've pushed this
> series.  I made a few changes, most notably to ppc/svindex.d so that
> the test passed.

with many thanks, Alan, we have some draft scalar instructions
to add (OPF External RFCs to accompany them over time) and it
will be a lot easier now. Less patchsets to maintain.

Also fyi I have added Pack/Unpack to SVP64 (a generalisation
of VSX vpack and vunpack extended to vec2/3/4 and applying
to multiple instructions, LDST immediates are the obvious
ones, sv.fmv as well, which other ops need more thought)

This will mean however that some of opc-ppc-svp64.c/h will
be re-generated, with new SVP64 classifications and room
in the 24-bit for Pack and Unpack bits.

Just a headsup what to expect.

Also many many thanks to Dmitry for patiently maintaining this
patch series whilst the Copyright assignment was being
processed.

L.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns
  2022-08-11  9:14           ` Alan Modra
  2022-08-11 10:48             ` [PATCH 0/5] " lkcl
@ 2022-08-12  3:30             ` Dmitry Selyutin
  1 sibling, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-08-12  3:30 UTC (permalink / raw)
  To: Alan Modra; +Cc: binutils, Luke Kenneth Casson Leighton

On Thu, Aug 11, 2022 at 12:14 PM Alan Modra <amodra@gmail.com> wrote:
> Hi Dmitry,
> Now that your copyright assignment is complete, I've pushed this
> series.  I made a few changes, most notably to ppc/svindex.d so that
> the test passed.

Hi Alan, thank you for your help and guidance! I'll publish some new
patches soon.

-- 
Best regards,
Dmitry Selyutin

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v6 3/7] ppc/svp64: support setvl instructions
  2022-07-25 13:10           ` [PATCH v6 3/7] ppc/svp64: support setvl instructions Dmitry Selyutin
@ 2022-08-15  6:18             ` Jan Beulich
  2022-08-15 12:58               ` lkcl
  0 siblings, 1 reply; 62+ messages in thread
From: Jan Beulich @ 2022-08-15  6:18 UTC (permalink / raw)
  To: Dmitry Selyutin; +Cc: Luke Kenneth Casson Leighton, binutils

On 25.07.2022 15:10, Dmitry Selyutin via Binutils wrote:
> --- /dev/null
> +++ b/gas/testsuite/gas/ppc/setvl.d
> @@ -0,0 +1,15 @@
> +#as: -mlibresoc
> +#objdump: -dr -Mlibresoc
> +
> +.*:     file format .*
> +
> +
> +Disassembly of section \.text:
> +0+ <\.text>:
> +.*:	(37 00 00 58|58 00 00 37) 	setvl.  r0,r0,1,0,0,0
> +.*:	(36 00 00 58|58 00 00 36) 	setvl   r0,r0,1,0,0,0
> +.*:	(36 00 e0 5b|5b e0 00 36) 	setvl   r31,r0,1,0,0,0
> +.*:	(36 00 1f 58|58 1f 00 36) 	setvl   r0,r31,1,0,0,0
> +.*:	(36 7e 00 58|58 00 7e 36) 	setvl   r0,r0,64,0,0,0
> +.*:	(76 00 00 58|58 00 00 76) 	setvl   r0,r0,1,1,0,0
> +.*:	(b6 00 00 58|58 00 00 b6) 	setvl   r0,r0,1,0,1,0

Out of curiosity - was it intentional to omit a case with the last
operand non-zero?

> @@ -6769,6 +6789,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
>  {"rlmi",	M(22,0),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
>  {"rlmi.",	M(22,1),	M_MASK,	     M601,	PPCVLE,		{RA, RS, RB, MBE, ME}},
>  
> +{"setvl",	SVL(22,27,0),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
> +{"setvl.",	SVL(22,27,1),	SVL_MASK,	SVP64,	PPCVLE,	{RT, RA, SVi, vf, vs, ms}},
> +
>  {"rotlw",	MME(23,31,0),	MMBME_MASK,  PPCCOM,	PPCVLE|EXT,	{RA, RS, RB}},
>  {"rlwnm",	M(23,0),	M_MASK,	     PPCCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},
>  {"rlnm",	M(23,0),	M_MASK,	     PWRCOM,	PPCVLE,		{RA, RS, RB, MBE, ME}},

According to the web page SETVL has a number of pseudos. I guess
you've omitted those for simplicity in the initial submission.

I'd like to point out though that the web page isn't really
crystal clear as to, in particular, the Rc field's applicability
to every one of the pseudos. (There's also a typo or two which
makes things a little ambiguous, but there it's reasonably clear
what is actually meant.)

Jan

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v6 3/7] ppc/svp64: support setvl instructions
  2022-08-15  6:18             ` Jan Beulich
@ 2022-08-15 12:58               ` lkcl
  2022-08-15 13:08                 ` Dmitry Selyutin
  2022-08-21 14:53                 ` Jan Beulich
  0 siblings, 2 replies; 62+ messages in thread
From: lkcl @ 2022-08-15 12:58 UTC (permalink / raw)
  To: Jan Beulich; +Cc: Dmitry Selyutin, binutils

On Mon, Aug 15, 2022 at 7:18 AM Jan Beulich <jbeulich@suse.com> wrote:

> On 25.07.2022 15:10, Dmitry Selyutin via Binutils wrote:
> > +Disassembly of section \.text:
> > +0+ <\.text>:
> > +.*:  (37 00 00 58|58 00 00 37)       setvl.  r0,r0,1,0,0,0
> Out of curiosity - was it intentional to omit a case with the last
> operand non-zero?

one for Dmitry - i believe these are all auto-generated?

> > @@ -6769,6 +6789,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
> > +{"setvl",    SVL(22,27,0),   SVL_MASK,       SVP64,  PPCVLE, {RT, RA, SVi, vf, vs, ms}},
> > +{"setvl.",   SVL(22,27,1),   SVL_MASK,       SVP64,  PPCVLE, {RT, RA, SVi, vf, vs, ms}},

> According to the web page SETVL has a number of pseudos.

yes.

> I guess you've omitted those for simplicity in the initial submission.

and because there's a python-based (very-easy-to-hack) program
which does the same job as gas, turning SVP64 assembler into
".long xxx; v3.0opcode", and it doesn't have pseudo-ops.

> I'd like to point out though that the web page isn't really
> crystal clear as to, in particular, the Rc field's applicability
> to every one of the pseudos.

ah appreciated, i've added examples.  more will be needed now that
there's also setvl-from-CTR as well.

> (There's also a typo or two which
> makes things a little ambiguous, but there it's reasonably clear
> what is actually meant.)

appreciated.  any feedback is more than welcome.  context there:
despite now being an Open ISA the amount of attention Power is
getting is surprisingly low.  hence any assistance and feedback
is all the more precious.

l.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v6 3/7] ppc/svp64: support setvl instructions
  2022-08-15 12:58               ` lkcl
@ 2022-08-15 13:08                 ` Dmitry Selyutin
  2022-08-21 14:53                 ` Jan Beulich
  1 sibling, 0 replies; 62+ messages in thread
From: Dmitry Selyutin @ 2022-08-15 13:08 UTC (permalink / raw)
  To: lkcl; +Cc: Jan Beulich, binutils

On Mon, Aug 15, 2022 at 9:18 AM Jan Beulich <jbeulich@suse.com> wrote:
> Out of curiosity - was it intentional to omit a case with the last
> operand non-zero?

Nice catch! This was not intentional, I'll submit the patch to handle
this case. Perhaps I either forgot to add this line, or removed it
somehow...

On Mon, Aug 15, 2022 at 3:59 PM lkcl <luke.leighton@gmail.com> wrote:
> one for Dmitry - i believe these are all auto-generated?

Except for the very first revisions with huge tests, I added the tests
manually. One of the issues for generation is that we don't, in fact,
maintain information about whether some operands should be non-zero.
Another issue was that, until very recently, we had to generate the
instructions manually, not from the parsed fields. In fact, we still
encode these instructions manually even now, but at least now we have
instruments to stop doing it.

For now, I'll simply update the test; in an ideal world, yes, we
should generate these tests.

-- 
Best regards,
Dmitry Selyutin

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v6 3/7] ppc/svp64: support setvl instructions
  2022-08-15 12:58               ` lkcl
  2022-08-15 13:08                 ` Dmitry Selyutin
@ 2022-08-21 14:53                 ` Jan Beulich
  2022-08-21 16:04                   ` lkcl
  1 sibling, 1 reply; 62+ messages in thread
From: Jan Beulich @ 2022-08-21 14:53 UTC (permalink / raw)
  To: lkcl; +Cc: Dmitry Selyutin, binutils

On 15.08.2022 14:58, lkcl wrote:
> On Mon, Aug 15, 2022 at 7:18 AM Jan Beulich <jbeulich@suse.com> wrote:
>> I'd like to point out though that the web page isn't really
>> crystal clear as to, in particular, the Rc field's applicability
>> to every one of the pseudos.
> 
> ah appreciated, i've added examples.  more will be needed now that
> there's also setvl-from-CTR as well.

Since you've added the further examples without altering the first
register operand for the expansion of setvli - is that really meant
to be r5, not r0?

>> (There's also a typo or two which
>> makes things a little ambiguous, but there it's reasonably clear
>> what is actually meant.)
> 
> appreciated.  any feedback is more than welcome.  context there:
> despite now being an Open ISA the amount of attention Power is
> getting is surprisingly low.  hence any assistance and feedback
> is all the more precious.

Is there any preferred way for providing feedback, just in case I
would spot further little issues? I've responded to the patches
to binutils mainly because I didn't know anything "better" ...

Jan

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v6 3/7] ppc/svp64: support setvl instructions
  2022-08-21 14:53                 ` Jan Beulich
@ 2022-08-21 16:04                   ` lkcl
  0 siblings, 0 replies; 62+ messages in thread
From: lkcl @ 2022-08-21 16:04 UTC (permalink / raw)
  To: Jan Beulich; +Cc: Dmitry Selyutin, binutils

On Sun, Aug 21, 2022 at 3:53 PM Jan Beulich <jbeulich@suse.com> wrote:
> On 15.08.2022 14:58, lkcl wrote:
> > ah appreciated, i've added examples.  more will be needed now that
> > there's also setvl-from-CTR as well.
>
> Since you've added the further examples without altering the first
> register operand for the expansion of setvli - is that really meant
> to be r5, not r0?

well-spotted: the addition of the CTR mode post-dates the creation
of those pseudo-ops, i've now corrected them.  it is slightly irksome
that the cost of adding CTR mode was at the expense of losing the
ability to set RT to an immediate, but this may be achieved with
addi RT,0,#N. go figure.

> Is there any preferred way for providing feedback, just in case I
> would spot further little issues? I've responded to the patches
> to binutils mainly because I didn't know anything "better" ...

appreciated. in order of approx precedence (coincidentally,
reverse-convenience):

* directly on the bugtracker bugs.libre-soc.org although contact
  me privately about that, i had to disable account-creation after
  someone used the bugtracker to advertise juniper networks at us
* the mailing list (mailman: i can authorise sending permission if
   you prefer not to subscribe: i.e. just send, and i'll deal with it)
   https://lists.libre-soc.org/mailman/listinfo/libre-soc-dev
* IRC - libera.chat - #libre-soc channel: if you prefer there is a
   Matrix Bridge (run by the libera team) and yet _another_ way
   is via the OPF's mattermost bridge
   https://chat.openpower.foundation/opf/channels/libre-soc
   all messages are logged  https://libre-soc.org/irclog/index.html

as we're under Audit Conditions (EU Funding, NLnet "works for
public good") everything is logged/public, but obviously if you're
used to FOSS then nothing's new :)

l.

^ permalink raw reply	[flat|nested] 62+ messages in thread

end of thread, other threads:[~2022-08-21 16:04 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-17 19:08 [PATCH 0/5] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
2022-06-17 19:08 ` [PATCH 1/5] svp64: support LibreSOC architecture Dmitry Selyutin
2022-06-17 19:08 ` [PATCH 2/5] ppc/svp64: support setvl instructions Dmitry Selyutin
2022-06-17 19:08 ` [PATCH 3/5] ppc/svp64: support svstep instructions Dmitry Selyutin
2022-06-17 19:08 ` [PATCH 4/5] ppc/svp64: support svshape instruction Dmitry Selyutin
2022-06-19 23:49 ` [PATCH 0/5] ppc/svp64: support SVP64 and its first insns Alan Modra
2022-06-21 11:55   ` Dmitry Selyutin
2022-06-21 11:51 ` [PATCH v2 " Dmitry Selyutin
2022-06-21 11:51   ` [PATCH v2 1/5] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
2022-06-21 11:51   ` [PATCH v2 2/5] ppc/svp64: support setvl instructions Dmitry Selyutin
2022-06-21 18:25     ` Peter Bergner
2022-06-21 18:39       ` Peter Bergner
2022-06-21 11:51   ` [PATCH v2 3/5] ppc/svp64: support svstep instructions Dmitry Selyutin
2022-06-21 11:51   ` [PATCH v2 4/5] ppc/svp64: support svshape instruction Dmitry Selyutin
2022-06-22  6:41   ` [PATCH v2 0/5] ppc/svp64: support SVP64 and its first insns Jan Beulich
2022-06-22  6:44   ` Jan Beulich
2022-06-22  6:57     ` Dmitry Selyutin
2022-06-23 19:37   ` [PATCH v3 0/6] " Dmitry Selyutin
2022-06-23 19:37     ` [PATCH v3 1/6] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
2022-06-23 19:37     ` [PATCH v3 2/6] ppc: introduce non-zero operand Dmitry Selyutin
2022-06-23 19:58       ` lkcl
2022-06-23 19:37     ` [PATCH v3 3/6] ppc/svp64: support setvl instructions Dmitry Selyutin
2022-06-23 19:37     ` [PATCH v3 4/6] ppc/svp64: support svstep instructions Dmitry Selyutin
2022-06-23 19:37     ` [PATCH v3 5/6] ppc/svp64: support svshape instruction Dmitry Selyutin
2022-06-23 19:37     ` [PATCH v3 6/6] ppc/svp64: support svremap instruction Dmitry Selyutin
2022-06-23 19:45     ` [PATCH v3 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
2022-06-23 20:10       ` Dmitry Selyutin
2022-06-24 11:38       ` Draft Simple-V roadmap for Power ISA (was: [PATCH v3 0/6] ppc/svp64: support SVP64 and its first insns) lkcl
2022-06-23 20:08     ` [PATCH v4 0/6] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
2022-06-23 20:08       ` [PATCH v4 1/6] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
2022-06-23 20:08       ` [PATCH v4 2/6] ppc: introduce non-zero operand flag Dmitry Selyutin
2022-06-23 20:08       ` [PATCH v4 3/6] ppc/svp64: support setvl instructions Dmitry Selyutin
2022-06-23 20:08       ` [PATCH v4 4/6] ppc/svp64: support svstep instructions Dmitry Selyutin
2022-06-23 20:08       ` [PATCH v4 5/6] ppc/svp64: support svshape instruction Dmitry Selyutin
2022-06-23 20:08       ` [PATCH v4 6/6] ppc/svp64: support svremap instruction Dmitry Selyutin
2022-06-26 18:59       ` [PATCH v5 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
2022-06-26 18:59         ` [PATCH v5 1/7] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
2022-06-26 19:00         ` [PATCH v5 2/7] ppc: introduce non-zero operand flag Dmitry Selyutin
2022-06-26 19:00         ` [PATCH v5 3/7] ppc/svp64: support setvl instructions Dmitry Selyutin
2022-06-26 19:00         ` [PATCH v5 4/7] ppc/svp64: support svstep instructions Dmitry Selyutin
2022-06-26 19:00         ` [PATCH v5 5/7] ppc/svp64: support svshape instruction Dmitry Selyutin
2022-06-26 19:00         ` [PATCH v5 6/7] ppc/svp64: support svremap instruction Dmitry Selyutin
2022-06-26 19:00         ` [PATCH v5 7/7] ppc/svp64: support svindex instruction Dmitry Selyutin
2022-07-25 13:10         ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
2022-07-25 13:10           ` [PATCH v6 1/7] ppc/svp64: support LibreSOC architecture Dmitry Selyutin
2022-07-25 13:10           ` [PATCH v6 2/7] ppc: introduce non-zero operand flag Dmitry Selyutin
2022-07-25 13:10           ` [PATCH v6 3/7] ppc/svp64: support setvl instructions Dmitry Selyutin
2022-08-15  6:18             ` Jan Beulich
2022-08-15 12:58               ` lkcl
2022-08-15 13:08                 ` Dmitry Selyutin
2022-08-21 14:53                 ` Jan Beulich
2022-08-21 16:04                   ` lkcl
2022-07-25 13:10           ` [PATCH v6 4/7] ppc/svp64: support svstep instructions Dmitry Selyutin
2022-07-25 13:10           ` [PATCH v6 5/7] ppc/svp64: support svshape instruction Dmitry Selyutin
2022-07-25 13:10           ` [PATCH v6 6/7] ppc/svp64: support svremap instruction Dmitry Selyutin
2022-07-25 13:10           ` [PATCH v6 7/7] ppc/svp64: support svindex instruction Dmitry Selyutin
2022-07-26 13:14           ` [PATCH v6 0/7] ppc/svp64: support SVP64 and its first insns Dmitry Selyutin
2022-07-27  4:53             ` Alan Modra
2022-07-27  6:38               ` lkcl
2022-08-11  9:14           ` Alan Modra
2022-08-11 10:48             ` [PATCH 0/5] " lkcl
2022-08-12  3:30             ` [PATCH v6 0/7] " Dmitry Selyutin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).