summaryrefslogtreecommitdiffstats
path: root/gas/testsuite
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2011-10-25 11:18:16 +0000
committerNick Clifton <nickc@redhat.com>2011-10-25 11:18:16 +0000
commitcfb8c0921c8ab3be8e5e48ec31e472742c2d4104 (patch)
tree168ae0f8c97ca806624efb39a945d600a0357dc4 /gas/testsuite
parent0a394bfbada7defad3dff1fdcaa86e0e5a13c656 (diff)
downloadppe42-binutils-cfb8c0921c8ab3be8e5e48ec31e472742c2d4104.tar.gz
ppe42-binutils-cfb8c0921c8ab3be8e5e48ec31e472742c2d4104.zip
bfd:
* Makefile.am (ALL_MACHINES): Add cpu-epiphany.lo . (ALL_MACHINES_CFILES): Add cpu-epiphany.c . (BFD32_BACKENDS): Add elf32-epiphany.lo . (BFD32_BACKENDS_CFILES): Add elf32-epiphany.c . * Makefile.in, bfd-in2.h, configure, libbfd.h: Regenerate. * archures.c (bfd_arch_epiphany): Add. (bfd_mach_epiphany16, bfd_mach_epiphany32): Define. (bfd_epiphany_arch): Declare. (bfd_archures_list): Add &bfd_epiphany_arch. * config.bfd (epiphany-*-elf): New target case. * configure.in (bfd_elf32_epiphany_vec): New target vector case. * reloc.c (BFD_RELOC_EPIPHANY_SIMM8): New relocation. (BFD_RELOC_EPIPHANY_SIMM24, BFD_RELOC_EPIPHANY_HIGH): Likewise. (BFD_RELOC_EPIPHANY_LOW, BFD_RELOC_EPIPHANY_SIMM11): Likewise. (BFD_RELOC_EPIPHANY_IMM11, BFD_RELOC_EPIPHANY_IMM8): Likewise. * targets.c (bfd_elf32_epiphany_vec): Declare. (_bfd_target_vector): Add bfd_elf32_epiphany_vec. * po/SRC-POTFILES.in, po/bfd.pot: Regenerate. * cpu-epiphany.c, elf32-epiphany.c: New files. binutils: * readelf.c (include "elf/epiphany.h") (guess_is_rela, dump_relocation): Handle EM_ADAPTEVA_EPIPHANY. (get_machine_name, is_32bit_abs_reloc, is_32bit_pcrel_reloc): Likewise. (is_16bit_abs_reloc, is_none_reloc): Likewise. * po/binutils.pot: Regenerate. cpu: * cpu/epiphany.cpu, cpu/epiphany.opc: New files. gas: * NEWS: Mention addition of Adapteva Epiphany support. * config/tc-epiphany.c, config/tc-epiphany.h: New files. * Makefile.am (TARGET_CPU_CFILES): Add config/tc-epiphany.c . (TARGET_CPU_HFILES): Add config/tc-epiphany.h . * Makefile.in, configure, doc/Makefile.in, po/POTFILES.in: Regenerate. * configure.in: Also set using_cgen for epiphany. * configure.tgt: Handle epiphany. * doc/Makefile.am (CPU_DOCS): Add c-epiphany.texi . * doc/all.texi: Set EPIPHANY. * doc/as.texinfo: Add EPIPHANY-specific text. * doc/c-epiphany.texi: New file. * po/gas.pot: Regenerate. gas/testsuite: * gas/epiphany: New directory. include: * dis-asm.h (print_insn_epiphany): Declare. * elf/epiphany.h: New file. * elf/common.h (EM_ADAPTEVA_EPIPHANY): Define. ld: * NEWS: Mention addition of Adapteva Epiphany support. * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32epiphany.c . (eelf32epiphany.c): New rule. * Makefile.in: Regenerate. * configure.tgt: Handle epiphany-*-elf. * po/ld.pot: Regenerate. * testsuite/ld-srec/srec.exp: xfail epiphany. * emulparams/elf32epiphany.sh: New file. opcodes: * Makefile.am (HFILES): Add epiphany-desc.h and epiphany-opc.h . (TARGET_LIBOPCODES_CFILES): Add epiphany-asm.c, epiphany-desc.c, epiphany-dis.c, epiphany-ibld.c and epiphany-opc.c . (CLEANFILES): Add stamp-epiphany. (EPIPHANY_DEPS): Set. Make CGEN-generated Epiphany files depend on it. (stamp-epiphany): New rule. * Makefile.in, configure, po/POTFILES.in, po/opcodes.pot: Regenerate. * configure.in: Handle bfd_epiphany_arch. * disassemble.c (ARCH_epiphany): Define. (disassembler): Handle bfd_arch_epiphany. * epiphany-asm.c, epiphany-desc.c, epiphany-desc.h: New files. * epiphany-dis.c, epiphany-ibld.c, epiphany-opc.c: Likewise. * epiphany-opc.h: Likewise.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog18
-rw-r--r--gas/testsuite/gas/epiphany/addr-syntax.d15
-rw-r--r--gas/testsuite/gas/epiphany/addr-syntax.s9
-rw-r--r--gas/testsuite/gas/epiphany/allinsn.d1400
-rw-r--r--gas/testsuite/gas/epiphany/allinsn.exp11
-rw-r--r--gas/testsuite/gas/epiphany/allinsn.s1563
-rw-r--r--gas/testsuite/gas/epiphany/badpostmod.s14
-rw-r--r--gas/testsuite/gas/epiphany/badrelax.d12
-rw-r--r--gas/testsuite/gas/epiphany/badrelax.s5
-rw-r--r--gas/testsuite/gas/epiphany/branch_lit.d11
-rw-r--r--gas/testsuite/gas/epiphany/branch_lit.s1
-rw-r--r--gas/testsuite/gas/epiphany/regression.d300
-rw-r--r--gas/testsuite/gas/epiphany/regression.s240
-rw-r--r--gas/testsuite/gas/epiphany/sample.d221
-rwxr-xr-xgas/testsuite/gas/epiphany/sample.s123
15 files changed, 3943 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 6c4e38fd48..2210cf5266 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,21 @@
+2011-10-25 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * gas/epiphany: New directory.
+ * gas/testsuite/gas/epiphany/addr-syntax.d: New file.
+ * gas/testsuite/gas/epiphany/addr-syntax.s: New file.
+ * gas/testsuite/gas/epiphany/allinsn.d: New file.
+ * gas/testsuite/gas/epiphany/allinsn.exp: New file.
+ * gas/testsuite/gas/epiphany/allinsn.s: New file.
+ * gas/testsuite/gas/epiphany/badpostmod.s: New file.
+ * gas/testsuite/gas/epiphany/badrelax.d: New file.
+ * gas/testsuite/gas/epiphany/badrelax.s: New file.
+ * gas/testsuite/gas/epiphany/branch_lit.d: New file.
+ * gas/testsuite/gas/epiphany/branch_lit.s: New file.
+ * gas/testsuite/gas/epiphany/regression.d: New file.
+ * gas/testsuite/gas/epiphany/regression.s: New file.
+ * gas/testsuite/gas/epiphany/sample.d: New file.
+ * gas/testsuite/gas/epiphany/sample.s: New file.
+
2011-10-24 Julian Brown <julian@codesourcery.com>
* gas/m68k/all.exp (movem-offset): Add test.
diff --git a/gas/testsuite/gas/epiphany/addr-syntax.d b/gas/testsuite/gas/epiphany/addr-syntax.d
new file mode 100644
index 0000000000..d9dc3e6e8b
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/addr-syntax.d
@@ -0,0 +1,15 @@
+#as:
+#objdump: -dr
+#name: addr-syntax
+
+.*.o: file format elf32-epiphany
+
+
+Disassembly of section \.text:
+
+00000000 \<\.text\>:
+ 0: 2bcc 01ff ldr.l r1,\[r2,-0x7ff\]
+ 4: 4c4c 0301 ldr.l r2,\[r3\],-0x8
+ 8: 107c 2201 strd.l r8,\[r4\],\+0x8
+ c: 506c 2400 ldrd sl,\[ip\]
+ 10: 587c 2400 strd sl,\[lr\]
diff --git a/gas/testsuite/gas/epiphany/addr-syntax.s b/gas/testsuite/gas/epiphany/addr-syntax.s
new file mode 100644
index 0000000000..2d12580bf5
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/addr-syntax.s
@@ -0,0 +1,9 @@
+; Check that we can do negative displacements
+ ldr r1,[r2,-2047]
+; Check postmodified immediate with positive and negative displacements
+ ldr r2,[r3],-8
+ strd r8,[r4],8
+
+; Check that zero displacements work
+ ldrd r10,[r12]
+ strd r10,[r14]
diff --git a/gas/testsuite/gas/epiphany/allinsn.d b/gas/testsuite/gas/epiphany/allinsn.d
new file mode 100644
index 0000000000..3a8039b940
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/allinsn.d
@@ -0,0 +1,1400 @@
+#as:
+#objdump: -dr
+#name: allinsn
+
+.*\.o: file format elf32-epiphany
+
+Disassembly of section .text:
+
+00000000 \<bgt16\>:
+ 0: 0260 bgt 4 \<bgt16\+0x4\>
+ 2: 0260 bgt 6 \<bgt16\+0x6\>
+ 4: fe60 bgt 0 \<bgt16\>
+ 6: fd60 bgt 0 \<bgt16\>
+ 8: 0068 0000 bgt 8 \<bgt16\+0x8\>
+ 8: R_EPIPHANY_SIMM24 \.data
+ c: 0260 bgt 10 \<bgt16\+0x10\>
+ e: f960 bgt 0 \<bgt16\>
+ 10: f860 bgt 0 \<bgt16\>
+
+00000012 \<bgtu16\>:
+ 12: 0220 bgtu 16 \<bgtu16\+0x4\>
+ 14: fe20 bgtu 10 \<bgt16\+0x10\>
+ 16: f520 bgtu 0 \<bgt16\>
+ 18: 0220 bgtu 1c \<bgtu16\+0xa\>
+ 1a: fe20 bgtu 16 \<bgtu16\+0x4\>
+ 1c: f220 bgtu 0 \<bgt16\>
+ 1e: f120 bgtu 0 \<bgt16\>
+ 20: 0220 bgtu 24 \<bgte16\+0x2\>
+
+00000022 \<bgte16\>:
+ 22: ef70 bgte 0 \<bgt16\>
+ 24: ee70 bgte 0 \<bgt16\>
+ 26: ed70 bgte 0 \<bgt16\>
+ 28: ec70 bgte 0 \<bgt16\>
+ 2a: eb70 bgte 0 \<bgt16\>
+ 2c: fe70 bgte 28 \<bgte16\+0x6\>
+ 2e: 0078 0000 bgte 2e \<bgte16\+0xc\>
+ 2e: R_EPIPHANY_SIMM24 \.data
+ 32: 0078 0000 bgte 32 \<bgte16\+0x10\>
+ 32: R_EPIPHANY_SIMM24 \.data
+
+00000036 \<bgteu16\>:
+ 36: 0230 bgteu 3a \<bgteu16\+0x4\>
+ 38: fe30 bgteu 34 \<bgte16\+0x12\>
+ 3a: 0038 0000 bgteu 3a \<bgteu16\+0x4\>
+ 3a: R_EPIPHANY_SIMM24 \.data
+ 3e: 0230 bgteu 42 \<bgteu16\+0xc\>
+ 40: e030 bgteu 0 \<bgt16\>
+ 42: 0230 bgteu 46 \<bgteu16\+0x10\>
+ 44: 0038 0000 bgteu 44 \<bgteu16\+0xe\>
+ 44: R_EPIPHANY_SIMM24 \.data
+ 48: 0038 0000 bgteu 48 \<bgteu16\+0x12\>
+ 48: R_EPIPHANY_SIMM24 \.data
+
+0000004c \<bgteu\>:
+ 4c: fe80 blt 48 \<bgteu16\+0x12\>
+ 4e: 0280 blt 52 \<bgteu\+0x6\>
+ 50: fe80 blt 4c \<bgteu\>
+ 52: 0280 blt 56 \<bgteu\+0xa\>
+ 54: fe80 blt 50 \<bgteu\+0x4\>
+ 56: 0280 blt 5a \<bgteu\+0xe\>
+ 58: 0088 0000 blt 58 \<bgteu\+0xc\>
+ 58: R_EPIPHANY_SIMM24 \.data
+ 5c: 0088 0000 blt 5c \<bgteu\+0x10\>
+ 5c: R_EPIPHANY_SIMM24 \.data
+
+00000060 \<blt\>:
+ 60: fe50 bltu 5c \<bgteu\+0x10\>
+ 62: 0250 bltu 66 \<blt\+0x6\>
+ 64: fe50 bltu 60 \<blt\>
+ 66: cd50 bltu 0 \<bgt16\>
+ 68: cc50 bltu 0 \<bgt16\>
+ 6a: cb50 bltu 0 \<bgt16\>
+ 6c: 0250 bltu 70 \<blt\+0x10\>
+ 6e: 0058 0000 bltu 6e \<blt\+0xe\>
+ 6e: R_EPIPHANY_SIMM24 \.data
+
+00000072 \<blte16\>:
+ 72: c790 blte 0 \<bgt16\>
+ 74: 0098 0000 blte 74 \<blte16\+0x2\>
+ 74: R_EPIPHANY_SIMM24 \.data
+ 78: 0098 0000 blte 78 \<blte16\+0x6\>
+ 78: R_EPIPHANY_SIMM24 \.data
+ 7c: c290 blte 0 \<bgt16\>
+ 7e: fe90 blte 7a \<blte16\+0x8\>
+ 80: c090 blte 0 \<bgt16\>
+ 82: bf90 blte 0 \<bgt16\>
+ 84: 0290 blte 88 \<blte\+0x2\>
+
+00000086 \<blte\>:
+ 86: bd40 blteu 0 \<bgt16\>
+ 88: 0048 0000 blteu 88 \<blte\+0x2\>
+ 88: R_EPIPHANY_SIMM24 \.data
+ 8c: ba40 blteu 0 \<bgt16\>
+ 8e: 0048 0000 blteu 8e \<blte\+0x8\>
+ 8e: R_EPIPHANY_SIMM24 \.data
+ 92: b740 blteu 0 \<bgt16\>
+ 94: fe40 blteu 90 \<blte\+0xa\>
+ 96: 0048 0000 blteu 96 \<blte\+0x10\>
+ 96: R_EPIPHANY_SIMM24 \.data
+ 9a: 0048 0000 blteu 9a \<blte\+0x14\>
+ 9a: R_EPIPHANY_SIMM24 \.data
+
+0000009e \<bbeq16\>:
+ 9e: b1a0 bbeq 0 \<bgt16\>
+ a0: b0a0 bbeq 0 \<bgt16\>
+ a2: 00a8 0000 bbeq a2 \<bbeq16\+0x4\>
+ a2: R_EPIPHANY_SIMM24 \.data
+ a6: ada0 bbeq 0 \<bgt16\>
+ a8: 02a0 bbeq ac \<bbeq16\+0xe\>
+ aa: 00a8 0000 bbeq aa \<bbeq16\+0xc\>
+ aa: R_EPIPHANY_SIMM24 \.data
+ ae: 00a8 0000 bbeq ae \<bbeq16\+0x10\>
+ ae: R_EPIPHANY_SIMM24 \.data
+ b2: 02a0 bbeq b6 \<bbeq\+0x2\>
+
+000000b4 \<bbeq\>:
+ b4: 00b8 0000 bbne b4 \<bbeq\>
+ b4: R_EPIPHANY_SIMM24 \.data
+ b8: feb0 bbne b4 \<bbeq\>
+ ba: 02b0 bbne be \<bbeq\+0xa\>
+ bc: a2b0 bbne 0 \<bgt16\>
+ be: 02b0 bbne c2 \<bbeq\+0xe\>
+ c0: 02b0 bbne c4 \<bbeq\+0x10\>
+ c2: 9fb0 bbne 0 \<bgt16\>
+ c4: 9eb0 bbne 0 \<bgt16\>
+
+000000c6 \<bblt16\>:
+ c6: 00c8 0000 bblt c6 \<bblt16\>
+ c6: R_EPIPHANY_SIMM24 \.data
+ ca: 02c0 bblt ce \<bblt16\+0x8\>
+ cc: 02c0 bblt d0 \<bblt16\+0xa\>
+ ce: 02c0 bblt d2 \<bblt16\+0xc\>
+ d0: fec0 bblt cc \<bblt16\+0x6\>
+ d2: 02c0 bblt d6 \<bblt16\+0x10\>
+ d4: 96c0 bblt 0 \<bgt16\>
+ d6: fec0 bblt d2 \<bblt16\+0xc\>
+
+000000d8 \<bblt\>:
+ d8: 02d0 bblte dc \<bblt\+0x4\>
+ da: 02d0 bblte de \<bblt\+0x6\>
+ dc: 92d0 bblte 0 \<bgt16\>
+ de: 91d0 bblte 0 \<bgt16\>
+ e0: 02d0 bblte e4 \<bblt\+0xc\>
+ e2: fed0 bblte de \<bblt\+0x6\>
+ e4: 00d8 0000 bblte e4 \<bblt\+0xc\>
+ e4: R_EPIPHANY_SIMM24 \.data
+ e8: 02d0 bblte ec \<b16\+0x2\>
+
+000000ea \<b16\>:
+ ea: 8be0 b 0 \<bgt16\>
+ ec: 8ae0 b 0 \<bgt16\>
+ ee: 02e0 b f2 \<b16\+0x8\>
+ f0: fee0 b ec \<b16\+0x2\>
+ f2: 87e0 b 0 \<bgt16\>
+ f4: 00e8 0000 b f4 \<b16\+0xa\>
+ f4: R_EPIPHANY_SIMM24 \.data
+ f8: 00e8 0000 b f8 \<b16\+0xe\>
+ f8: R_EPIPHANY_SIMM24 \.data
+ fc: fee0 b f8 \<b16\+0xe\>
+
+000000fe \<b\>:
+ fe: fef0 bl fa \<b16\+0x10\>
+ 100: 02f0 bl 104 \<b\+0x6\>
+ 102: 7ff8 ffff bl 0 \<bgt16\>
+ 106: fef0 bl 102 \<b\+0x4\>
+ 108: 7cf8 ffff bl 0 \<bgt16\>
+ 10c: fef0 bl 108 \<b\+0xa\>
+ 10e: fef0 bl 10a \<b\+0xc\>
+ 110: 78f8 ffff bl 0 \<bgt16\>
+
+00000114 \<bl\>:
+ 114: 114f 0402 jr ip
+ 118: 0d42 jr r3
+ 11a: 0142 jr r0
+ 11c: 0d4f 0402 jr fp
+ 120: 154f 0402 jr sp
+ 124: 0142 jr r0
+ 126: 0d42 jr r3
+ 128: 0142 jr r0
+
+0000012a \<jr\>:
+ 12a: 114f 0402 jr ip
+ 12e: 0d4f 1c02 jr r59
+ 132: 114f 0c02 jr r28
+ 136: 0d4f 0c02 jr r27
+ 13a: 154f 0402 jr sp
+ 13e: 0d4f 1802 jr r51
+ 142: 014f 1c02 jr r56
+ 146: 154f 1402 jr r45
+
+0000014a \<jalr16\>:
+ 14a: 115f 0402 jalr ip
+ 14e: 0d52 jalr r3
+ 150: 0152 jalr r0
+ 152: 0d5f 0402 jalr fp
+ 156: 155f 0402 jalr sp
+ 15a: 0d52 jalr r3
+ 15c: 0d5f 0402 jalr fp
+ 160: 115f 0402 jalr ip
+
+00000164 \<jalr\>:
+ 164: 115f 0402 jalr ip
+ 168: 0d5f 1c02 jalr r59
+ 16c: 115f 0c02 jalr r28
+ 170: 0d5f 0c02 jalr r27
+ 174: 155f 0402 jalr sp
+ 178: 0d5f 0402 jalr fp
+ 17c: 115f 0c02 jalr r28
+ 180: 0d5f 1c02 jalr r59
+
+00000184 \<ldrbx16\>:
+ 184: 9209 2480 ldrb.l ip,\[ip,\+ip]
+ 188: 6d81 ldrb r3,\[r3,r3]
+ 18a: 0001 ldrb r0,\[r0,r0]
+ 18c: 6d89 2480 ldrb.l fp,\[fp,\+fp]
+ 190: b689 2480 ldrb.l sp,\[sp,\+sp]
+ 194: 8009 2000 ldrb.l ip,\[r0,\+r0]
+ 198: 6b09 0080 ldrb.l r3,\[r2,\+lr]
+ 19c: 5189 0400 ldrb.l r2,\[ip,\+r3]
+
+000001a0 \<ldrbp16\>:
+ 1a0: a18d 2080 ldrb.l sp,\[r0],\+fp
+ 1a4: c60d 2080 ldrb.l lr,\[r1],\+ip
+ 1a8: 618d 2080 ldrb.l fp,\[r0],\+fp
+
+000001ac \<ldrbx\>:
+ 1ac: 9209 2480 ldrb.l ip,\[ip,\+ip]
+ 1b0: 6d89 ff80 ldrb.l r59,\[r59,\+r59]
+ 1b4: 9209 6d80 ldrb.l r28,\[r28,\+r28]
+ 1b8: 6d89 6d80 ldrb.l r27,\[r27,\+r27]
+ 1bc: b689 2480 ldrb.l sp,\[sp,\+sp]
+ 1c0: 2b89 aa80 ldrb.l r41,\[r18,\+r47]
+ 1c4: 6289 a900 ldrb.l r43,\[r16,\+r21]
+ 1c8: 0009 8480 ldrb.l r32,\[r8,\+r8]
+
+000001cc \<ldrbp\>:
+ 1cc: 850d 9900 ldrb.l r36,\[r49],\+r18
+ 1d0: 0d0d 9f00 ldrb.l r32,\[r59],\+r50
+ 1d4: 4c8d e580 ldrb.l r58,\[fp],\+r25
+
+000001d8 \<ldrbd16\>:
+ 1d8: 900c 2400 ldrb ip,\[ip]
+ 1dc: 6f84 ldrb r3,\[r3,0x7]
+ 1de: 0204 ldrb r0,\[r0,0x4]
+ 1e0: 6d8c 2400 ldrb.l fp,\[fp,\+0x3]
+ 1e4: b48c 2400 ldrb.l sp,\[sp,\+0x1]
+ 1e8: d48c 2400 ldrb.l lr,\[sp,\+0x1]
+ 1ec: 2004 ldrb r1,\[r0]
+ 1ee: 2484 ldrb r1,\[r1,0x1]
+
+000001f0 \<ldrbd\>:
+ 1f0: 900c 2400 ldrb ip,\[ip]
+ 1f4: 6f8c fcff ldrb.l r59,\[r59,\+0x7ff]
+ 1f8: 900c 6c80 ldrb.l r28,\[r28,\+0x400]
+ 1fc: 6f8c 6c7f ldrb.l r27,\[r27,\+0x3ff]
+ 200: b48c 2400 ldrb.l sp,\[sp,\+0x1]
+ 204: e70c 10c4 ldrb.l r7,\[r33,\+0x626]
+ 208: fa8c 60f4 ldrb.l r31,\[r6,\+0x7a5]
+ 20c: 438c 20e4 ldrb.l sl,\[r0,\+0x727]
+
+00000210 \<ldrhx16\>:
+ 210: 9229 2480 ldrh.l ip,\[ip,\+ip]
+ 214: 6da1 ldrh r3,\[r3,r3]
+ 216: 0021 ldrh r0,\[r0,r0]
+ 218: 6da9 2480 ldrh.l fp,\[fp,\+fp]
+ 21c: b6a9 2480 ldrh.l sp,\[sp,\+sp]
+ 220: 0329 0080 ldrh.l r0,\[r0,\+lr]
+ 224: daa9 2480 ldrh.l lr,\[lr,\+sp]
+ 228: 0da9 0480 ldrh.l r0,\[fp,\+fp]
+
+0000022c \<ldrhp16\>:
+ 22c: 55ad 0480 ldrh.l r2,\[sp],\+fp
+ 230: d5ad 4480 ldrh.l r22,\[sp],\+fp
+
+00000234 \<ldrhx\>:
+ 234: 9229 2480 ldrh.l ip,\[ip,\+ip]
+ 238: 6da9 ff80 ldrh.l r59,\[r59,\+r59]
+ 23c: 9229 6d80 ldrh.l r28,\[r28,\+r28]
+ 240: 6da9 6d80 ldrh.l r27,\[r27,\+r27]
+ 244: b6a9 2480 ldrh.l sp,\[sp,\+sp]
+ 248: c6a9 a900 ldrh.l r46,\[r17,\+r21]
+ 24c: c7a9 6280 ldrh.l r30,\[r1,\+r47]
+ 250: 6e29 a900 ldrh.l r43,\[r19,\+r20]
+
+00000254 \<ldrhp\>:
+ 254: 1ead 8d80 ldrh.l r32,\[r31],\+r29
+ 258: 9d2d d480 ldrh.l r52,\[r47],\+sl
+ 25c: e1ad 7400 ldrh.l r31,\[r40],\+r3
+
+00000260 \<ldrhd16\>:
+ 260: 902c 2400 ldrh ip,\[ip]
+ 264: 6fa4 ldrh r3,\[r3,0x7]
+ 266: 0224 ldrh r0,\[r0,0x4]
+ 268: 6dac 2400 ldrh.l fp,\[fp,\+0x3]
+ 26c: b4ac 2400 ldrh.l sp,\[sp,\+0x1]
+ 270: c82c 2000 ldrh lr,\[r2]
+ 274: 63a4 ldrh r3,\[r0,0x7]
+ 276: 0f24 ldrh r0,\[r3,0x6]
+
+00000278 \<ldrhd\>:
+ 278: 902c 2400 ldrh ip,\[ip]
+ 27c: 6fac fcff ldrh.l r59,\[r59,\+0x7ff]
+ 280: 902c 6c80 ldrh.l r28,\[r28,\+0x400]
+ 284: 6fac 6c7f ldrh.l r27,\[r27,\+0x3ff]
+ 288: b4ac 2400 ldrh.l sp,\[sp,\+0x1]
+ 28c: a2ac ac98 ldrh.l r45,\[r24,\+0x4c5]
+ 290: 8d2c 94d9 ldrh.l r36,\[r43,\+0x6ca]
+ 294: 40ac b803 ldrh.l r42,\[r48,\+0x19]
+
+00000298 \<ldrx16\>:
+ 298: 9249 2480 ldr.l ip,\[ip,\+ip]
+ 29c: 6dc1 ldr r3,\[r3,r3]
+ 29e: 0041 ldr r0,\[r0,r0]
+ 2a0: 6dc9 2480 ldr.l fp,\[fp,\+fp]
+ 2a4: b6c9 2480 ldr.l sp,\[sp,\+sp]
+ 2a8: 6f49 0480 ldr.l r3,\[fp,\+lr]
+ 2ac: 9949 2400 ldr.l ip,\[lr,\+r2]
+ 2b0: 6b49 0080 ldr.l r3,\[r2,\+lr]
+
+000002b4 \<ldrp16\>:
+ 2b4: cecd 2480 ldr.l lr,\[fp],\+sp
+ 2b8: 144d 0400 ldr.l r0,\[sp],\+r0
+ 2bc: 68cd 2000 ldr.l fp,\[r2],\+r1
+
+000002c0 \<ldrx\>:
+ 2c0: 9249 2480 ldr.l ip,\[ip,\+ip]
+ 2c4: 6dc9 ff80 ldr.l r59,\[r59,\+r59]
+ 2c8: 9249 6d80 ldr.l r28,\[r28,\+r28]
+ 2cc: 6dc9 6d80 ldr.l r27,\[r27,\+r27]
+ 2d0: b6c9 2480 ldr.l sp,\[sp,\+sp]
+ 2d4: 03c9 6a80 ldr.l r24,\[r16,\+r47]
+ 2d8: c4c9 5700 ldr.l r22,\[r41,\+r49]
+ 2dc: cfc9 2600 ldr.l lr,\[fp,\+r39]
+
+000002e0 \<ldrp\>:
+ 2e0: b74d 4180 ldr.l r21,\[r5],\+r30
+ 2e4: 934d 8480 ldr.l r36,\[ip],\+lr
+ 2e8: 91cd 2080 ldr.l ip,\[r4],\+fp
+
+000002ec \<ldrd16\>:
+ 2ec: 904c 2400 ldr ip,\[ip]
+ 2f0: 6fc4 ldr r3,\[r3,0x7]
+ 2f2: 0244 ldr r0,\[r0,0x4]
+ 2f4: 6dcc 2400 ldr.l fp,\[fp,\+0x3]
+ 2f8: b4cc 2400 ldr.l sp,\[sp,\+0x1]
+ 2fc: 144c 0400 ldr r0,\[sp]
+ 300: 87cc 2000 ldr.l ip,\[r1,\+0x7]
+ 304: 64cc 2000 ldr.l fp,\[r1,\+0x1]
+
+00000308 \<ldrd\>:
+ 308: 904c 2400 ldr ip,\[ip]
+ 30c: 6fcc fcff ldr.l r59,\[r59,\+0x7ff]
+ 310: 904c 6c80 ldr.l r28,\[r28,\+0x400]
+ 314: 6fcc 6c7f ldr.l r27,\[r27,\+0x3ff]
+ 318: b4cc 2400 ldr.l sp,\[sp,\+0x1]
+ 31c: dbcc 4c79 ldr.l r22,\[r30,\+0x3cf]
+ 320: f0cc 14aa ldr.l r7,\[r44,\+0x551]
+ 324: efcc 48e7 ldr.l r23,\[r19,\+0x73f]
+
+00000328 \<ldrdx16\>:
+ 328: 9269 2480 ldrd.l ip,\[ip,\+ip]
+ 32c: 8de1 ldrd r4,\[r3,r3]
+ 32e: 0061 ldrd r0,\[r0,r0]
+ 330: cde9 2480 ldrd.l lr,\[fp,\+fp]
+ 334: 16e9 4480 ldrd.l r16,\[sp,\+sp]
+ 338: ca69 6080 ldrd.l r30,\[r2,\+ip]
+ 33c: 0de9 0400 ldrd.l r0,\[fp,\+r3]
+ 340: 9369 4480 ldrd.l r20,\[ip,\+lr]
+
+00000344 \<ldrdp16\>:
+ 344: 8de5 ldrd r4,\[r3],r3
+ 346: 0ded 4480 ldrd.l r16,\[fp],\+fp
+ 34a: 96ed 4480 ldrd.l r20,\[sp],\+sp
+ 34e: 50ed 2400 ldrd.l sl,\[ip],\+r1
+ 352: cf6d 6480 ldrd.l r30,\[fp],\+lr
+ 356: daed e480 ldrd.l r62,\[lr],\+sp
+
+0000035a \<ldrdx\>:
+ 35a: 9269 2480 ldrd.l ip,\[ip,\+ip]
+ 35e: 4de9 ff80 ldrd.l r58,\[r59,\+r59]
+ 362: 9269 6d80 ldrd.l r28,\[r28,\+r28]
+ 366: 4de9 6d80 ldrd.l r26,\[r27,\+r27]
+ 36a: 96e9 2480 ldrd.l ip,\[sp,\+sp]
+ 36e: 0de9 8780 ldrd.l r32,\[fp,\+r59]
+ 372: 8769 0800 ldrd.l r4,\[r17,\+r6]
+ 376: 00e9 9400 ldrd.l r32,\[r40,\+r1]
+
+0000037a \<ldrdp\>:
+ 37a: 16ed 4480 ldrd.l r16,\[sp],\+sp
+ 37e: c76d b180 ldrd.l r46,\[r33],\+r30
+ 382: 11ed 7380 ldrd.l r24,\[r36],\+r59
+ 386: 41ed f080 ldrd.l r58,\[r32],\+fp
+
+0000038a \<ldrdd16\>:
+ 38a: 906c 2400 ldrd ip,\[ip]
+ 38e: 8fe4 ldrd r4,\[r3,0x7]
+ 390: 0264 ldrd r0,\[r0,0x4]
+ 392: 0dec 4400 ldrd.l r16,\[fp,\+0x3]
+ 396: 54ec 4400 ldrd.l r18,\[sp,\+0x1]
+ 39a: 0dec 0400 ldrd.l r0,\[fp,\+0x3]
+ 39e: cfec 2400 ldrd.l lr,\[fp,\+0x7]
+ 3a2: d0ec 2400 ldrd.l lr,\[ip,\+0x1]
+
+000003a6 \<ldrdd\>:
+ 3a6: 906c 2400 ldrd ip,\[ip]
+ 3aa: 4fec fcff ldrd.l r58,\[r59,\+0x7ff]
+ 3ae: 906c 6c80 ldrd.l r28,\[r28,\+0x400]
+ 3b2: 4fec 0c7f ldrd.l r2,\[r27,\+0x3ff]
+ 3b6: 14ec 4400 ldrd.l r16,\[sp,\+0x1]
+ 3ba: 94ec 085f ldrd.l r4,\[r21,\+0x2f9]
+ 3be: c4ec 34c2 ldrd.l lr,\[r41,\+0x611]
+ 3c2: d96c 04f0 ldrd.l r6,\[lr,\+0x782]
+
+000003c6 \<strbx16\>:
+ 3c6: 9219 2480 strb.l ip,\[ip,\+ip]
+ 3ca: 6d91 strb r3,\[r3,r3]
+ 3cc: 0011 strb r0,\[r0,r0]
+ 3ce: 6d99 2480 strb.l fp,\[fp,\+fp]
+ 3d2: b699 2480 strb.l sp,\[sp,\+sp]
+ 3d6: 3999 0400 strb.l r1,\[lr,\+r3]
+ 3da: 8f19 2080 strb.l ip,\[r3,\+lr]
+ 3de: d219 2480 strb.l lr,\[ip,\+ip]
+
+000003e2 \<strbx\>:
+ 3e2: 9219 2480 strb.l ip,\[ip,\+ip]
+ 3e6: 6d99 ff80 strb.l r59,\[r59,\+r59]
+ 3ea: 9219 6d80 strb.l r28,\[r28,\+r28]
+ 3ee: 6d99 6d80 strb.l r27,\[r27,\+r27]
+ 3f2: b699 2480 strb.l sp,\[sp,\+sp]
+ 3f6: 5e99 c480 strb.l r50,\[r15,\+sp]
+ 3fa: ce19 2700 strb.l lr,\[fp,\+r52]
+ 3fe: c199 2f00 strb.l lr,\[r24,\+r51]
+
+00000402 \<strbp16\>:
+ 402: 921d 2480 strb.l ip,\[ip],\+ip
+ 406: 6d95 strb r3,\[r3],r3
+ 408: 0015 strb r0,\[r0],r0
+ 40a: 6d9d 2480 strb.l fp,\[fp],\+fp
+ 40e: b69d 2480 strb.l sp,\[sp],\+sp
+ 412: 4e1d 0480 strb.l r2,\[fp],\+ip
+ 416: 609d 2000 strb.l fp,\[r0],\+r1
+ 41a: 4995 strb r2,\[r2],r3
+
+0000041c \<strbp\>:
+ 41c: 921d 2480 strb.l ip,\[ip],\+ip
+ 420: 6d9d ff80 strb.l r59,\[r59],\+r59
+ 424: 921d 6d80 strb.l r28,\[r28],\+r28
+ 428: 6d9d 6d80 strb.l r27,\[r27],\+r27
+ 42c: b69d 2480 strb.l sp,\[sp],\+sp
+ 430: cd1d 3800 strb.l lr,\[r51],\+r2
+ 434: d11d 1700 strb.l r6,\[r44],\+r50
+ 438: 849d a700 strb.l r44,\[sb],\+r49
+
+0000043c \<strbd16\>:
+ 43c: 901c 2400 strb ip,\[ip]
+ 440: 6f94 strb r3,\[r3,0x7]
+ 442: 0214 strb r0,\[r0,0x4]
+ 444: 6d9c 2400 strb.l fp,\[fp,\+0x3]
+ 448: b49c 2400 strb.l sp,\[sp,\+0x1]
+ 44c: 0894 strb r0,\[r2,0x1]
+ 44e: a99c 2000 strb.l sp,\[r2,\+0x3]
+ 452: 6a1c 2000 strb.l fp,\[r2,\+0x4]
+
+00000456 \<strbd\>:
+ 456: 901c 2400 strb ip,\[ip]
+ 45a: 6f9c fcff strb.l r59,\[r59,\+0x7ff]
+ 45e: 901c 6c80 strb.l r28,\[r28,\+0x400]
+ 462: 6f9c 6c7f strb.l r27,\[r27,\+0x3ff]
+ 466: b49c 2400 strb.l sp,\[sp,\+0x1]
+ 46a: ea1c 44af strb.l r23,\[sl,\+0x57c]
+ 46e: 8e9c 30b6 strb.l ip,\[r35,\+0x5b5]
+ 472: c91c dc88 strb.l r54,\[r58,\+0x442]
+
+00000476 \<strhx16\>:
+ 476: 9239 2480 strh.l ip,\[ip,\+ip]
+ 47a: 6db1 strh r3,\[r3,r3]
+ 47c: 0031 strh r0,\[r0,r0]
+ 47e: 6db9 2480 strh.l fp,\[fp,\+fp]
+ 482: b6b9 2480 strh.l sp,\[sp,\+sp]
+ 486: 0cb1 strh r0,\[r3,r1]
+ 488: 2d39 0400 strh.l r1,\[fp,\+r2]
+ 48c: 6db9 0080 strh.l r3,\[r3,\+fp]
+
+00000490 \<strhx\>:
+ 490: 9239 2480 strh.l ip,\[ip,\+ip]
+ 494: 6db9 ff80 strh.l r59,\[r59,\+r59]
+ 498: 9239 6d80 strh.l r28,\[r28,\+r28]
+ 49c: 6db9 6d80 strh.l r27,\[r27,\+r27]
+ 4a0: b6b9 2480 strh.l sp,\[sp,\+sp]
+ 4a4: 1bb9 5180 strh.l r16,\[r38,\+r31]
+ 4a8: 1239 8580 strh.l r32,\[ip,\+r28]
+ 4ac: 2cb9 e480 strh.l r57,\[fp,\+sb]
+
+000004b0 \<strhp16\>:
+ 4b0: 923d 2480 strh.l ip,\[ip],\+ip
+ 4b4: 6db5 strh r3,\[r3],r3
+ 4b6: 0035 strh r0,\[r0],r0
+ 4b8: 6dbd 2480 strh.l fp,\[fp],\+fp
+ 4bc: b6bd 2480 strh.l sp,\[sp],\+sp
+ 4c0: 0abd 0080 strh.l r0,\[r2],\+sp
+ 4c4: ac3d 2000 strh.l sp,\[r3],\+r0
+ 4c8: 2035 strh r1,\[r0],r0
+
+000004ca \<strhp\>:
+ 4ca: 923d 2480 strh.l ip,\[ip],\+ip
+ 4ce: 6dbd ff80 strh.l r59,\[r59],\+r59
+ 4d2: 923d 6d80 strh.l r28,\[r28],\+r28
+ 4d6: 6dbd 6d80 strh.l r27,\[r27],\+r27
+ 4da: b6bd 2480 strh.l sp,\[sp],\+sp
+ 4de: 773d 1300 strh.l r3,\[r37],\+r54
+ 4e2: 98bd 1980 strh.l r4,\[r54],\+r25
+ 4e6: a0bd 1180 strh.l r5,\[r32],\+r25
+
+000004ea \<strhd16\>:
+ 4ea: 903c 2400 strh ip,\[ip]
+ 4ee: 6fb4 strh r3,\[r3,0x7]
+ 4f0: 0234 strh r0,\[r0,0x4]
+ 4f2: 6dbc 2400 strh.l fp,\[fp,\+0x3]
+ 4f6: b4bc 2400 strh.l sp,\[sp,\+0x1]
+ 4fa: 61b4 strh r3,\[r0,0x3]
+ 4fc: d3bc 2400 strh.l lr,\[ip,\+0x7]
+ 500: 6bb4 strh r3,\[r2,0x7]
+
+00000502 \<strhd\>:
+ 502: 903c 2400 strh ip,\[ip]
+ 506: 6fbc fcff strh.l r59,\[r59,\+0x7ff]
+ 50a: 903c 6c80 strh.l r28,\[r28,\+0x400]
+ 50e: 6fbc 6c7f strh.l r27,\[r27,\+0x3ff]
+ 512: b4bc 2400 strh.l sp,\[sp,\+0x1]
+ 516: fabc 1093 strh.l r7,\[r38,\+0x49d]
+ 51a: 32bc 6009 strh.l r25,\[r4,\+0x4d]
+ 51e: 6fbc 244e strh.l fp,\[fp,\+0x277]
+
+00000522 \<strx16\>:
+ 522: 9259 2480 str.l ip,\[ip,\+ip]
+ 526: 6dd1 str r3,\[r3,r3]
+ 528: 0051 str r0,\[r0,r0]
+ 52a: 6dd9 2480 str.l fp,\[fp,\+fp]
+ 52e: b6d9 2480 str.l sp,\[sp,\+sp]
+ 532: cdd9 2000 str.l lr,\[r3,\+r3]
+ 536: 6c59 0400 str.l r3,\[fp,\+r0]
+ 53a: 94d9 2400 str.l ip,\[sp,\+r1]
+
+0000053e \<strx\>:
+ 53e: 9259 2480 str.l ip,\[ip,\+ip]
+ 542: 6dd9 ff80 str.l r59,\[r59,\+r59]
+ 546: 9259 6d80 str.l r28,\[r28,\+r28]
+ 54a: 6dd9 6d80 str.l r27,\[r27,\+r27]
+ 54e: b6d9 2480 str.l sp,\[sp,\+sp]
+ 552: b659 cd80 str.l r53,\[r29,\+r28]
+ 556: d959 6a00 str.l r30,\[r22,\+r34]
+ 55a: 9259 6e80 str.l r28,\[r28,\+r44]
+
+0000055e \<strp16\>:
+ 55e: 925d 2480 str.l ip,\[ip],\+ip
+ 562: 6dd5 str r3,\[r3],r3
+ 564: 0055 str r0,\[r0],r0
+ 566: 6ddd 2480 str.l fp,\[fp],\+fp
+ 56a: b6dd 2480 str.l sp,\[sp],\+sp
+ 56e: c05d 2000 str.l lr,\[r0],\+r0
+ 572: 62dd 2080 str.l fp,\[r0],\+sp
+ 576: 6c5d 0400 str.l r3,\[fp],\+r0
+
+0000057a \<strp\>:
+ 57a: 925d 2480 str.l ip,\[ip],\+ip
+ 57e: 6ddd ff80 str.l r59,\[r59],\+r59
+ 582: 925d 6d80 str.l r28,\[r28],\+r28
+ 586: 6ddd 6d80 str.l r27,\[r27],\+r27
+ 58a: b6dd 2480 str.l sp,\[sp],\+sp
+ 58e: d3dd 5080 str.l r22,\[r36],\+r15
+ 592: 97dd a680 str.l r44,\[sp],\+r47
+ 596: 62dd 5880 str.l r19,\[r48],\+sp
+
+0000059a \<strd16\>:
+ 59a: 905c 2400 str ip,\[ip]
+ 59e: 6fd4 str r3,\[r3,0x7]
+ 5a0: 0254 str r0,\[r0,0x4]
+ 5a2: 6ddc 2400 str.l fp,\[fp,\+0x3]
+ 5a6: b4dc 2400 str.l sp,\[sp,\+0x1]
+ 5aa: 6ddc 0400 str.l r3,\[fp,\+0x3]
+ 5ae: b35c 2400 str.l sp,\[ip,\+0x6]
+ 5b2: 39dc 0400 str.l r1,\[lr,\+0x3]
+
+000005b6 \<strd\>:
+ 5b6: 905c 2400 str ip,\[ip]
+ 5ba: 6fdc fcff str.l r59,\[r59,\+0x7ff]
+ 5be: 905c 6c80 str.l r28,\[r28,\+0x400]
+ 5c2: 6fdc 6c7f str.l r27,\[r27,\+0x3ff]
+ 5c6: b4dc 2400 str.l sp,\[sp,\+0x1]
+ 5ca: b15c b409 str.l r45,\[r44,\+0x4a]
+ 5ce: 495c f82e str.l r58,\[r50,\+0x172]
+ 5d2: 0d5c a04e str.l r40,\[r3,\+0x272]
+
+000005d6 \<strdx16\>:
+ 5d6: 9279 2480 strd.l ip,\[ip,\+ip]
+ 5da: 4df1 strd r2,\[r3,r3]
+ 5dc: 0071 strd r0,\[r0,r0]
+ 5de: 0df9 4480 strd.l r16,\[fp,\+fp]
+ 5e2: 56f9 4480 strd.l r18,\[sp,\+sp]
+ 5e6: 8cf9 2000 strd.l ip,\[r3,\+r1]
+ 5ea: 59f9 0480 strd.l r2,\[lr,\+fp]
+ 5ee: 8979 2000 strd.l ip,\[r2,\+r2]
+
+000005f2 \<strdx\>:
+ 5f2: 9279 2480 strd.l ip,\[ip,\+ip]
+ 5f6: 4df9 ff80 strd.l r58,\[r59,\+r59]
+ 5fa: 9279 6d80 strd.l r28,\[r28,\+r28]
+ 5fe: 4df9 6d80 strd.l r26,\[r27,\+r27]
+ 602: d6f9 2480 strd.l lr,\[sp,\+sp]
+ 606: d779 9880 strd.l r38,\[r53,\+lr]
+ 60a: 0df9 6a80 strd.l r24,\[r19,\+r43]
+ 60e: 8b79 2580 strd.l ip,\[sl,\+r30]
+
+00000612 \<strdp16\>:
+ 612: 927d 2480 strd.l ip,\[ip],\+ip
+ 616: 4df5 strd r2,\[r3],r3
+ 618: 0075 strd r0,\[r0],r0
+ 61a: cdfd 0480 strd.l r6,\[fp],\+fp
+ 61e: 96fd 0480 strd.l r4,\[sp],\+sp
+ 622: 4c75 strd r2,\[r3],r0
+ 624: 40f5 strd r2,\[r0],r1
+ 626: 58fd 0400 strd.l r2,\[lr],\+r1
+
+0000062a \<strdp\>:
+ 62a: 927d 2480 strd.l ip,\[ip],\+ip
+ 62e: 4dfd ff80 strd.l r58,\[r59],\+r59
+ 632: 927d 6d80 strd.l r28,\[r28],\+r28
+ 636: 4dfd 6d80 strd.l r26,\[r27],\+r27
+ 63a: d6fd 4480 strd.l r22,\[sp],\+sp
+ 63e: ca7d 0680 strd.l r6,\[sl],\+r44
+ 642: 4efd 3400 strd.l sl,\[r43],\+r5
+ 646: c77d a880 strd.l r46,\[r17],\+lr
+
+0000064a \<strdd16\>:
+ 64a: 107c 0400 strd r0,\[ip]
+ 64e: 4ff4 strd r2,\[r3,0x7]
+ 650: 0274 strd r0,\[r0,0x4]
+ 652: 4dfc 0400 strd.l r2,\[fp,\+0x3]
+ 656: 94fc 0400 strd.l r4,\[sp,\+0x1]
+ 65a: 4af4 strd r2,\[r2,0x5]
+ 65c: cff4 strd r6,\[r3,0x7]
+ 65e: c574 strd r6,\[r1,0x2]
+
+00000660 \<strdd\>:
+ 660: 907c 2400 strd ip,\[ip]
+ 664: 4ffc fcff strd.l r58,\[r59,\+0x7ff]
+ 668: 907c 6c80 strd.l r28,\[r28,\+0x400]
+ 66c: 4ffc 6c7f strd.l r26,\[r27,\+0x3ff]
+ 670: d4fc 2400 strd.l lr,\[sp,\+0x1]
+ 674: 93fc 7859 strd.l r28,\[r52,\+0x2cf]
+ 678: 157c b8f9 strd.l r40,\[r53,\+0x7ca]
+ 67c: 877c bc3d strd.l r44,\[r57,\+0x1ee]
+
+00000680 \<mov16EQ\>:
+ 680: 900f 2402 moveq.l ip,ip
+ 684: 6c02 moveq r3,r3
+ 686: 0002 moveq r0,r0
+ 688: 6c0f 2402 moveq.l fp,fp
+ 68c: b40f 2402 moveq.l sp,sp
+ 690: 880f 2002 moveq.l ip,r2
+ 694: 4c0f 0402 moveq.l r2,fp
+ 698: 740f 2402 moveq.l fp,sp
+
+0000069c \<movEQ\>:
+ 69c: 900f 2402 moveq.l ip,ip
+ 6a0: 6c0f fc02 moveq.l r59,r59
+ 6a4: 900f 6c02 moveq.l r28,r28
+ 6a8: 6c0f 6c02 moveq.l r27,r27
+ 6ac: b40f 2402 moveq.l sp,sp
+ 6b0: 180f 8c02 moveq.l r32,r30
+ 6b4: 7c0f b002 moveq.l r43,r39
+ 6b8: 240f 7002 moveq.l r25,r33
+
+000006bc \<mov16NE\>:
+ 6bc: 901f 2402 movne.l ip,ip
+ 6c0: 6c12 movne r3,r3
+ 6c2: 0012 movne r0,r0
+ 6c4: 6c1f 2402 movne.l fp,fp
+ 6c8: b41f 2402 movne.l sp,sp
+ 6cc: 6c12 movne r3,r3
+ 6ce: 0c1f 0402 movne.l r0,fp
+ 6d2: 6c1f 2402 movne.l fp,fp
+
+000006d6 \<movNE\>:
+ 6d6: 901f 2402 movne.l ip,ip
+ 6da: 6c1f fc02 movne.l r59,r59
+ 6de: 901f 6c02 movne.l r28,r28
+ 6e2: 6c1f 6c02 movne.l r27,r27
+ 6e6: b41f 2402 movne.l sp,sp
+ 6ea: 8c12 movne r4,r3
+ 6ec: 8c1f 6402 movne.l r28,fp
+ 6f0: fc1f 5002 movne.l r23,r39
+
+000006f4 \<mov16GT\>:
+ 6f4: 906f 2402 movgt.l ip,ip
+ 6f8: 6c62 movgt r3,r3
+ 6fa: 0062 movgt r0,r0
+ 6fc: 6c6f 2402 movgt.l fp,fp
+ 700: b46f 2402 movgt.l sp,sp
+ 704: 2c62 movgt r1,r3
+ 706: cc6f 2002 movgt.l lr,r3
+ 70a: 306f 0402 movgt.l r1,ip
+
+0000070e \<movGT\>:
+ 70e: 906f 2402 movgt.l ip,ip
+ 712: 6c6f fc02 movgt.l r59,r59
+ 716: 906f 6c02 movgt.l r28,r28
+ 71a: 6c6f 6c02 movgt.l r27,r27
+ 71e: b46f 2402 movgt.l sp,sp
+ 722: 346f 0802 movgt.l r1,r21
+ 726: ac6f 2002 movgt.l sp,r3
+ 72a: 8c6f 7402 movgt.l r28,r43
+
+0000072e \<mov16GTU\>:
+ 72e: 902f 2402 movgtu.l ip,ip
+ 732: 6c22 movgtu r3,r3
+ 734: 0022 movgtu r0,r0
+ 736: 6c2f 2402 movgtu.l fp,fp
+ 73a: b42f 2402 movgtu.l sp,sp
+ 73e: 982f 2402 movgtu.l ip,lr
+ 742: b02f 2402 movgtu.l sp,ip
+ 746: 942f 2402 movgtu.l ip,sp
+
+0000074a \<movGTU\>:
+ 74a: 902f 2402 movgtu.l ip,ip
+ 74e: 6c2f fc02 movgtu.l r59,r59
+ 752: 902f 6c02 movgtu.l r28,r28
+ 756: 6c2f 6c02 movgtu.l r27,r27
+ 75a: b42f 2402 movgtu.l sp,sp
+ 75e: 442f 9002 movgtu.l r34,r33
+ 762: 202f 5802 movgtu.l r17,r48
+ 766: 602f 8c02 movgtu.l r35,r24
+
+0000076a \<mov16GTE\>:
+ 76a: 907f 2402 movgte.l ip,ip
+ 76e: 6c72 movgte r3,r3
+ 770: 0072 movgte r0,r0
+ 772: 6c7f 2402 movgte.l fp,fp
+ 776: b47f 2402 movgte.l sp,sp
+ 77a: 0072 movgte r0,r0
+ 77c: 547f 0402 movgte.l r2,sp
+ 780: c87f 2002 movgte.l lr,r2
+
+00000784 \<movGTE\>:
+ 784: 907f 2402 movgte.l ip,ip
+ 788: 6c7f fc02 movgte.l r59,r59
+ 78c: 907f 6c02 movgte.l r28,r28
+ 790: 6c7f 6c02 movgte.l r27,r27
+ 794: b47f 2402 movgte.l sp,sp
+ 798: 8c7f 3c02 movgte.l ip,r59
+ 79c: a87f 9402 movgte.l r37,r42
+ 7a0: 887f ac02 movgte.l r44,r26
+
+000007a4 \<mov16GTEU\>:
+ 7a4: 903f 2402 movgteu.l ip,ip
+ 7a8: 6c32 movgteu r3,r3
+ 7aa: 0032 movgteu r0,r0
+ 7ac: 6c3f 2402 movgteu.l fp,fp
+ 7b0: b43f 2402 movgteu.l sp,sp
+ 7b4: d03f 2402 movgteu.l lr,ip
+ 7b8: a43f 2002 movgteu.l sp,r1
+ 7bc: 983f 2402 movgteu.l ip,lr
+
+000007c0 \<movGTEU\>:
+ 7c0: 903f 2402 movgteu.l ip,ip
+ 7c4: 6c3f fc02 movgteu.l r59,r59
+ 7c8: 903f 6c02 movgteu.l r28,r28
+ 7cc: 6c3f 6c02 movgteu.l r27,r27
+ 7d0: b43f 2402 movgteu.l sp,sp
+ 7d4: 5c3f f402 movgteu.l r58,r47
+ 7d8: 143f e002 movgteu.l r56,r5
+ 7dc: 903f 5802 movgteu.l r20,r52
+
+000007e0 \<mov16LT\>:
+ 7e0: 908f 2402 movlt.l ip,ip
+ 7e4: 6c82 movlt r3,r3
+ 7e6: 0082 movlt r0,r0
+ 7e8: 6c8f 2402 movlt.l fp,fp
+ 7ec: b48f 2402 movlt.l sp,sp
+ 7f0: 6c82 movlt r3,r3
+ 7f2: 4882 movlt r2,r2
+ 7f4: 988f 2402 movlt.l ip,lr
+
+000007f8 \<movLT\>:
+ 7f8: 908f 2402 movlt.l ip,ip
+ 7fc: 6c8f fc02 movlt.l r59,r59
+ 800: 908f 6c02 movlt.l r28,r28
+ 804: 6c8f 6c02 movlt.l r27,r27
+ 808: b48f 2402 movlt.l sp,sp
+ 80c: 908f c402 movlt.l r52,ip
+ 810: 388f e802 movlt.l r57,r22
+ 814: 1c8f 2002 movlt.l r8,r7
+
+00000818 \<mov16LTU\>:
+ 818: 905f 2402 movltu.l ip,ip
+ 81c: 6c52 movltu r3,r3
+ 81e: 0052 movltu r0,r0
+ 820: 6c5f 2402 movltu.l fp,fp
+ 824: b45f 2402 movltu.l sp,sp
+ 828: 885f 2002 movltu.l ip,r2
+ 82c: b05f 2402 movltu.l sp,ip
+ 830: 2052 movltu r1,r0
+
+00000832 \<movLTU\>:
+ 832: 905f 2402 movltu.l ip,ip
+ 836: 6c5f fc02 movltu.l r59,r59
+ 83a: 905f 6c02 movltu.l r28,r28
+ 83e: 6c5f 6c02 movltu.l r27,r27
+ 842: b45f 2402 movltu.l sp,sp
+ 846: bc5f 2c02 movltu.l sp,r31
+ 84a: 705f a402 movltu.l r43,ip
+ 84e: e05f 1c02 movltu.l r7,r56
+
+00000852 \<mov16LTE\>:
+ 852: 909f 2402 movlte.l ip,ip
+ 856: 6c92 movlte r3,r3
+ 858: 0092 movlte r0,r0
+ 85a: 6c9f 2402 movlte.l fp,fp
+ 85e: b49f 2402 movlte.l sp,sp
+ 862: 0c92 movlte r0,r3
+ 864: 709f 0402 movlte.l r3,ip
+ 868: 789f 0402 movlte.l r3,lr
+
+0000086c \<movLTE\>:
+ 86c: 909f 2402 movlte.l ip,ip
+ 870: 6c9f fc02 movlte.l r59,r59
+ 874: 909f 6c02 movlte.l r28,r28
+ 878: 6c9f 6c02 movlte.l r27,r27
+ 87c: b49f 2402 movlte.l sp,sp
+ 880: cc9f 6c02 movlte.l r30,r27
+ 884: 709f 9802 movlte.l r35,r52
+ 888: f49f 3802 movlte.l r15,r53
+
+0000088c \<mov16LTEU\>:
+ 88c: 904f 2402 movlteu.l ip,ip
+ 890: 6c42 movlteu r3,r3
+ 892: 0042 movlteu r0,r0
+ 894: 6c4f 2402 movlteu.l fp,fp
+ 898: b44f 2402 movlteu.l sp,sp
+ 89c: 984f 2402 movlteu.l ip,lr
+ 8a0: 4842 movlteu r2,r2
+ 8a2: 4c4f 0402 movlteu.l r2,fp
+
+000008a6 \<movLTEU\>:
+ 8a6: 904f 2402 movlteu.l ip,ip
+ 8aa: 6c4f fc02 movlteu.l r59,r59
+ 8ae: 904f 6c02 movlteu.l r28,r28
+ 8b2: 6c4f 6c02 movlteu.l r27,r27
+ 8b6: b44f 2402 movlteu.l sp,sp
+ 8ba: f04f 7002 movlteu.l r31,r36
+ 8be: 084f 7802 movlteu.l r24,r50
+ 8c2: 984f d802 movlteu.l r52,r54
+
+000008c6 \<mov16B\>:
+ 8c6: 90ef 2402 mov.l ip,ip
+ 8ca: 6ce2 mov r3,r3
+ 8cc: 00e2 mov r0,r0
+ 8ce: 6cef 2402 mov.l fp,fp
+ 8d2: b4ef 2402 mov.l sp,sp
+ 8d6: 84ef 2002 mov.l ip,r1
+ 8da: 80ef 2002 mov.l ip,r0
+ 8de: 10ef 0402 mov.l r0,ip
+
+000008e2 \<movB\>:
+ 8e2: 90ef 2402 mov.l ip,ip
+ 8e6: 6cef fc02 mov.l r59,r59
+ 8ea: 90ef 6c02 mov.l r28,r28
+ 8ee: 6cef 6c02 mov.l r27,r27
+ 8f2: b4ef 2402 mov.l sp,sp
+ 8f6: 2cef 1c02 mov.l r1,r59
+ 8fa: 90ef 6402 mov.l r28,ip
+ 8fe: a8ef 1402 mov.l r5,r42
+
+00000902 \<mov16BEQ\>:
+ 902: 90af 2402 movbeq.l ip,ip
+ 906: 6ca2 movbeq r3,r3
+ 908: 00a2 movbeq r0,r0
+ 90a: 6caf 2402 movbeq.l fp,fp
+ 90e: b4af 2402 movbeq.l sp,sp
+ 912: c8af 2002 movbeq.l lr,r2
+ 916: 68af 2002 movbeq.l fp,r2
+ 91a: 84af 2002 movbeq.l ip,r1
+
+0000091e \<movBEQ\>:
+ 91e: 90af 2402 movbeq.l ip,ip
+ 922: 6caf fc02 movbeq.l r59,r59
+ 926: 90af 6c02 movbeq.l r28,r28
+ 92a: 6caf 6c02 movbeq.l r27,r27
+ 92e: b4af 2402 movbeq.l sp,sp
+ 932: a0af 6802 movbeq.l r29,r16
+ 936: 58af 5402 movbeq.l r18,r46
+ 93a: c4af 2002 movbeq.l lr,r1
+
+0000093e \<mov16BNE\>:
+ 93e: 90bf 2402 movbne.l ip,ip
+ 942: 6cb2 movbne r3,r3
+ 944: 00b2 movbne r0,r0
+ 946: 6cbf 2402 movbne.l fp,fp
+ 94a: b4bf 2402 movbne.l sp,sp
+ 94e: 28b2 movbne r1,r2
+ 950: 84bf 2002 movbne.l ip,r1
+ 954: 8cbf 2002 movbne.l ip,r3
+
+00000958 \<movBNE\>:
+ 958: 90bf 2402 movbne.l ip,ip
+ 95c: 6cbf fc02 movbne.l r59,r59
+ 960: 90bf 6c02 movbne.l r28,r28
+ 964: 6cbf 6c02 movbne.l r27,r27
+ 968: b4bf 2402 movbne.l sp,sp
+ 96c: fcbf 2002 movbne.l r15,r7
+ 970: 0cbf 7402 movbne.l r24,r43
+ 974: f0bf 5802 movbne.l r23,r52
+
+00000978 \<mov16BLT\>:
+ 978: 90cf 2402 movblt.l ip,ip
+ 97c: 6cc2 movblt r3,r3
+ 97e: 00c2 movblt r0,r0
+ 980: 6ccf 2402 movblt.l fp,fp
+ 984: b4cf 2402 movblt.l sp,sp
+ 988: b8cf 2402 movblt.l sp,lr
+ 98c: 98cf 2402 movblt.l ip,lr
+ 990: d4cf 2402 movblt.l lr,sp
+
+00000994 \<movBLT\>:
+ 994: 90cf 2402 movblt.l ip,ip
+ 998: 6ccf fc02 movblt.l r59,r59
+ 99c: 90cf 6c02 movblt.l r28,r28
+ 9a0: 6ccf 6c02 movblt.l r27,r27
+ 9a4: b4cf 2402 movblt.l sp,sp
+ 9a8: 90cf d402 movblt.l r52,r44
+ 9ac: 2ccf f002 movblt.l r57,r35
+ 9b0: a4cf d002 movblt.l r53,r33
+
+000009b4 \<mov16BLTE\>:
+ 9b4: 90df 2402 movblte.l ip,ip
+ 9b8: 6cd2 movblte r3,r3
+ 9ba: 00d2 movblte r0,r0
+ 9bc: 6cdf 2402 movblte.l fp,fp
+ 9c0: b4df 2402 movblte.l sp,sp
+ 9c4: b0df 2402 movblte.l sp,ip
+ 9c8: 0cdf 0402 movblte.l r0,fp
+ 9cc: 14df 0402 movblte.l r0,sp
+
+000009d0 \<movBLTE\>:
+ 9d0: 90df 2402 movblte.l ip,ip
+ 9d4: 6cdf fc02 movblte.l r59,r59
+ 9d8: 90df 6c02 movblte.l r28,r28
+ 9dc: 6cdf 6c02 movblte.l r27,r27
+ 9e0: b4df 2402 movblte.l sp,sp
+ 9e4: 50df f402 movblte.l r58,r44
+ 9e8: 78df 8802 movblte.l r35,r22
+ 9ec: 08df 2002 movblte.l r8,r2
+
+000009f0 \<movts16\>:
+ 9f0: 810f 2002 movts.l config,ip
+ 9f4: 750f 0402 movts.l ipend,r3
+ 9f8: 010f 0402 movts.l iret,r0
+ 9fc: 6d0f 2002 movts.l debug,fp
+ a00: a50f 2002 movts.l status,sp
+ a04: 650f 2002 movts.l status,fp
+ a08: 690f 2002 movts.l pc,fp
+ a0c: 050f 0402 movts.l imask,r0
+
+00000a10 \<movts\>:
+ a10: 810f 2002 movts.l config,ip
+ a14: 750f e402 movts.l ipend,r59
+ a18: 810f 6402 movts.l iret,r28
+ a1c: 6d0f 6002 movts.l debug,r27
+ a20: a50f 2002 movts.l status,sp
+ a24: 4d0f c002 movts.l debug,r50
+ a28: 350f 8402 movts.l ipend,r33
+ a2c: 850f 2002 movts.l status,ip
+
+00000a30 \<movfs16\>:
+ a30: 811f 2002 movfs.l ip,config
+ a34: 751f 0402 movfs.l r3,ipend
+ a38: 011f 0402 movfs.l r0,iret
+ a3c: 6d1f 2002 movfs.l fp,debug
+ a40: a51f 2002 movfs.l sp,status
+ a44: 211f 0402 movfs.l r1,iret
+ a48: 4512 movfs r2,status
+ a4a: cd1f 2002 movfs.l lr,debug
+
+00000a4e \<movfs\>:
+ a4e: 811f 2002 movfs.l ip,config
+ a52: 751f e402 movfs.l r59,ipend
+ a56: 811f 6402 movfs.l r28,iret
+ a5a: 6d1f 6002 movfs.l r27,debug
+ a5e: a51f 2002 movfs.l sp,status
+ a62: ad1f 2002 movfs.l sp,debug
+ a66: e51f 2002 movfs.l r15,status
+ a6a: 051f 4402 movfs.l r16,imask
+
+00000a6e \<nop\>:
+ a6e: 01a2 nop
+
+00000a70 \<idle\>:
+ a70: 01b2 idle
+
+00000a72 \<bkpt\>:
+ a72: 01c2 bkpt
+
+00000a74 \<rti\>:
+ a74: 01d2 rti
+
+00000a76 \<trap16\>:
+ a76: 03e2 trap 0x0
+ a78: 1fe2 trap 0x7
+ a7a: 13e2 trap 0x4
+ a7c: 0fe2 trap 0x3
+ a7e: 07e2 trap 0x1
+ a80: 1be2 trap 0x6
+ a82: 0fe2 trap 0x3
+ a84: 17e2 trap 0x5
+
+00000a86 \<add16\>:
+ a86: 921f 248a add.l ip,ip,ip
+ a8a: 6d9a add r3,r3,r3
+ a8c: 001a add r0,r0,r0
+ a8e: 6d9f 248a add.l fp,fp,fp
+ a92: b69f 248a add.l sp,sp,sp
+ a96: ab1f 208a add.l sp,r2,lr
+ a9a: 089a add r0,r2,r1
+ a9c: 8d9f 248a add.l ip,fp,fp
+
+00000aa0 \<add\>:
+ aa0: 921f 248a add.l ip,ip,ip
+ aa4: 6d9f ff8a add.l r59,r59,r59
+ aa8: 921f 6d8a add.l r28,r28,r28
+ aac: 6d9f 6d8a add.l r27,r27,r27
+ ab0: b69f 248a add.l sp,sp,sp
+ ab4: 081f e50a add.l r56,sl,r16
+ ab8: 851f 8e0a add.l r36,r25,r34
+ abc: 449f 190a add.l r2,r49,r17
+
+00000ac0 \<sub16\>:
+ ac0: 923f 248a sub.l ip,ip,ip
+ ac4: 6dba sub r3,r3,r3
+ ac6: 003a sub r0,r0,r0
+ ac8: 6dbf 248a sub.l fp,fp,fp
+ acc: b6bf 248a sub.l sp,sp,sp
+ ad0: 533f 048a sub.l r2,ip,lr
+ ad4: d83f 240a sub.l lr,lr,r0
+ ad8: 6dba sub r3,r3,r3
+
+00000ada \<sub\>:
+ ada: 923f 248a sub.l ip,ip,ip
+ ade: 6dbf ff8a sub.l r59,r59,r59
+ ae2: 923f 6d8a sub.l r28,r28,r28
+ ae6: 6dbf 6d8a sub.l r27,r27,r27
+ aea: b6bf 248a sub.l sp,sp,sp
+ aee: 9a3f 250a sub.l ip,lr,r20
+ af2: 1bbf ca8a sub.l r48,r22,r47
+ af6: 62bf 588a sub.l r19,r48,sp
+
+00000afa \<and16\>:
+ afa: 925f 248a and.l ip,ip,ip
+ afe: 6dda and r3,r3,r3
+ b00: 005a and r0,r0,r0
+ b02: 6ddf 248a and.l fp,fp,fp
+ b06: b6df 248a and.l sp,sp,sp
+ b0a: 75df 240a and.l fp,sp,r3
+ b0e: 6dda and r3,r3,r3
+ b10: 96df 248a and.l ip,sp,sp
+
+00000b14 \<and\>:
+ b14: 925f 248a and.l ip,ip,ip
+ b18: 6ddf ff8a and.l r59,r59,r59
+ b1c: 925f 6d8a and.l r28,r28,r28
+ b20: 6ddf 6d8a and.l r27,r27,r27
+ b24: b6df 248a and.l sp,sp,sp
+ b28: 935f c68a and.l r52,ip,r46
+ b2c: 825f b68a and.l r44,r40,r44
+ b30: 0bdf 7d8a and.l r24,r58,r31
+
+00000b34 \<orr16\>:
+ b34: 927f 248a orr.l ip,ip,ip
+ b38: 6dfa orr r3,r3,r3
+ b3a: 007a orr r0,r0,r0
+ b3c: 6dff 248a orr.l fp,fp,fp
+ b40: b6ff 248a orr.l sp,sp,sp
+ b44: c6ff 208a orr.l lr,r1,sp
+ b48: 7b7f 048a orr.l r3,lr,lr
+ b4c: 4d7a orr r2,r3,r2
+
+00000b4e \<orr\>:
+ b4e: 927f 248a orr.l ip,ip,ip
+ b52: 6dff ff8a orr.l r59,r59,r59
+ b56: 927f 6d8a orr.l r28,r28,r28
+ b5a: 6dff 6d8a orr.l r27,r27,r27
+ b5e: b6ff 248a orr.l sp,sp,sp
+ b62: 95ff c38a orr.l r52,r5,r59
+ b66: e1ff 328a orr.l r15,r32,r43
+ b6a: 167f ee8a orr.l r56,r29,r44
+
+00000b6e \<eor16\>:
+ b6e: 920f 248a eor.l ip,ip,ip
+ b72: 6d8a eor r3,r3,r3
+ b74: 000a eor r0,r0,r0
+ b76: 6d8f 248a eor.l fp,fp,fp
+ b7a: b68f 248a eor.l sp,sp,sp
+ b7e: 8d0f 200a eor.l ip,r3,r2
+ b82: 750f 040a eor.l r3,sp,r2
+ b86: 750f 240a eor.l fp,sp,r2
+
+00000b8a \<eor\>:
+ b8a: 920f 248a eor.l ip,ip,ip
+ b8e: 6d8f ff8a eor.l r59,r59,r59
+ b92: 920f 6d8a eor.l r28,r28,r28
+ b96: 6d8f 6d8a eor.l r27,r27,r27
+ b9a: b68f 248a eor.l sp,sp,sp
+ b9e: 228f 5d8a eor.l r17,r56,r29
+ ba2: a58f 358a eor.l sp,r41,r27
+ ba6: 698f 268a eor.l fp,sl,r43
+
+00000baa \<asr16\>:
+ baa: 926f 248a asr.l ip,ip,ip
+ bae: 6dea asr r3,r3,r3
+ bb0: 006a asr r0,r0,r0
+ bb2: 6def 248a asr.l fp,fp,fp
+ bb6: b6ef 248a asr.l sp,sp,sp
+ bba: 61ea asr r3,r0,r3
+ bbc: 676f 008a asr.l r3,r1,lr
+ bc0: 0eef 048a asr.l r0,fp,sp
+
+00000bc4 \<asr\>:
+ bc4: 926f 248a asr.l ip,ip,ip
+ bc8: 6def ff8a asr.l r59,r59,r59
+ bcc: 926f 6d8a asr.l r28,r28,r28
+ bd0: 6def 6d8a asr.l r27,r27,r27
+ bd4: b6ef 248a asr.l sp,sp,sp
+ bd8: 44ef 858a asr.l r34,sb,r25
+ bdc: 64ef ca0a asr.l r51,r17,r33
+ be0: 9def 208a asr.l ip,r7,fp
+
+00000be4 \<lsr16\>:
+ be4: 924f 248a lsr.l ip,ip,ip
+ be8: 6dca lsr r3,r3,r3
+ bea: 004a lsr r0,r0,r0
+ bec: 6dcf 248a lsr.l fp,fp,fp
+ bf0: b6cf 248a lsr.l sp,sp,sp
+ bf4: adcf 208a lsr.l sp,r3,fp
+ bf8: 674f 208a lsr.l fp,r1,lr
+ bfc: c94f 200a lsr.l lr,r2,r2
+
+00000c00 \<lsr\>:
+ c00: 924f 248a lsr.l ip,ip,ip
+ c04: 6dcf ff8a lsr.l r59,r59,r59
+ c08: 924f 6d8a lsr.l r28,r28,r28
+ c0c: 6dcf 6d8a lsr.l r27,r27,r27
+ c10: b6cf 248a lsr.l sp,sp,sp
+ c14: c5cf 0d0a lsr.l r6,r25,r19
+ c18: 984f 3a0a lsr.l ip,r54,r32
+ c1c: b64f 248a lsr.l sp,sp,ip
+
+00000c20 \<lsl16\>:
+ c20: 922f 248a lsl.l ip,ip,ip
+ c24: 6daa lsl r3,r3,r3
+ c26: 002a lsl r0,r0,r0
+ c28: 6daf 248a lsl.l fp,fp,fp
+ c2c: b6af 248a lsl.l sp,sp,sp
+ c30: 922f 248a lsl.l ip,ip,ip
+ c34: c62f 208a lsl.l lr,r1,ip
+ c38: d5af 240a lsl.l lr,sp,r3
+
+00000c3c \<lsl\>:
+ c3c: 922f 248a lsl.l ip,ip,ip
+ c40: 6daf ff8a lsl.l r59,r59,r59
+ c44: 922f 6d8a lsl.l r28,r28,r28
+ c48: 6daf 6d8a lsl.l r27,r27,r27
+ c4c: b6af 248a lsl.l sp,sp,sp
+ c50: 8faf 948a lsl.l r36,r43,r15
+ c54: 5eaf 920a lsl.l r34,r39,r37
+ c58: e6af 518a lsl.l r23,r33,r29
+
+00000c5c \<addi16\>:
+ c5c: 901b 2400 add ip,ip,0
+ c60: 6f9b 0000 add r3,r3,7
+ c64: 021b 0000 add r0,r0,4
+ c68: 6d9b 2400 add fp,fp,3
+ c6c: b49b 2400 add sp,sp,1
+ c70: 6493 add r3,r1,1
+ c72: 2d9b 0400 add r1,fp,3
+ c76: 0f9b 0400 add r0,fp,7
+
+00000c7a \<addi\>:
+ c7a: 901b 2400 add ip,ip,0
+ c7e: 6f9b fc7f add r59,r59,1023
+ c82: 939b 6c04 add r28,r28,39
+ c86: 6f9b 6c7f add r27,r27,1023
+ c8a: b49b 2400 add sp,sp,1
+ c8e: 329b cc14 add r49,r28,165
+ c92: eb9b 604d add r31,r2,623
+ c96: 049b 4476 add r16,sb,945
+
+00000c9a \<subi16\>:
+ c9a: 903b 2400 sub ip,ip,0
+ c9e: 6fbb 0000 sub r3,r3,7
+ ca2: 023b 0000 sub r0,r0,4
+ ca6: 6dbb 2400 sub fp,fp,3
+ caa: b4bb 2400 sub sp,sp,1
+ cae: 8d3b 2000 sub ip,r3,2
+ cb2: ce3b 2000 sub lr,r3,4
+ cb6: 88bb 2000 sub ip,r2,1
+
+00000cba \<subi\>:
+ cba: 903b 2400 sub ip,ip,0
+ cbe: 6cbb fc00 sub r59,r59,1
+ cc2: 93bb 6c7f sub r28,r28,1023
+ cc6: 6f3b 6c7f sub r27,r27,1022
+ cca: b4bb 2400 sub sp,sp,1
+ cce: 7a3b c068 sub r51,r6,836
+ cd2: e23b b460 sub r47,r40,772
+ cd6: f03b c03d sub r55,r4,488
+
+00000cda \<lsri16\>:
+ cda: 900f 2406 lsr.l ip,ip,0x0
+ cde: 6fe6 lsr r3,r3,0x1f
+ ce0: 0206 lsr r0,r0,0x10
+ ce2: 6def 2406 lsr.l fp,fp,0xf
+ ce6: b42f 2406 lsr.l sp,sp,0x1
+ cea: 0cc6 lsr r0,r3,0x6
+ cec: 2906 lsr r1,r2,0x8
+ cee: 79cf 2406 lsr.l fp,lr,0xe
+
+00000cf2 \<lsri32\>:
+ cf2: 900f 2406 lsr.l ip,ip,0x0
+ cf6: 6fef fc06 lsr.l r59,r59,0x1f
+ cfa: 920f 6c06 lsr.l r28,r28,0x10
+ cfe: 6def 6c06 lsr.l r27,r27,0xf
+ d02: b42f 2406 lsr.l sp,sp,0x1
+ d06: c26f 7806 lsr.l r30,r48,0x13
+ d0a: 7eef a006 lsr.l r43,r7,0x17
+ d0e: 8b8f 6006 lsr.l r28,r2,0x1c
+
+00000d12 \<lsli16\>:
+ d12: 901f 2406 lsl.l ip,ip,0x0
+ d16: 6ff6 lsl r3,r3,0x1f
+ d18: 0216 lsl r0,r0,0x10
+ d1a: 6dff 2406 lsl.l fp,fp,0xf
+ d1e: b43f 2406 lsl.l sp,sp,0x1
+ d22: 4d76 lsl r2,r3,0xb
+ d24: c8df 2006 lsl.l lr,r2,0x6
+ d28: 0a16 lsl r0,r2,0x10
+
+00000d2a \<lsli32\>:
+ d2a: 901f 2406 lsl.l ip,ip,0x0
+ d2e: 6fff fc06 lsl.l r59,r59,0x1f
+ d32: 921f 6c06 lsl.l r28,r28,0x10
+ d36: 6dff 6c06 lsl.l r27,r27,0xf
+ d3a: b43f 2406 lsl.l sp,sp,0x1
+ d3e: 0e7f f806 lsl.l r56,r51,0x13
+ d42: 3e7f 5006 lsl.l r17,r39,0x13
+ d46: 519f 0406 lsl.l r2,ip,0xc
+
+00000d4a \<asri16\>:
+ d4a: 900f 240e asr.l ip,ip,0x0
+ d4e: 6fee asr r3,r3,0x1f
+ d50: 020e asr r0,r0,0x10
+ d52: 6def 240e asr.l fp,fp,0xf
+ d56: b42f 240e asr.l sp,sp,0x1
+ d5a: d2af 240e asr.l lr,ip,0x15
+ d5e: 6ece asr r3,r3,0x16
+ d60: 6d2e asr r3,r3,0x9
+
+00000d62 \<asri32\>:
+ d62: 900f 240e asr.l ip,ip,0x0
+ d66: 6fef fc0e asr.l r59,r59,0x1f
+ d6a: 920f 6c0e asr.l r28,r28,0x10
+ d6e: 6def 6c0e asr.l r27,r27,0xf
+ d72: b42f 240e asr.l sp,sp,0x1
+ d76: 9a2f d40e asr.l r52,r46,0x11
+ d7a: e2cf 5c0e asr.l r23,r56,0x16
+ d7e: bb8f 540e asr.l r21,r46,0x1c
+
+00000d82 \<mov8\>:
+ d82: 800b 2002 mov ip,0x0
+ d86: 7fe3 mov r3,0xff
+ d88: 1003 mov r0,0x80
+ d8a: 6feb 2002 mov fp,0x7f
+ d8e: a02b 2002 mov sp,0x1
+ d92: cb6b 2002 mov lr,0x5b
+ d96: 09a3 mov r0,0x4d
+ d98: 614b 2002 mov fp,0xa
+
+00000d9c \<mov16\>:
+ d9c: 800b 2002 mov ip,0x0
+ da0: 7feb eff2 mov r59,0xffff
+ da4: 800b 6802 mov r28,0x8000
+ da8: 7feb 67f2 mov r27,0x7fff
+ dac: a02b 2002 mov sp,0x1
+ db0: be2b cee2 mov r53,0xeef1
+ db4: 5deb 4cb2 mov r18,0xcbef
+ db8: 044b 48e2 mov r16,0x8e22
+
+00000dbc \<faddf16\>:
+ dbc: 920f 2487 fadd.l ip,ip,ip
+ dc0: 6d87 fadd r3,r3,r3
+ dc2: 0007 fadd r0,r0,r0
+ dc4: 6d8f 2487 fadd.l fp,fp,fp
+ dc8: b68f 2487 fadd.l sp,sp,sp
+ dcc: b10f 2407 fadd.l sp,ip,r2
+ dd0: a90f 2007 fadd.l sp,r2,r2
+ dd4: b98f 2487 fadd.l sp,lr,fp
+
+00000dd8 \<faddf32\>:
+ dd8: 920f 2487 fadd.l ip,ip,ip
+ ddc: 6d8f ff87 fadd.l r59,r59,r59
+ de0: 920f 6d87 fadd.l r28,r28,r28
+ de4: 6d8f 6d87 fadd.l r27,r27,r27
+ de8: b68f 2487 fadd.l sp,sp,sp
+ dec: b78f 2e07 fadd.l sp,r29,r39
+ df0: 018f 9407 fadd.l r32,r40,r3
+ df4: 170f ac87 fadd.l r40,r29,lr
+
+00000df8 \<fsubf16\>:
+ df8: 921f 2487 fsub.l ip,ip,ip
+ dfc: 6d97 fsub r3,r3,r3
+ dfe: 0017 fsub r0,r0,r0
+ e00: 6d9f 2487 fsub.l fp,fp,fp
+ e04: b69f 2487 fsub.l sp,sp,sp
+ e08: 5a9f 0487 fsub.l r2,lr,sp
+ e0c: 661f 0087 fsub.l r3,r1,ip
+ e10: 711f 0407 fsub.l r3,ip,r2
+
+00000e14 \<fsubf32\>:
+ e14: 921f 2487 fsub.l ip,ip,ip
+ e18: 6d9f ff87 fsub.l r59,r59,r59
+ e1c: 921f 6d87 fsub.l r28,r28,r28
+ e20: 6d9f 6d87 fsub.l r27,r27,r27
+ e24: b69f 2487 fsub.l sp,sp,sp
+ e28: 219f 1c87 fsub.l r1,r56,fp
+ e2c: 7b9f 0887 fsub.l r3,r22,r15
+ e30: c29f 1a87 fsub.l r6,r48,r45
+
+00000e34 \<fmulf16\>:
+ e34: 922f 2487 fmul.l ip,ip,ip
+ e38: 6da7 fmul r3,r3,r3
+ e3a: 0027 fmul r0,r0,r0
+ e3c: 6daf 2487 fmul.l fp,fp,fp
+ e40: b6af 2487 fmul.l sp,sp,sp
+ e44: 71af 0487 fmul.l r3,ip,fp
+ e48: c52f 2007 fmul.l lr,r1,r2
+ e4c: bb2f 2487 fmul.l sp,lr,lr
+
+00000e50 \<fmulf32\>:
+ e50: 922f 2487 fmul.l ip,ip,ip
+ e54: 6daf ff87 fmul.l r59,r59,r59
+ e58: 922f 6d87 fmul.l r28,r28,r28
+ e5c: 6daf 6d87 fmul.l r27,r27,r27
+ e60: b6af 2487 fmul.l sp,sp,sp
+ e64: 5daf eb07 fmul.l r58,r23,r51
+ e68: cbaf 4287 fmul.l r22,r2,r47
+ e6c: d92f a487 fmul.l r46,lr,sl
+
+00000e70 \<fmaddf16\>:
+ e70: 923f 2487 fmadd.l ip,ip,ip
+ e74: 6db7 fmadd r3,r3,r3
+ e76: 0037 fmadd r0,r0,r0
+ e78: 6dbf 2487 fmadd.l fp,fp,fp
+ e7c: b6bf 2487 fmadd.l sp,sp,sp
+ e80: a5bf 2007 fmadd.l sp,r1,r3
+ e84: 6c37 fmadd r3,r3,r0
+ e86: 523f 0487 fmadd.l r2,ip,ip
+
+00000e8a \<fmaddf32\>:
+ e8a: 923f 2487 fmadd.l ip,ip,ip
+ e8e: 6dbf ff87 fmadd.l r59,r59,r59
+ e92: 923f 6d87 fmadd.l r28,r28,r28
+ e96: 6dbf 6d87 fmadd.l r27,r27,r27
+ e9a: b6bf 2487 fmadd.l sp,sp,sp
+ e9e: 983f 7a07 fmadd.l r28,r54,r32
+ ea2: 89bf 2087 fmadd.l ip,r2,fp
+ ea6: 633f 3507 fmadd.l fp,r40,r22
+
+00000eaa \<fmsubf16\>:
+ eaa: 924f 2487 fmsub.l ip,ip,ip
+ eae: 6dc7 fmsub r3,r3,r3
+ eb0: 0047 fmsub r0,r0,r0
+ eb2: 6dcf 2487 fmsub.l fp,fp,fp
+ eb6: b6cf 2487 fmsub.l sp,sp,sp
+ eba: accf 2407 fmsub.l sp,fp,r1
+ ebe: 2ecf 0487 fmsub.l r1,fp,sp
+ ec2: 0c47 fmsub r0,r3,r0
+
+00000ec4 \<fmsubf32\>:
+ ec4: 924f 2487 fmsub.l ip,ip,ip
+ ec8: 6dcf ff87 fmsub.l r59,r59,r59
+ ecc: 924f 6d87 fmsub.l r28,r28,r28
+ ed0: 6dcf 6d87 fmsub.l r27,r27,r27
+ ed4: b6cf 2487 fmsub.l sp,sp,sp
+ ed8: 50cf a887 fmsub.l r42,r20,sb
+ edc: c14f 4e87 fmsub.l r22,r24,r42
+ ee0: f9cf 2907 fmsub.l r15,r22,r19
+ ee4: 2a4c 0101 ldr.l r1,\[r2,-0xc]
+ ee8: dbbc 4dff strh.l r22,\[r30,-0x7ff]
+ eec: 9bec 24ff ldrd.l ip,\[lr,\+0x7ff]
+ ef0: 201e bitr r1,r0
+ ef2: fc1f 640e bitr.l r31,r15
diff --git a/gas/testsuite/gas/epiphany/allinsn.exp b/gas/testsuite/gas/epiphany/allinsn.exp
new file mode 100644
index 0000000000..389bc98bb5
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/allinsn.exp
@@ -0,0 +1,11 @@
+# EPIPHANY assembler testsuite. -*- Tcl -*-
+
+if [istarget epiphany*-*-*] {
+ run_dump_test "allinsn"
+ run_dump_test "regression"
+ run_dump_test "sample"
+ run_dump_test "branch_lit"
+ run_dump_test "badrelax"
+ gas_test_error "badpostmod" "" "destination register modified by displacement-post-modified address"
+ run_dump_test "addr-syntax"
+}
diff --git a/gas/testsuite/gas/epiphany/allinsn.s b/gas/testsuite/gas/epiphany/allinsn.s
new file mode 100644
index 0000000000..762fe5faa6
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/allinsn.s
@@ -0,0 +1,1563 @@
+ .data
+foodata: .hword 42
+ .text
+footext:
+ .text
+ .global beq16
+
+ .text
+ .global beq
+bgt16:
+ bgt 4
+ bgt 4
+ bgt -4
+ bgt footext
+ bgt foodata
+ bgt 4
+ bgt footext
+ bgt footext
+ .text
+ .global bgt
+
+bgtu16:
+ bgtu 4
+ bgtu -4
+ bgtu footext
+ bgtu 4
+ bgtu -4
+ bgtu footext
+ bgtu footext
+ bgtu 4
+ .text
+ .global bgtu
+
+bgte16:
+ bgte footext
+ bgte footext
+ bgte footext
+ bgte footext
+ bgte footext
+ bgte -4
+ bgte foodata
+ bgte foodata
+
+ .text
+ .global bgteu16
+bgteu16:
+ bgteu 4
+ bgteu -4
+ bgteu foodata
+ bgteu 4
+ bgteu footext
+ bgteu 4
+ bgteu foodata
+ bgteu foodata
+ .text
+ .global bgteu
+bgteu:
+ .text
+ .global blt16
+blt16:
+ blt -4
+ blt 4
+ blt -4
+ blt 4
+ blt -4
+ blt 4
+ blt foodata
+ blt foodata
+ .text
+ .global blt
+blt:
+ .text
+ .global bltu16
+bltu16:
+ bltu -4
+ bltu 4
+ bltu -4
+ bltu footext
+ bltu footext
+ bltu footext
+ bltu 4
+ bltu foodata
+ .text
+ .global bltu
+bltu:
+ .text
+ .global blte16
+blte16:
+ blte footext
+ blte foodata
+ blte foodata
+ blte footext
+ blte -4
+ blte footext
+ blte footext
+ blte 4
+ .text
+ .global blte
+blte:
+ .text
+ .global blteu16
+blteu16:
+ blteu footext
+ blteu foodata
+ blteu footext
+ blteu foodata
+ blteu footext
+ blteu -4
+ blteu foodata
+ blteu foodata
+ .text
+ .global blteu
+blteu:
+ .text
+ .global bbeq16
+bbeq16:
+ bbeq footext
+ bbeq footext
+ bbeq foodata
+ bbeq footext
+ bbeq 4
+ bbeq foodata
+ bbeq foodata
+ bbeq 4
+ .text
+ .global bbeq
+bbeq:
+ .text
+ .global bbne16
+bbne16:
+ bbne foodata
+ bbne -4
+ bbne 4
+ bbne footext
+ bbne 4
+ bbne 4
+ bbne footext
+ bbne footext
+ .text
+ .global bbne
+bbne:
+ .text
+ .global bblt16
+bblt16:
+ bblt foodata
+ bblt 4
+ bblt 4
+ bblt 4
+ bblt -4
+ bblt 4
+ bblt footext
+ bblt -4
+ .text
+ .global bblt
+bblt:
+ .text
+ .global bblte16
+bblte16:
+ bblte 4
+ bblte 4
+ bblte footext
+ bblte footext
+ bblte 4
+ bblte -4
+ bblte foodata
+ bblte 4
+ .text
+ .global bblte
+bblte:
+ .text
+ .global b16
+b16:
+ b footext
+ b footext
+ b 4
+ b -4
+ b footext
+ b foodata
+ b foodata
+ b -4
+ .text
+ .global b
+b:
+ .text
+ .global bl16
+bl16:
+ bl -4
+ bl 4
+ bl footext
+ bl -4
+ bl footext
+ bl -4
+ bl -4
+ bl footext
+ .text
+ .global bl
+bl:
+ .text
+ .global jr16
+jr16:
+ jr ip
+ jr r3
+ jr r0
+ jr fp
+ jr sp
+ jr r0
+ jr r3
+ jr r0
+ .text
+ .global jr
+jr:
+ jr ip
+ jr r59
+ jr r28
+ jr r27
+ jr sp
+ jr r51
+ jr r56
+ jr r45
+ .text
+ .global jalr16
+jalr16:
+ jalr ip
+ jalr r3
+ jalr r0
+ jalr fp
+ jalr sp
+ jalr r3
+ jalr fp
+ jalr ip
+ .text
+ .global jalr
+jalr:
+ jalr ip
+ jalr r59
+ jalr r28
+ jalr r27
+ jalr sp
+ jalr r11
+ jalr r28
+ jalr r59
+ .text
+ .global ldrbx16
+ldrbx16:
+ ldrb ip,[ip,ip]
+ ldrb r3,[r3,r3]
+ ldrb r0,[r0,r0]
+ ldrb fp,[fp,fp]
+ ldrb sp,[sp,sp]
+ ldrb ip,[r0,r0]
+ ldrb r3,[r2,lr]
+ ldrb r2,[ip,r3]
+ .text
+ .global ldrbp16
+ldrbp16:
+ ldrb sp,[r0],fp
+ ldrb lr,[r1],ip
+ ldrb fp,[r0],fp
+ .text
+ .global ldrbx
+ldrbx:
+ ldrb ip,[ip,ip]
+ ldrb r59,[r59,r59]
+ ldrb r28,[r28,r28]
+ ldrb r27,[r27,r27]
+ ldrb sp,[sp,sp]
+ ldrb r41,[r18,r47]
+ ldrb r43,[r16,r21]
+ ldrb r32,[r8,r8]
+ .text
+ .global ldrbp
+ldrbp:
+ ldrb r36,[r49],r18
+ ldrb r32,[r59],r50
+ ldrb r58,[r11],r25
+ .text
+ .global ldrbd16
+ldrbd16:
+ ldrb ip,[ip,0]
+ ldrb r3,[r3,7]
+ ldrb r0,[r0,4]
+ ldrb fp,[fp,3]
+ ldrb sp,[sp,1]
+ ldrb lr,[sp,1]
+ ldrb r1,[r0,0]
+ ldrb r1,[r1,1]
+ .text
+ .global ldrbd
+ldrbd:
+ ldrb ip,[ip,0]
+ ldrb r59,[r59,2047]
+ ldrb r28,[r28,1024]
+ ldrb r27,[r27,1023]
+ ldrb sp,[sp,1]
+ ldrb r7,[r33,1574]
+ ldrb r31,[r6,1957]
+ ldrb r10,[r0,1831]
+ .text
+ .global ldrhx16
+ldrhx16:
+ ldrh ip,[ip,ip]
+ ldrh r3,[r3,r3]
+ ldrh r0,[r0,r0]
+ ldrh fp,[fp,fp]
+ ldrh sp,[sp,sp]
+ ldrh r0,[r0,lr]
+ ldrh lr,[lr,sp]
+ ldrh r0,[fp,fp]
+ .text
+ .global ldrhp16
+ldrhp16:
+ ldrh r2,[sp],fp
+ ldrh r22,[sp],fp
+ .text
+ .global ldrhx
+ldrhx:
+ ldrh ip,[ip,ip]
+ ldrh r59,[r59,r59]
+ ldrh r28,[r28,r28]
+ ldrh r27,[r27,r27]
+ ldrh sp,[sp,sp]
+ ldrh r46,[r17,r21]
+ ldrh r30,[r1,r47]
+ ldrh r43,[r19,r20]
+ .text
+ .global ldrhp
+ldrhp:
+
+
+
+ ldrh r32,[r31],r29
+ ldrh r52,[r47],r10
+ ldrh r31,[r40],r3
+ .text
+ .global ldrhd16
+ldrhd16:
+ ldrh ip,[ip,0]
+ ldrh r3,[r3,7]
+ ldrh r0,[r0,4]
+ ldrh fp,[fp,3]
+ ldrh sp,[sp,1]
+ ldrh lr,[r2,0]
+ ldrh r3,[r0,7]
+ ldrh r0,[r3,6]
+ .text
+ .global ldrhd
+ldrhd:
+ ldrh ip,[ip,0]
+ ldrh r59,[r59,2047]
+ ldrh r28,[r28,1024]
+ ldrh r27,[r27,1023]
+ ldrh sp,[sp,1]
+ ldrh r45,[r24,1221]
+ ldrh r36,[r43,1738]
+ ldrh r42,[r48,25]
+ .text
+ .global ldrx16
+ldrx16:
+ ldr ip,[ip,ip]
+ ldr r3,[r3,r3]
+ ldr r0,[r0,r0]
+ ldr fp,[fp,fp]
+ ldr sp,[sp,sp]
+ ldr r3,[fp,lr]
+ ldr ip,[lr,r2]
+ ldr r3,[r2,lr]
+ .text
+ .global ldrp16
+ldrp16:
+ ldr lr,[fp],sp
+ ldr r0,[sp],r0
+ ldr fp,[r2],r1
+ .text
+ .global ldrx
+ldrx:
+ ldr ip,[ip,ip]
+ ldr r59,[r59,r59]
+ ldr r28,[r28,r28]
+ ldr r27,[r27,r27]
+ ldr sp,[sp,sp]
+ ldr r24,[r16,r47]
+ ldr r22,[r41,r49]
+ ldr r14,[fp,r39]
+ .text
+ .global ldrp
+ldrp:
+ ldr r21,[r5],r30
+ ldr r36,[r12],r14
+ ldr r12,[r4],r11
+ .text
+ .global ldrd16
+ldrd16:
+ ldr ip,[ip,0]
+ ldr r3,[r3,7]
+ ldr r0,[r0,4]
+ ldr fp,[fp,3]
+ ldr sp,[sp,1]
+ ldr r0,[sp,0]
+ ldr ip,[r1,7]
+ ldr fp,[r1,1]
+ .text
+ .global ldrd
+ldrd:
+ ldr ip,[ip,0]
+ ldr r59,[r59,2047]
+ ldr r28,[r28,1024]
+ ldr r27,[r27,1023]
+ ldr sp,[sp,1]
+ ldr r22,[r30,975]
+ ldr r7,[r44,1361]
+ ldr r23,[r19,1855]
+ .text
+ .global ldrdx16
+ldrdx16:
+ ldrd ip,[ip,ip]
+ ldrd r4,[r3,r3]
+ ldrd r0,[r0,r0]
+ ldrd r14,[fp,fp]
+ ldrd r16,[sp,sp]
+ ldrd r30,[r2,ip]
+ ldrd r0,[fp,r3]
+ ldrd r20,[ip,lr]
+ .text
+ .global ldrdp16
+ldrdp16:
+ ldrd r4,[r3],r3
+ ldrd r16,[fp],fp
+ ldrd r20,[sp],sp
+ ldrd r10,[ip],r1
+ ldrd r30,[fp],lr
+ ldrd r62,[lr],sp
+ .text
+ .global ldrdx
+ldrdx:
+ ldrd ip,[ip,ip]
+ ldrd r58,[r59,r59]
+ ldrd r28,[r28,r28]
+ ldrd r26,[r27,r27]
+ ldrd r12,[sp,sp]
+ ldrd r32,[fp,r59]
+ ldrd r4,[r17,r6]
+ ldrd r32,[r40,r1]
+ .text
+ .global ldrdp
+ldrdp:
+ ldrd r16,[sp],sp
+ ldrd r46,[r33],r30
+ ldrd r24,[r36],r59
+ ldrd r58,[r32],r11
+ .text
+ .global ldrdd16
+ldrdd16:
+ ldrd ip,[ip,0]
+ ldrd r4,[r3,7]
+ ldrd r0,[r0,4]
+ ldrd r16,[fp,3]
+ ldrd r18,[sp,1]
+ ldrd r0,[fp,3]
+ ldrd lr,[fp,7]
+ ldrd lr,[ip,1]
+ .text
+ .global ldrdd
+ldrdd:
+ ldrd ip,[ip,0]
+ ldrd r58,[r59,2047]
+ ldrd r28,[r28,1024]
+ ldrd r2,[r27,1023]
+ ldrd r16,[sp,1]
+ ldrd r4,[r21,761]
+ ldrd lr,[r41,1553]
+ ldrd r6,[r14,1922]
+ .text
+ .global strbx16
+strbx16:
+ strb ip,[ip,ip]
+ strb r3,[r3,r3]
+ strb r0,[r0,r0]
+ strb fp,[fp,fp]
+ strb sp,[sp,sp]
+ strb r1,[lr,r3]
+ strb ip,[r3,lr]
+ strb lr,[ip,ip]
+ .text
+ .global strbx
+strbx:
+ strb ip,[ip,ip]
+ strb r59,[r59,r59]
+ strb r28,[r28,r28]
+ strb r27,[r27,r27]
+ strb sp,[sp,sp]
+ strb r50,[r15,sp]
+ strb lr,[fp,r52]
+ strb r14,[r24,r51]
+ .text
+ .global strbp16
+strbp16:
+ strb ip,[ip],ip
+ strb r3,[r3],r3
+ strb r0,[r0],r0
+ strb fp,[fp],fp
+ strb sp,[sp],sp
+ strb r2,[fp],ip
+ strb fp,[r0],r1
+ strb r2,[r2],r3
+ .text
+ .global strbp
+strbp:
+ strb ip,[ip],ip
+ strb r59,[r59],r59
+ strb r28,[r28],r28
+ strb r27,[r27],r27
+ strb sp,[sp],sp
+ strb r14,[r51],r2
+ strb r6,[r44],r50
+ strb r44,[r9],r49
+ .text
+ .global strbd16
+strbd16:
+ strb ip,[ip,0]
+ strb r3,[r3,7]
+ strb r0,[r0,4]
+ strb fp,[fp,3]
+ strb sp,[sp,1]
+ strb r0,[r2,1]
+ strb sp,[r2,3]
+ strb fp,[r2,4]
+ .text
+ .global strbd
+strbd:
+ strb ip,[ip,0]
+ strb r59,[r59,2047]
+ strb r28,[r28,1024]
+ strb r27,[r27,1023]
+ strb sp,[sp,1]
+ strb r23,[r10,1404]
+ strb r12,[r35,1461]
+ strb r54,[r58,1090]
+ .text
+ .global strhx16
+strhx16:
+ strh ip,[ip,ip]
+ strh r3,[r3,r3]
+ strh r0,[r0,r0]
+ strh fp,[fp,fp]
+ strh sp,[sp,sp]
+ strh r0,[r3,r1]
+ strh r1,[fp,r2]
+ strh r3,[r3,fp]
+ .text
+ .global strhx
+strhx:
+ strh ip,[ip,ip]
+ strh r59,[r59,r59]
+ strh r28,[r28,r28]
+ strh r27,[r27,r27]
+ strh sp,[sp,sp]
+ strh r16,[r38,r31]
+ strh r32,[r12,r28]
+ strh r57,[r11,r9]
+ .text
+ .global strhp16
+strhp16:
+ strh ip,[ip],ip
+ strh r3,[r3],r3
+ strh r0,[r0],r0
+ strh fp,[fp],fp
+ strh sp,[sp],sp
+ strh r0,[r2],sp
+ strh sp,[r3],r0
+ strh r1,[r0],r0
+ .text
+ .global strhp
+strhp:
+ strh ip,[ip],ip
+ strh r59,[r59],r59
+ strh r28,[r28],r28
+ strh r27,[r27],r27
+ strh sp,[sp],sp
+ strh r3,[r37],r54
+ strh r4,[r54],r25
+ strh r5,[r32],r25
+ .text
+ .global strhd16
+strhd16:
+ strh ip,[ip,0]
+ strh r3,[r3,7]
+ strh r0,[r0,4]
+ strh fp,[fp,3]
+ strh sp,[sp,1]
+ strh r3,[r0,3]
+ strh lr,[ip,7]
+ strh r3,[r2,7]
+ .text
+ .global strhd
+strhd:
+ strh ip,[ip,0]
+ strh r59,[r59,2047]
+ strh r28,[r28,1024]
+ strh r27,[r27,1023]
+ strh sp,[sp,1]
+ strh r7,[r38,1181]
+ strh r25,[r4,77]
+ strh r11,[fp,631]
+ .text
+ .global strx16
+strx16:
+ str ip,[ip,ip]
+ str r3,[r3,r3]
+ str r0,[r0,r0]
+ str fp,[fp,fp]
+ str sp,[sp,sp]
+ str lr,[r3,r3]
+ str r3,[fp,r0]
+ str ip,[sp,r1]
+ .text
+ .global strx
+strx:
+ str ip,[ip,ip]
+ str r59,[r59,r59]
+ str r28,[r28,r28]
+ str r27,[r27,r27]
+ str sp,[sp,sp]
+ str r53,[r29,r28]
+ str r30,[r22,r34]
+ str r28,[r28,r44]
+ .text
+ .global strp16
+strp16:
+ str ip,[ip],ip
+ str r3,[r3],r3
+ str r0,[r0],r0
+ str fp,[fp],fp
+ str sp,[sp],sp
+ str lr,[r0],r0
+ str fp,[r0],sp
+ str r3,[fp],r0
+ .text
+ .global strp
+strp:
+ str ip,[ip],ip
+ str r59,[r59],r59
+ str r28,[r28],r28
+ str r27,[r27],r27
+ str sp,[sp],sp
+ str r22,[r36],r15
+ str r44,[r13],r47
+ str r19,[r48],sp
+ .text
+ .global strd16
+strd16:
+ str ip,[ip,0]
+ str r3,[r3,7]
+ str r0,[r0,4]
+ str fp,[fp,3]
+ str sp,[sp,1]
+ str r3,[fp,3]
+ str sp,[ip,6]
+ str r1,[lr,3]
+ .text
+ .global strd
+strd:
+ str ip,[ip,0]
+ str r59,[r59,2047]
+ str r28,[r28,1024]
+ str r27,[r27,1023]
+ str sp,[sp,1]
+ str r45,[r44,74]
+ str r58,[r50,370]
+ str r40,[r3,626]
+ .text
+ .global strdx16
+strdx16:
+ strd ip,[ip,ip]
+ strd r2,[r3,r3]
+ strd r0,[r0,r0]
+ strd r16,[fp,fp]
+ strd r18,[sp,sp]
+ strd ip,[r3,r1]
+ strd r2,[lr,fp]
+ strd ip,[r2,r2]
+ .text
+ .global strdx
+strdx:
+ strd ip,[ip,ip]
+ strd r58,[r59,r59]
+ strd r28,[r28,r28]
+ strd r26,[r27,r27]
+ strd r14,[sp,sp]
+ strd r38,[r53,lr]
+ strd r24,[r19,r43]
+ strd r12,[r10,r30]
+ .text
+ .global strdp16
+strdp16:
+ strd ip,[ip],ip
+ strd r2,[r3],r3
+ strd r0,[r0],r0
+ strd r6,[fp],fp
+ strd r4,[sp],sp
+ strd r2,[r3],r0
+ strd r2,[r0],r1
+ strd r2,[lr],r1
+ .text
+ .global strdp
+strdp:
+ strd ip,[ip],ip
+ strd r58,[r59],r59
+ strd r28,[r28],r28
+ strd r26,[r27],r27
+ strd r22,[sp],sp
+ strd r6,[r10],r44
+ strd r10,[r43],r5
+ strd r46,[r17],lr
+ .text
+ .global strdd16
+strdd16:
+ strd r0,[ip,0]
+ strd r2,[r3,7]
+ strd r0,[r0,4]
+ strd r2,[fp,3]
+ strd r4,[sp,1]
+ strd r2,[r2,5]
+ strd r6,[r3,7]
+ strd r6,[r1,2]
+ .text
+ .global strdd
+strdd:
+ strd ip,[ip,0]
+ strd r58,[r59,2047]
+ strd r28,[r28,1024]
+ strd r26,[r27,1023]
+ strd r14,[sp,1]
+ strd r28,[r52,719]
+ strd r40,[r53,1994]
+ strd r44,[r57,494]
+ .text
+ .global mov16EQ
+mov16EQ:
+ moveq ip,ip
+ moveq r3,r3
+ moveq r0,r0
+ moveq fp,fp
+ moveq sp,sp
+ moveq ip,r2
+ moveq r2,fp
+ moveq fp,sp
+ .text
+ .global movEQ
+movEQ:
+ moveq ip,ip
+ moveq r59,r59
+ moveq r28,r28
+ moveq r27,r27
+ moveq sp,sp
+ moveq r32,r30
+ moveq r43,r39
+ moveq r25,r33
+ .text
+ .global mov16NE
+mov16NE:
+ movne ip,ip
+ movne r3,r3
+ movne r0,r0
+ movne fp,fp
+ movne sp,sp
+ movne r3,r3
+ movne r0,fp
+ movne fp,fp
+ .text
+ .global movNE
+movNE:
+ movne ip,ip
+ movne r59,r59
+ movne r28,r28
+ movne r27,r27
+ movne sp,sp
+ movne r4,r3
+ movne r28,fp
+ movne r23,r39
+ .text
+ .global mov16GT
+mov16GT:
+ movgt ip,ip
+ movgt r3,r3
+ movgt r0,r0
+ movgt fp,fp
+ movgt sp,sp
+ movgt r1,r3
+ movgt lr,r3
+ movgt r1,ip
+ .text
+ .global movGT
+movGT:
+ movgt ip,ip
+ movgt r59,r59
+ movgt r28,r28
+ movgt r27,r27
+ movgt sp,sp
+ movgt r1,r21
+ movgt r13,r3
+ movgt r28,r43
+ .text
+ .global mov16GTU
+mov16GTU:
+ movgtu ip,ip
+ movgtu r3,r3
+ movgtu r0,r0
+ movgtu fp,fp
+ movgtu sp,sp
+ movgtu ip,lr
+ movgtu sp,ip
+ movgtu ip,sp
+ .text
+ .global movGTU
+movGTU:
+ movgtu ip,ip
+ movgtu r59,r59
+ movgtu r28,r28
+ movgtu r27,r27
+ movgtu sp,sp
+ movgtu r34,r33
+ movgtu r17,r48
+ movgtu r35,r24
+ .text
+ .global mov16GTE
+mov16GTE:
+ movgte ip,ip
+ movgte r3,r3
+ movgte r0,r0
+ movgte fp,fp
+ movgte sp,sp
+ movgte r0,r0
+ movgte r2,sp
+ movgte lr,r2
+ .text
+ .global movGTE
+movGTE:
+ movgte ip,ip
+ movgte r59,r59
+ movgte r28,r28
+ movgte r27,r27
+ movgte sp,sp
+ movgte ip,r59
+ movgte r37,r42
+ movgte r44,r26
+ .text
+ .global mov16GTEU
+mov16GTEU:
+ movgteu ip,ip
+ movgteu r3,r3
+ movgteu r0,r0
+ movgteu fp,fp
+ movgteu sp,sp
+ movgteu lr,ip
+ movgteu sp,r1
+ movgteu ip,lr
+ .text
+ .global movGTEU
+movGTEU:
+ movgteu ip,ip
+ movgteu r59,r59
+ movgteu r28,r28
+ movgteu r27,r27
+ movgteu sp,sp
+ movgteu r58,r47
+ movgteu r56,r5
+ movgteu r20,r52
+ .text
+ .global mov16LT
+mov16LT:
+ movlt ip,ip
+ movlt r3,r3
+ movlt r0,r0
+ movlt fp,fp
+ movlt sp,sp
+ movlt r3,r3
+ movlt r2,r2
+ movlt ip,lr
+ .text
+ .global movLT
+movLT:
+ movlt ip,ip
+ movlt r59,r59
+ movlt r28,r28
+ movlt r27,r27
+ movlt sp,sp
+ movlt r52,r12
+ movlt r57,r22
+ movlt r8,r7
+ .text
+ .global mov16LTU
+mov16LTU:
+ movltu ip,ip
+ movltu r3,r3
+ movltu r0,r0
+ movltu fp,fp
+ movltu sp,sp
+ movltu ip,r2
+ movltu sp,ip
+ movltu r1,r0
+ .text
+ .global movLTU
+movLTU:
+ movltu ip,ip
+ movltu r59,r59
+ movltu r28,r28
+ movltu r27,r27
+ movltu sp,sp
+ movltu r13,r31
+ movltu r43,ip
+ movltu r7,r56
+ .text
+ .global mov16LTE
+mov16LTE:
+ movlte ip,ip
+ movlte r3,r3
+ movlte r0,r0
+ movlte fp,fp
+ movlte sp,sp
+ movlte r0,r3
+ movlte r3,ip
+ movlte r3,lr
+ .text
+ .global movLTE
+movLTE:
+ movlte ip,ip
+ movlte r59,r59
+ movlte r28,r28
+ movlte r27,r27
+ movlte sp,sp
+ movlte r30,r27
+ movlte r35,r52
+ movlte r15,r53
+ .text
+ .global mov16LTEU
+mov16LTEU:
+ movlteu ip,ip
+ movlteu r3,r3
+ movlteu r0,r0
+ movlteu fp,fp
+ movlteu sp,sp
+ movlteu ip,lr
+ movlteu r2,r2
+ movlteu r2,fp
+ .text
+ .global movLTEU
+movLTEU:
+ movlteu ip,ip
+ movlteu r59,r59
+ movlteu r28,r28
+ movlteu r27,r27
+ movlteu sp,sp
+ movlteu r31,r36
+ movlteu r24,r50
+ movlteu r52,r54
+ .text
+ .global mov16B
+mov16B:
+ mov ip,ip
+ mov r3,r3
+ mov r0,r0
+ mov fp,fp
+ mov sp,sp
+ mov ip,r1
+ mov ip,r0
+ mov r0,ip
+ .text
+ .global movB
+movB:
+ mov ip,ip
+ mov r59,r59
+ mov r28,r28
+ mov r27,r27
+ mov sp,sp
+ mov r1,r59
+ mov r28,r12
+ mov r5,r42
+ .text
+ .global mov16BEQ
+mov16BEQ:
+ movbeq ip,ip
+ movbeq r3,r3
+ movbeq r0,r0
+ movbeq fp,fp
+ movbeq sp,sp
+ movbeq lr,r2
+ movbeq fp,r2
+ movbeq ip,r1
+ .text
+ .global movBEQ
+movBEQ:
+ movbeq ip,ip
+ movbeq r59,r59
+ movbeq r28,r28
+ movbeq r27,r27
+ movbeq sp,sp
+ movbeq r29,r16
+ movbeq r18,r46
+ movbeq lr,r1
+ .text
+ .global mov16BNE
+mov16BNE:
+ movbne ip,ip
+ movbne r3,r3
+ movbne r0,r0
+ movbne fp,fp
+ movbne sp,sp
+ movbne r1,r2
+ movbne ip,r1
+ movbne ip,r3
+ .text
+ .global movBNE
+movBNE:
+ movbne ip,ip
+ movbne r59,r59
+ movbne r28,r28
+ movbne r27,r27
+ movbne sp,sp
+ movbne r15,r7
+ movbne r24,r43
+ movbne r23,r52
+ .text
+ .global mov16BLT
+mov16BLT:
+ movblt ip,ip
+ movblt r3,r3
+ movblt r0,r0
+ movblt fp,fp
+ movblt sp,sp
+ movblt sp,lr
+ movblt ip,lr
+ movblt lr,sp
+ .text
+ .global movBLT
+movBLT:
+ movblt ip,ip
+ movblt r59,r59
+ movblt r28,r28
+ movblt r27,r27
+ movblt sp,sp
+ movblt r52,r44
+ movblt r57,r35
+ movblt r53,r33
+ .text
+ .global mov16BLTE
+mov16BLTE:
+ movblte ip,ip
+ movblte r3,r3
+ movblte r0,r0
+ movblte fp,fp
+ movblte sp,sp
+ movblte sp,ip
+ movblte r0,fp
+ movblte r0,sp
+ .text
+ .global movBLTE
+movBLTE:
+ movblte ip,ip
+ movblte r59,r59
+ movblte r28,r28
+ movblte r27,r27
+ movblte sp,sp
+ movblte r58,r44
+ movblte r35,r22
+ movblte r8,r2
+ .text
+ .global movts16
+movts16:
+ movts config,ip
+ movts ipend,r3
+ movts iret,r0
+ movts debug,fp
+ movts status,sp
+ movts status,fp
+ movts pc,fp
+ movts imask,r0
+ .text
+ .global movts
+movts:
+ movts config,ip
+ movts ipend,r59
+ movts iret,r28
+ movts debug,r27
+ movts status,sp
+ movts debug,r50
+ movts ipend,r33
+ movts status,ip
+ .text
+ .global movfs16
+movfs16:
+ movfs ip,config
+ movfs r3,ipend
+ movfs r0,iret
+ movfs fp,debug
+ movfs sp,status
+ movfs r1,iret
+ movfs r2,status
+ movfs lr,debug
+ .text
+ .global movfs
+movfs:
+ movfs ip,config
+ movfs r59,ipend
+ movfs r28,iret
+ movfs r27,debug
+ movfs sp,status
+ movfs r13,debug
+ movfs r15,status
+ movfs r16,imask
+ .text
+ .global nop
+nop:
+ nop
+ .text
+ .global idle
+idle:
+ idle
+ .text
+ .global bkpt
+bkpt:
+ bkpt
+ .text
+ .global rti
+rti:
+ rti
+ .text
+ .global trap16
+trap16:
+ trap 0
+ trap 7
+ trap 4
+ trap 3
+ trap 1
+ trap 6
+ trap 3
+ trap 5
+ .text
+ .global add16
+add16:
+ add ip,ip,ip
+ add r3,r3,r3
+ add r0,r0,r0
+ add fp,fp,fp
+ add sp,sp,sp
+ add sp,r2,lr
+ add r0,r2,r1
+ add ip,fp,fp
+ .text
+ .global add
+add:
+ add ip,ip,ip
+ add r59,r59,r59
+ add r28,r28,r28
+ add r27,r27,r27
+ add sp,sp,sp
+ add r56,r10,r16
+ add r36,r25,r34
+ add r2,r49,r17
+ .text
+ .global sub16
+sub16:
+ sub ip,ip,ip
+ sub r3,r3,r3
+ sub r0,r0,r0
+ sub fp,fp,fp
+ sub sp,sp,sp
+ sub r2,ip,lr
+ sub lr,lr,r0
+ sub r3,r3,r3
+ .text
+ .global sub
+sub:
+ sub ip,ip,ip
+ sub r59,r59,r59
+ sub r28,r28,r28
+ sub r27,r27,r27
+ sub sp,sp,sp
+ sub ip,lr,r20
+ sub r48,r22,r47
+ sub r19,r48,r13
+ .text
+ .global and16
+and16:
+ and ip,ip,ip
+ and r3,r3,r3
+ and r0,r0,r0
+ and fp,fp,fp
+ and sp,sp,sp
+ and fp,sp,r3
+ and r3,r3,r3
+ and ip,sp,sp
+ .text
+ .global and
+and:
+ and ip,ip,ip
+ and r59,r59,r59
+ and r28,r28,r28
+ and r27,r27,r27
+ and sp,sp,sp
+ and r52,ip,r46
+ and r44,r40,r44
+ and r24,r58,r31
+ .text
+ .global orr16
+orr16:
+ orr ip,ip,ip
+ orr r3,r3,r3
+ orr r0,r0,r0
+ orr fp,fp,fp
+ orr sp,sp,sp
+ orr lr,r1,sp
+ orr r3,lr,lr
+ orr r2,r3,r2
+ .text
+ .global orr
+orr:
+ orr ip,ip,ip
+ orr r59,r59,r59
+ orr r28,r28,r28
+ orr r27,r27,r27
+ orr sp,sp,sp
+ orr r52,r5,r59
+ orr r15,r32,r43
+ orr r56,r29,r44
+ .text
+ .global eor16
+eor16:
+ eor ip,ip,ip
+ eor r3,r3,r3
+ eor r0,r0,r0
+ eor fp,fp,fp
+ eor sp,sp,sp
+ eor ip,r3,r2
+ eor r3,sp,r2
+ eor fp,sp,r2
+ .text
+ .global eor
+eor:
+ eor ip,ip,ip
+ eor r59,r59,r59
+ eor r28,r28,r28
+ eor r27,r27,r27
+ eor sp,sp,sp
+ eor r17,r56,r29
+ eor sp,r41,r27
+ eor r11,r10,r43
+ .text
+ .global asr16
+asr16:
+ asr ip,ip,ip
+ asr r3,r3,r3
+ asr r0,r0,r0
+ asr fp,fp,fp
+ asr sp,sp,sp
+ asr r3,r0,r3
+ asr r3,r1,lr
+ asr r0,fp,sp
+ .text
+ .global asr
+asr:
+ asr ip,ip,ip
+ asr r59,r59,r59
+ asr r28,r28,r28
+ asr r27,r27,r27
+ asr sp,sp,sp
+ asr r34,r9,r25
+ asr r51,r17,r33
+ asr ip,r7,r11
+ .text
+ .global lsr16
+lsr16:
+ lsr ip,ip,ip
+ lsr r3,r3,r3
+ lsr r0,r0,r0
+ lsr fp,fp,fp
+ lsr sp,sp,sp
+ lsr sp,r3,fp
+ lsr fp,r1,lr
+ lsr lr,r2,r2
+ .text
+ .global lsr
+lsr:
+ lsr ip,ip,ip
+ lsr r59,r59,r59
+ lsr r28,r28,r28
+ lsr r27,r27,r27
+ lsr sp,sp,sp
+ lsr r6,r25,r19
+ lsr r12,r54,r32
+ lsr r13,sp,ip
+ .text
+ .global lsl16
+lsl16:
+ lsl ip,ip,ip
+ lsl r3,r3,r3
+ lsl r0,r0,r0
+ lsl fp,fp,fp
+ lsl sp,sp,sp
+ lsl ip,ip,ip
+ lsl lr,r1,ip
+ lsl lr,sp,r3
+ .text
+ .global lsl
+lsl:
+ lsl ip,ip,ip
+ lsl r59,r59,r59
+ lsl r28,r28,r28
+ lsl r27,r27,r27
+ lsl sp,sp,sp
+ lsl r36,r43,r15
+ lsl r34,r39,r37
+ lsl r23,r33,r29
+ .text
+ .global addi16
+addi16:
+ add ip,ip,0
+ add r3,r3,7
+ add r0,r0,4
+ add fp,fp,3
+ add sp,sp,1
+ add r3,r1,1
+ add r1,fp,3
+ add r0,fp,7
+ .text
+ .global addi
+addi:
+ add ip,ip,0
+ add r59,r59,1023
+ add r28,r28,047
+ add r27,r27,1023
+ add sp,sp,1
+ add r49,r28,165
+ add r31,r2,623
+ add r16,r9,945
+ .text
+ .global subi16
+subi16:
+ sub ip,ip,0
+ sub r3,r3,7
+ sub r0,r0,4
+ sub fp,fp,3
+ sub sp,sp,1
+ sub ip,r3,2
+ sub lr,r3,4
+ sub ip,r2,1
+ .text
+ .global subi
+subi:
+ sub ip,ip,0
+ sub r59,r59,-2047
+ sub r28,r28,1023
+ sub r27,r27,1022
+ sub sp,sp,1
+ sub r51,r6,836
+ sub r47,r40,772
+ sub r55,r4,488
+ .text
+ .global lsri16
+lsri16:
+ lsr ip,ip,0
+ lsr r3,r3,31
+ lsr r0,r0,16
+ lsr fp,fp,15
+ lsr sp,sp,1
+ lsr r0,r3,6
+ lsr r1,r2,8
+ lsr fp,lr,14
+ .text
+ .global lsri32
+lsri32:
+ lsr ip,ip,0
+ lsr r59,r59,31
+ lsr r28,r28,16
+ lsr r27,r27,15
+ lsr sp,sp,1
+ lsr r30,r48,19
+ lsr r43,r7,23
+ lsr r28,r2,28
+ .text
+ .global lsli16
+lsli16:
+ lsl ip,ip,0
+ lsl r3,r3,31
+ lsl r0,r0,16
+ lsl fp,fp,15
+ lsl sp,sp,1
+ lsl r2,r3,11
+ lsl lr,r2,6
+ lsl r0,r2,16
+ .text
+ .global lsli32
+lsli32:
+ lsl ip,ip,0
+ lsl r59,r59,31
+ lsl r28,r28,16
+ lsl r27,r27,15
+ lsl sp,sp,1
+ lsl r56,r51,19
+ lsl r17,r39,19
+ lsl r2,r12,12
+ .text
+ .global asri16
+asri16:
+ asr ip,ip,0
+ asr r3,r3,31
+ asr r0,r0,16
+ asr fp,fp,15
+ asr sp,sp,1
+ asr lr,ip,21
+ asr r3,r3,22
+ asr r3,r3,9
+ .text
+ .global asri32
+asri32:
+ asr ip,ip,0
+ asr r59,r59,31
+ asr r28,r28,16
+ asr r27,r27,15
+ asr sp,sp,1
+ asr r52,r46,17
+ asr r23,r56,22
+ asr r21,r46,28
+ .text
+ .global mov8
+mov8:
+ mov ip,0
+ mov r3,255
+ mov r0,128
+ mov fp,127
+ mov sp,1
+ mov lr,91
+ mov r0,77
+ mov fp,10
+ .text
+ .global mov16
+mov16:
+ mov ip,0
+ mov r59,65535
+ mov r28,32768
+ mov r27,32767
+ mov sp,1
+ mov r53,61169
+ mov r18,52207
+ mov r16,36386
+ .text
+ .global faddf16
+faddf16:
+ fadd ip,ip,ip
+ fadd r3,r3,r3
+ fadd r0,r0,r0
+ fadd fp,fp,fp
+ fadd sp,sp,sp
+ fadd sp,ip,r2
+ fadd sp,r2,r2
+ fadd sp,lr,fp
+ .text
+ .global faddf32
+faddf32:
+ fadd ip,ip,ip
+ fadd r59,r59,r59
+ fadd r28,r28,r28
+ fadd r27,r27,r27
+ fadd sp,sp,sp
+ fadd r13,r29,r39
+ fadd r32,r40,r3
+ fadd r40,r29,lr
+ .text
+ .global fsubf16
+fsubf16:
+ fsub ip,ip,ip
+ fsub r3,r3,r3
+ fsub r0,r0,r0
+ fsub fp,fp,fp
+ fsub sp,sp,sp
+ fsub r2,lr,sp
+ fsub r3,r1,ip
+ fsub r3,ip,r2
+ .text
+ .global fsubf32
+fsubf32:
+ fsub ip,ip,ip
+ fsub r59,r59,r59
+ fsub r28,r28,r28
+ fsub r27,r27,r27
+ fsub sp,sp,sp
+ fsub r1,r56,r11
+ fsub r3,r22,r15
+ fsub r6,r48,r45
+ .text
+ .global fmulf16
+fmulf16:
+ fmul ip,ip,ip
+ fmul r3,r3,r3
+ fmul r0,r0,r0
+ fmul fp,fp,fp
+ fmul sp,sp,sp
+ fmul r3,ip,fp
+ fmul lr,r1,r2
+ fmul sp,lr,lr
+ .text
+ .global fmulf32
+fmulf32:
+ fmul ip,ip,ip
+ fmul r59,r59,r59
+ fmul r28,r28,r28
+ fmul r27,r27,r27
+ fmul sp,sp,sp
+ fmul r58,r23,r51
+ fmul r22,r2,r47
+ fmul r46,r14,r10
+ .text
+ .global fmaddf16
+fmaddf16:
+ fmadd ip,ip,ip
+ fmadd r3,r3,r3
+ fmadd r0,r0,r0
+ fmadd fp,fp,fp
+ fmadd sp,sp,sp
+ fmadd sp,r1,r3
+ fmadd r3,r3,r0
+ fmadd r2,ip,ip
+ .text
+ .global fmaddf32
+fmaddf32:
+ fmadd ip,ip,ip
+ fmadd r59,r59,r59
+ fmadd r28,r28,r28
+ fmadd r27,r27,r27
+ fmadd sp,sp,sp
+ fmadd r28,r54,r32
+ fmadd r12,r2,fp
+ fmadd fp,r40,r22
+ .text
+ .global fmsubf16
+fmsubf16:
+ fmsub ip,ip,ip
+ fmsub r3,r3,r3
+ fmsub r0,r0,r0
+ fmsub fp,fp,fp
+ fmsub sp,sp,sp
+ fmsub sp,fp,r1
+ fmsub r1,fp,sp
+ fmsub r0,r3,r0
+ .text
+ .global fmsubf32
+fmsubf32:
+ fmsub ip,ip,ip
+ fmsub r59,r59,r59
+ fmsub r28,r28,r28
+ fmsub r27,r27,r27
+ fmsub sp,sp,sp
+ fmsub r42,r20,r9
+ fmsub r22,r24,r42
+ fmsub r15,r22,r19
+
+;; add some negative displacement ld/store
+ ldr r1,[r2,-12]
+ strh r22,[r30,-2047]
+ ldrd r12,[r14,2047]
+
+;; add bitr
+ bitr r1,r0
+ bitr r31,r15
diff --git a/gas/testsuite/gas/epiphany/badpostmod.s b/gas/testsuite/gas/epiphany/badpostmod.s
new file mode 100644
index 0000000000..7a55860b73
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/badpostmod.s
@@ -0,0 +1,14 @@
+ .text
+ .global postmod
+postmod:
+ ldrd r0,[r1],r2 ; tricky because r1 is implied as destination
+
+ strb r12,[r12],r3 ; stores are okay
+ strd r12,[r13],r3
+
+ ldr r0,[r0],r0 ; ERROR
+
+ ldr r0,[r0,+128] ; ok
+ ldrd r12,[r13],-256 ; ERROR
+ ldrb r12,[r12],20 ; ERROR
+ strd r12,[r13],-256 ; ok
diff --git a/gas/testsuite/gas/epiphany/badrelax.d b/gas/testsuite/gas/epiphany/badrelax.d
new file mode 100644
index 0000000000..9e74d86824
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/badrelax.d
@@ -0,0 +1,12 @@
+#as:
+#objdump: -dr
+#name: badrelax
+
+.*\.o: file format elf32-epiphany
+
+
+Disassembly of section \.text:
+
+00000000 \<xxx\>:
+ 0: 01f0 bl 2 \<xxx\+0x2\>
+ 2: 013b 0000 sub r0,r0,2
diff --git a/gas/testsuite/gas/epiphany/badrelax.s b/gas/testsuite/gas/epiphany/badrelax.s
new file mode 100644
index 0000000000..26eaf50d75
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/badrelax.s
@@ -0,0 +1,5 @@
+ .text
+ .global xxx
+xxx:
+ bl 1f
+1: sub r0,r0,1b-xxx
diff --git a/gas/testsuite/gas/epiphany/branch_lit.d b/gas/testsuite/gas/epiphany/branch_lit.d
new file mode 100644
index 0000000000..8f8e6e47fa
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/branch_lit.d
@@ -0,0 +1,11 @@
+#as:
+#objdump: -dr
+#name: branch_lit
+
+.*.o: file format elf32-epiphany
+
+
+Disassembly of section \.text:
+
+00000000 \<\.text\>:
+ 0: 8008 0000 beq 0x100
diff --git a/gas/testsuite/gas/epiphany/branch_lit.s b/gas/testsuite/gas/epiphany/branch_lit.s
new file mode 100644
index 0000000000..47f77c0791
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/branch_lit.s
@@ -0,0 +1 @@
+ beq 256
diff --git a/gas/testsuite/gas/epiphany/regression.d b/gas/testsuite/gas/epiphany/regression.d
new file mode 100644
index 0000000000..1bb680fc13
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/regression.d
@@ -0,0 +1,300 @@
+#as:
+#objdump: -dr
+#name: regression
+
+.*\.o: file format elf32-epiphany
+
+
+Disassembly of section \.text:
+
+00000000 \<START\>:
+ 0: 000b 0802 mov r0,0x8000
+ 4: 0056 lsl r0,r0,0x2
+ 6: c0c3 mov r6,0x6
+ 8: 6063 mov r3,0x3
+ a: ff1f fc0a add.l r63,r63,r6
+ e: fd1f fc0a add.l r63,r63,r2
+ 12: dc0b e072 mov r62,0x7e0
+ 16: ff3f ff8a sub.l r63,r63,r62
+ 1a: 0300 beq 20 \<BRANCH1\>
+ 1c: 0023 mov r0,0x1
+ 1e: 0fe2 trap 0x3
+
+00000020 \<BRANCH1\>:
+ 20: 0900 beq 32 \<BRANCH2\>
+ 22: 0023 mov r0,0x1
+ 24: 0fe2 trap 0x3
+ 26: 0023 mov r0,0x1
+ 28: 0fe2 trap 0x3
+ 2a: 0023 mov r0,0x1
+ 2c: 0fe2 trap 0x3
+ 2e: 0023 mov r0,0x1
+ 30: 0fe2 trap 0x3
+
+00000032 \<BRANCH2\>:
+ 32: 1c10 bne 6a \<FAIL_BRANCH\>
+
+00000034 \<BRANCH3\>:
+ 34: 1b60 bgt 6a \<FAIL_BRANCH\>
+
+00000036 \<BRANCH4\>:
+ 36: 0370 bgte 3c \<BRANCH5\>
+ 38: 0023 mov r0,0x1
+ 3a: 0fe2 trap 0x3
+
+0000003c \<BRANCH5\>:
+ 3c: 0390 blte 42 \<BRANCH6\>
+ 3e: 0023 mov r0,0x1
+ 40: 0fe2 trap 0x3
+
+00000042 \<BRANCH6\>:
+ 42: 1480 blt 6a \<FAIL_BRANCH\>
+
+00000044 \<BRANCH8\>:
+ 44: efe8 0000 b 222 \<LONGJUMP\>
+ 48: 0023 mov r0,0x1
+ 4a: 0fe2 trap 0x3
+
+0000004c \<RETURN\>:
+ 4c: edf8 0000 bl 226 \<FUNCTION\>
+ 50: e00b e002 mov r63,0x0
+ 50: R_EPIPHANY_LOW \.text\+0x5c
+ 54: 1d4f 1c02 jr r63
+ 58: 0023 mov r0,0x1
+ 5a: 0fe2 trap 0x3
+
+0000005c \<JARLAB\>:
+ 5c: e00b e002 mov r63,0x0
+ 5c: R_EPIPHANY_LOW \.text\+0x226
+ 60: 1d5f 1c02 jalr r63
+ 64: 05e0 b 6e \<NEXT\>
+ 66: 0023 mov r0,0x1
+ 68: 0fe2 trap 0x3
+
+0000006a \<FAIL_BRANCH\>:
+ 6a: 0023 mov r0,0x1
+ 6c: 0fe2 trap 0x3
+
+0000006e \<NEXT\>:
+ 6e: 8014 strb r4,\[r0\]
+ 70: e00c e000 ldrb r63,\[r0\]
+ 74: fe3f fc0a sub.l r63,r63,r4
+ 78: 0300 beq 7e \<STOREB\>
+ 7a: 0023 mov r0,0x1
+ 7c: 0fe2 trap 0x3
+
+0000007e \<STOREB\>:
+ 7e: a39c 0001 strb.l r5,\[r0,\+0xf\]
+ 82: e38c e001 ldrb.l r63,\[r0,\+0xf\]
+ 86: febf fc0a sub.l r63,r63,r5
+ 8a: 0300 beq 90 \<STORES\>
+ 8c: 0023 mov r0,0x1
+ 8e: 0fe2 trap 0x3
+
+00000090 \<STORES\>:
+ 90: 8034 strh r4,\[r0\]
+ 92: e02c e000 ldrh r63,\[r0\]
+ 96: fe3f fc0a sub.l r63,r63,r4
+ 9a: 0300 beq a0 \<STORES2\>
+ 9c: 0023 mov r0,0x1
+ 9e: 0fe2 trap 0x3
+
+000000a0 \<STORES2\>:
+ a0: a33c 0001 strh.l r5,\[r0,\+0xe\]
+ a4: e32c e001 ldrh.l r63,\[r0,\+0xe\]
+ a8: febf fc0a sub.l r63,r63,r5
+ ac: 0300 beq b2 \<STORE\>
+ ae: 0023 mov r0,0x1
+ b0: 0fe2 trap 0x3
+
+000000b2 \<STORE\>:
+ b2: 8054 str r4,\[r0\]
+ b4: e04c e000 ldr r63,\[r0\]
+ b8: fe3f fc0a sub.l r63,r63,r4
+ bc: 0300 beq c2 \<STORE2\>
+ be: 0023 mov r0,0x1
+ c0: 0fe2 trap 0x3
+
+000000c2 \<STORE2\>:
+ c2: a25c 0001 str.l r5,\[r0,\+0xc\]
+ c6: e24c e001 ldr.l r63,\[r0,\+0xc\]
+ ca: febf fc0a sub.l r63,r63,r5
+ ce: 0300 beq d4 \<STOREBI\>
+ d0: 0023 mov r0,0x1
+ d2: 0fe2 trap 0x3
+
+000000d4 \<STOREBI\>:
+ d4: 8211 strb r4,\[r0,r4\]
+ d6: e209 e000 ldrb.l r63,\[r0,\+r4\]
+ da: fe3f fc0a sub.l r63,r63,r4
+ de: 0300 beq e4 \<STORESI\>
+ e0: 0023 mov r0,0x1
+ e2: 0fe2 trap 0x3
+
+000000e4 \<STORESI\>:
+ e4: a231 strh r5,\[r0,r4\]
+ e6: e229 e000 ldrh.l r63,\[r0,\+r4\]
+ ea: febf fc0a sub.l r63,r63,r5
+ ee: 0300 beq f4 \<STOREI\>
+ f0: 0023 mov r0,0x1
+ f2: 0fe2 trap 0x3
+
+000000f4 \<STOREI\>:
+ f4: c251 str r6,\[r0,r4\]
+ f6: e249 e000 ldr.l r63,\[r0,\+r4\]
+ fa: ff3f fc0a sub.l r63,r63,r6
+ fe: 0300 beq 104 \<PMB\>
+ 100: 0023 mov r0,0x1
+ 102: 0fe2 trap 0x3
+
+00000104 \<PMB\>:
+ 104: 8215 strb r4,\[r0\],r4
+ 106: 023b 0000 sub r0,r0,4
+ 10a: e20d e000 ldrb.l r63,\[r0\],\+r4
+ 10e: 023b 0000 sub r0,r0,4
+ 112: fe3f fc0a sub.l r63,r63,r4
+ 116: 0300 beq 11c \<PMS\>
+ 118: 0023 mov r0,0x1
+ 11a: 0fe2 trap 0x3
+
+0000011c \<PMS\>:
+ 11c: a235 strh r5,\[r0\],r4
+ 11e: 023b 0000 sub r0,r0,4
+ 122: e22d e000 ldrh.l r63,\[r0\],\+r4
+ 126: febf fc0a sub.l r63,r63,r5
+ 12a: 0300 beq 130 \<PM\>
+ 12c: 0023 mov r0,0x1
+ 12e: 0fe2 trap 0x3
+
+00000130 \<PM\>:
+ 130: 023b 0000 sub r0,r0,4
+ 134: c255 str r6,\[r0\],r4
+ 136: 023b 0000 sub r0,r0,4
+ 13a: e24d e000 ldr.l r63,\[r0\],\+r4
+ 13e: 023b 0000 sub r0,r0,4
+ 142: ff3f fc0a sub.l r63,r63,r6
+ 146: 0300 beq 14c \<MOVLAB\>
+ 148: 0023 mov r0,0x1
+ 14a: 0fe2 trap 0x3
+
+0000014c \<MOVLAB\>:
+ 14c: ffeb e002 mov r63,0xff
+ 150: 3fe3 mov r1,0xff
+ 152: fcbf fc0a sub.l r63,r63,r1
+ 156: 0300 beq 15c \<ADDLAB\>
+ 158: 0023 mov r0,0x1
+ 15a: 0fe2 trap 0x3
+
+0000015c \<ADDLAB\>:
+ 15c: e99b e000 add r63,r2,3
+ 160: febb fc00 sub r63,r63,5
+ 164: 0300 beq 16a \<SUBLAB\>
+ 166: 0023 mov r0,0x1
+ 168: 0fe2 trap 0x3
+
+0000016a \<SUBLAB\>:
+ 16a: e8bb e000 sub r63,r2,1
+ 16e: fcbb fc00 sub r63,r63,1
+ 172: 0300 beq 178 \<LSRLAB\>
+ 174: 0023 mov r0,0x1
+ 176: 0fe2 trap 0x3
+
+00000178 \<LSRLAB\>:
+ 178: f84f e006 lsr.l r63,r6,0x2
+ 17c: fcbb fc00 sub r63,r63,1
+ 180: 0300 beq 186 \<LSLLAB\>
+ 182: 0023 mov r0,0x1
+ 184: 0fe2 trap 0x3
+
+00000186 \<LSLLAB\>:
+ 186: ec5f e006 lsl.l r63,r3,0x2
+ 18a: fe3b fc01 sub r63,r63,12
+ 18e: 0300 beq 194 \<LSRILAB\>
+ 190: 0023 mov r0,0x1
+ 192: 0fe2 trap 0x3
+
+00000194 \<LSRILAB\>:
+ 194: f94f e00a lsr.l r63,r6,r2
+ 198: fcbb fc00 sub r63,r63,1
+ 19c: 0300 beq 1a2 \<LSLILAB\>
+ 19e: 0023 mov r0,0x1
+ 1a0: 0fe2 trap 0x3
+
+000001a2 \<LSLILAB\>:
+ 1a2: ed2f e00a lsl.l r63,r3,r2
+ 1a6: fe3b fc01 sub r63,r63,12
+ 1aa: 0300 beq 1b0 \<ORRLAB\>
+ 1ac: 0023 mov r0,0x1
+ 1ae: 0fe2 trap 0x3
+
+000001b0 \<ORRLAB\>:
+ 1b0: ae7a orr r5,r3,r4
+ 1b2: f7bb e000 sub r63,r5,7
+ 1b6: 0300 beq 1bc \<ANDLAB\>
+ 1b8: 0023 mov r0,0x1
+ 1ba: 0fe2 trap 0x3
+
+000001bc \<ANDLAB\>:
+ 1bc: ae5a and r5,r3,r4
+ 1be: f43b e000 sub r63,r5,0
+ 1c2: 0300 beq 1c8 \<EORLAB\>
+ 1c4: 0023 mov r0,0x1
+ 1c6: 0fe2 trap 0x3
+
+000001c8 \<EORLAB\>:
+ 1c8: ad0a eor r5,r3,r2
+ 1ca: f4bb e000 sub r63,r5,1
+ 1ce: 0300 beq 1d4 \<ADD3LAB\>
+ 1d0: 0023 mov r0,0x1
+ 1d2: 0fe2 trap 0x3
+
+000001d4 \<ADD3LAB\>:
+ 1d4: e99f e00a add.l r63,r2,r3
+ 1d8: febb fc00 sub r63,r63,5
+ 1dc: 0300 beq 1e2 \<SUB3LAB\>
+ 1de: 0023 mov r0,0x1
+ 1e0: 0fe2 trap 0x3
+
+000001e2 \<SUB3LAB\>:
+ 1e2: fa3f e00a sub.l r63,r6,r4
+ 1e6: fd3b fc00 sub r63,r63,2
+ 1ea: 0300 beq 1f0 \<MOVRLAB\>
+ 1ec: 0023 mov r0,0x1
+ 1ee: 0fe2 trap 0x3
+
+000001f0 \<MOVRLAB\>:
+ 1f0: e8ef e002 mov.l r63,r2
+ 1f4: fd3b fc00 sub r63,r63,2
+ 1f8: 0b00 beq 20e \<NOPLAB\>
+ 1fa: 0023 mov r0,0x1
+ 1fc: 0fe2 trap 0x3
+
+000001fe \<MOVTFLAB\>:
+ 1fe: 0502 movts status,r0
+ 200: e51f e002 movfs.l r63,status
+ 204: fc3f fc0a sub.l r63,r63,r0
+ 208: fb00 beq 1fe \<MOVTFLAB\>
+ 20a: 0023 mov r0,0x1
+ 20c: 0fe2 trap 0x3
+
+0000020e \<NOPLAB\>:
+ 20e: 01a2 nop
+ 210: 01a2 nop
+ 212: 01a2 nop
+ 214: 01a2 nop
+
+00000216 \<PASSED\>:
+ 216: 0003 mov r0,0x0
+ 218: 0fe2 trap 0x3
+ 21a: 01b2 idle
+
+0000021c \<FAILED\>:
+ 21c: 0023 mov r0,0x1
+ 21e: 0fe2 trap 0x3
+ 220: 01b2 idle
+
+00000222 \<LONGJUMP\>:
+ 222: 15e8 ffff b 4c \<RETURN\>
+
+00000226 \<FUNCTION\>:
+ 226: 194f 0402 rts
diff --git a/gas/testsuite/gas/epiphany/regression.s b/gas/testsuite/gas/epiphany/regression.s
new file mode 100644
index 0000000000..7ed5691a74
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/regression.s
@@ -0,0 +1,240 @@
+;; -*-asm-*-
+
+ TABLE=0x8000
+ RZ=r63
+
+ .macro FAIL
+ mov r0,#1
+ trap 3
+ .endm
+
+ .macro PASS
+ mov r0,#0
+ trap 3
+ .endm
+
+
+ .macro VERIFY ra,rb,ref,label
+ sub \ra,\rb,\ref
+ beq \label
+ FAIL
+ .endm
+
+
+/*****************************************/
+/*INITIALIZING REGISTERS */
+/*****************************************/
+/*Check that sum is correct*/
+START: MOV R0, #TABLE ; //Setting R0 to TABLE
+ LSL R0,R0,#2 ; //Create 00020000
+
+ ;; Load r1.63 with 1..63
+ .irpc num,63
+ mov r\num,#\num
+ .endr
+
+
+ ;; Sum the registers
+ .irpc num,62
+ add r63,r63,r\num
+ .endr
+
+ mov r62,#2016 ;//Correct sum of 1..63 = 63*32 + 63
+ VERIFY r63,r63,R62,BRANCH1;//CHECK SUM
+
+
+/*****************************************/
+/*BRANCHING */
+/*****************************************/
+//Check that all condition codes work
+BRANCH1: BEQ BRANCH2 ; //taken
+ FAIL ;
+ FAIL ;
+ FAIL ;
+ FAIL ;
+BRANCH2: BNE FAIL_BRANCH ; //not taken
+BRANCH3: BGT FAIL_BRANCH ; //not taken
+BRANCH4: BGTE BRANCH5 ; //taken
+ FAIL ;
+BRANCH5: BLTE BRANCH6 ; //taken
+ FAIL ;
+BRANCH6: BLT FAIL_BRANCH ; //not taken
+BRANCH8: B LONGJUMP ; //taken
+ FAIL ;
+RETURN: bl FUNCTION ; //jump to subroutine
+ MOV R63,JARLAB ;//REGISTER JUMP
+ JR R63 ;
+ FAIL ;
+JARLAB: MOV R63,FUNCTION ; //REGISTER CALL
+ JALR R63 ; //16 bit
+ B NEXT ; //jump over fail
+ FAIL ;
+
+FAIL_BRANCH: FAIL ; //fail branch
+
+/*****************************************/
+/*LOAD-STORE DISPLACEMENT */
+/*****************************************/
+//Check max displacement value(0xf)
+//Check that offset is correct
+//all load/stores are aligned
+//this gives greater range(2 more bits)
+//offset is shifted by 2x bits
+
+NEXT: STRB R4,[R0,#0x0] ;//Store Byte
+ LDRB R63,[R0,#0x0] ;//Load Byte
+ VERIFY R63,R63,R4,STOREB ;
+
+STOREB: STRB R5,[R0,#0xf] ;//Store Byte
+ LDRB R63,[R0,#0xf] ;//Load Byte
+ VERIFY R63,R63,R5,STORES ;
+
+STORES: STRH R4,[R0,#0x0] ;//Store Short
+ LDRH R63,[R0,#0x0] ;//Load Short
+ VERIFY R63,R63,R4,STORES2 ;
+
+STORES2: STRH R5,[R0,#0xe] ;//Store Short
+ LDRH R63,[R0,#0xe] ;//Load Short
+ VERIFY R63,R63,R5,STORE ;
+
+STORE: STR R4,[R0,#0x0] ;//Store Word
+ LDR R63,[R0,#0x0] ;//Load Word
+ VERIFY R63,R63,R4,STORE2 ;
+
+STORE2: STR R5,[R0,#0xc] ;//Store Word
+ LDR R63,[R0,#0xc] ;//Load Word
+ VERIFY R63,R63,R5,STOREBI ;
+
+
+/*****************************************/
+/*LOAD-STORE INDEX */
+/*****************************************/
+
+STOREBI: STRB R4,[R0,R4] ;//Store Word
+ LDRB R63,[R0,R4] ;//Load Word
+ VERIFY R63,R63,R4,STORESI ;
+
+STORESI: STRH R5,[R0,R4] ;//Store Word
+ LDRH R63,[R0,R4] ;//Load Word
+ VERIFY R63,R63,R5,STOREI ;
+
+STOREI: STR R6,[R0,R4] ;//Store Word
+ LDR R63,[R0,R4] ;//Load Word
+ VERIFY R63,R63,R6,PMB ;
+
+/*****************************************/
+/*LOAD-STORE POSTMODIFY */
+/*****************************************/
+
+PMB: STRB R4,[R0],R4 ;//Store Word
+ SUB R0,R0,#0x4 ;//restoring R0
+ LDRB R63,[R0],R4 ;//Load Word
+ SUB R0,R0,#0x4 ;//restoring R0
+ VERIFY R63,R63,R4,PMS ;
+
+PMS: STRH R5,[R0],R4 ;//Store Word
+ SUB R0,R0,#0x4 ;//restoring R0
+ LDRH R63,[R0],R4 ;//Load Word
+ VERIFY R63,R63,R5,PM ;
+
+PM: SUB R0,R0,#0x4 ;//restoring R0
+ STR R6,[R0],R4 ;//Store Word
+ SUB R0,R0,#0x4 ;//restoring R0
+ LDR R63,[R0],R4 ;//Load Word
+ SUB R0,R0,#0x4 ;//restoring R0
+ VERIFY R63,R63,R6,MOVLAB ;
+
+
+
+/*****************************************/
+/*IMMEDIATE LOAD */
+/*****************************************/
+MOVLAB: MOV R63,#0xFF;
+ MOV R1,#0xFF;
+ VERIFY R63,R63,R1,ADDLAB ;
+
+/*****************************************/
+/*2 REG ADD/SUB PROCESSING */
+/*****************************************/
+ADDLAB: ADD R63,R2,#3; //2+3=5
+ VERIFY R63,R63,#5,SUBLAB ;
+SUBLAB: SUB R63,R2,#1; //2+1=1
+ VERIFY R63,R63,#1,LSRLAB ;
+
+/*****************************************/
+/*SHIFTS */
+/*****************************************/
+//Note ASR does not work
+
+ //Immediates
+LSRLAB: LSR R63,R6,#0x2 ; //6>>2=1
+ VERIFY R63,R63,#1,LSLLAB ;
+LSLLAB: LSL R63,R3,#0x2 ; //3<<2=12
+ VERIFY R63,R63,#12,LSRILAB ;
+ //Registers
+LSRILAB: LSR R63,R6,R2 ; //6>>2=1
+ VERIFY R63,R63,#1,LSLILAB ;
+LSLILAB: LSL R63,R3,R2 ; //3<<2=12
+ VERIFY R63,R63,#12,ORRLAB ;
+
+
+/*****************************************/
+/*LOGICAL */
+/*****************************************/
+ORRLAB: ORR R5,R3,R4 ; //0x3 | 0x4 -->0x7
+ VERIFY R63,R5,#7,ANDLAB ;
+ANDLAB: AND R5,R3,R4 ; //0x3 & 0x4 -->0
+ VERIFY R63,R5,#0,EORLAB ;
+EORLAB: EOR R5,R3,R2 ; //0x3 ^ 0x2 -->1
+ VERIFY R63,R5,#1,ADD3LAB ;
+
+
+/****************************************/
+/*3-REGISTER ADD/SUB */
+/*****************************************/
+ADD3LAB: ADD R63,R2,R3 ; //3+2=5
+ VERIFY R63,R63,#5,SUB3LAB ;
+SUB3LAB: SUB R63,R6,R4 ; //6-4=2
+ VERIFY R63,R63,#2,MOVRLAB ;
+
+/*****************************************/
+/*MOVE REGISTER */
+/*****************************************/
+MOVRLAB: MOV R63,R2 ;
+ VERIFY R63,R63,#2,NOPLAB ;
+
+/*****************************************/
+/*MOVE TO/FROM SPECIAL REGISTER */
+/*****************************************/
+MOVTFLAB: MOVTS status,R0 ;
+ MOVFS R63,status ;
+ VERIFY R63,R63,R0,MOVTFLAB ;
+
+
+/*****************************************/
+/*NOP */
+/*****************************************/
+NOPLAB: NOP ;
+ NOP ;
+ NOP ;
+ NOP ;
+
+/*****************************************/
+/*PASS INDICATOR */
+/*****************************************/
+PASSED: PASS;
+ IDLE;
+/*****************************************/
+/*FAIL INDICATOR */
+/*****************************************/
+FAILED: FAIL;
+ IDLE;
+
+/*****************************************/
+/*LONG JUMP INDICATOR */
+/*****************************************/
+LONGJUMP: B RETURN; //jump back to next
+/*****************************************/
+/*SUBROUTINE */
+/*****************************************/
+FUNCTION: RTS; //return from subroutine
diff --git a/gas/testsuite/gas/epiphany/sample.d b/gas/testsuite/gas/epiphany/sample.d
new file mode 100644
index 0000000000..17b516394e
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/sample.d
@@ -0,0 +1,221 @@
+#as:
+#objdump: -dr
+#name: sample
+.*\.o: file format elf32-epiphany
+
+Disassembly of section \.text:
+
+00000000 \<beq\>:
+ \.\.\.
+
+00000002 \<bne\>:
+ 2: ff10 bne 0 \<beq\>
+
+00000004 \<bgtu\>:
+ 4: fe20 bgtu 0 \<beq\>
+
+00000006 \<bgteu\>:
+ 6: fd30 bgteu 0 \<beq\>
+
+00000008 \<blteu\>:
+ 8: fc40 blteu 0 \<beq\>
+
+0000000a \<bltu\>:
+ a: fb50 bltu 0 \<beq\>
+
+0000000c \<bgt\>:
+ c: fa60 bgt 0 \<beq\>
+
+0000000e \<bgte\>:
+ e: f970 bgte 0 \<beq\>
+
+00000010 \<blt\>:
+ 10: f880 blt 0 \<beq\>
+
+00000012 \<blte\>:
+ 12: f790 blte 0 \<beq\>
+
+00000014 \<bbeq\>:
+ 14: f6a0 bbeq 0 \<beq\>
+
+00000016 \<bbne\>:
+ 16: f5b0 bbne 0 \<beq\>
+
+00000018 \<bblt\>:
+ 18: f4c0 bblt 0 \<beq\>
+
+0000001a \<b\>:
+ 1a: f3e0 b 0 \<beq\>
+
+0000001c \<bl\>:
+ 1c: f2f0 bl 0 \<beq\>
+
+0000001e \<jr\>:
+ 1e: 0542 jr r1
+ 20: 1d4f 0c02 jr r31
+
+00000024 \<jalr\>:
+ 24: 0552 jalr r1
+ 26: 1d5f 0c02 jalr r31
+
+0000002a \<add\>:
+ 2a: 299a add r1,r2,r3
+ 2c: 051f 920a add.l r32,r33,r34
+ 30: 2993 add r1,r2,3
+ 32: 681b 2002 add fp,r2,16
+
+00000036 \<sub\>:
+ 36: 29ba sub r1,r2,r3
+ 38: 053f 920a sub.l r32,r33,r34
+ 3c: 29b3 sub r1,r2,3
+ 3e: 683b 2002 sub fp,r2,16
+
+00000042 \<asr\>:
+ 42: 29ea asr r1,r2,r3
+ 44: 056f 920a asr.l r32,r33,r34
+ 48: 286e asr r1,r2,0x3
+ 4a: 6a0f 200e asr.l fp,r2,0x10
+
+0000004e \<lsr\>:
+ 4e: 29ca lsr r1,r2,r3
+ 50: 054f 920a lsr.l r32,r33,r34
+ 54: 2866 lsr r1,r2,0x3
+ 56: 6a0f 2006 lsr.l fp,r2,0x10
+
+0000005a \<lsl\>:
+ 5a: 29aa lsl r1,r2,r3
+ 5c: 052f 920a lsl.l r32,r33,r34
+ 60: 2876 lsl r1,r2,0x3
+ 62: 6a1f 2006 lsl.l fp,r2,0x10
+
+00000066 \<orr\>:
+ 66: 29fa orr r1,r2,r3
+ 68: 72ff 248a orr.l fp,ip,sp
+
+0000006c \<and\>:
+ 6c: 29da and r1,r2,r3
+ 6e: 72df 248a and.l fp,ip,sp
+
+00000072 \<eor\>:
+ 72: 298a eor r1,r2,r3
+ 74: 728f 248a eor.l fp,ip,sp
+ 78: 0584 ldrb r0,\[r1,0x3\]
+ 7a: 478c 201f ldrb.l sl,\[r1,\+0xff\]
+ 7e: 0501 ldrb r0,\[r1,r2\]
+ 80: 0589 0080 ldrb.l r0,\[r1,\+fp\]
+ 84: 0d05 ldrb r0,\[r3\],r2
+ 86: 528d 2480 ldrb.l sl,\[ip\],\+sp
+ 8a: 05a4 ldrh r0,\[r1,0x3\]
+ 8c: 47ac 201f ldrh.l sl,\[r1,\+0xff\]
+ 90: 0521 ldrh r0,\[r1,r2\]
+ 92: 05a9 0080 ldrh.l r0,\[r1,\+fp\]
+ 96: 0d25 ldrh r0,\[r3\],r2
+ 98: 52ad 2480 ldrh.l sl,\[ip\],\+sp
+ 9c: 05c4 ldr r0,\[r1,0x3\]
+ 9e: 47cc 201f ldr.l sl,\[r1,\+0xff\]
+ a2: 0541 ldr r0,\[r1,r2\]
+ a4: 05c9 0080 ldr.l r0,\[r1,\+fp\]
+ a8: 0d45 ldr r0,\[r3\],r2
+ aa: 52cd 2480 ldr.l sl,\[ip\],\+sp
+ ae: 05e4 ldrd r0,\[r1,0x3\]
+ b0: 47ec 201f ldrd.l sl,\[r1,\+0xff\]
+ b4: 0561 ldrd r0,\[r1,r2\]
+ b6: 05e9 0080 ldrd.l r0,\[r1,\+fp\]
+ ba: 0d65 ldrd r0,\[r3\],r2
+ bc: 52ed 2480 ldrd.l sl,\[ip\],\+sp
+ c0: 0594 strb r0,\[r1,0x3\]
+ c2: 479c 201f strb.l sl,\[r1,\+0xff\]
+ c6: 0511 strb r0,\[r1,r2\]
+ c8: 0599 0080 strb.l r0,\[r1,\+fp\]
+ cc: 0d15 strb r0,\[r3\],r2
+ ce: 529d 2480 strb.l sl,\[ip\],\+sp
+ d2: 05b4 strh r0,\[r1,0x3\]
+ d4: 47bc 201f strh.l sl,\[r1,\+0xff\]
+ d8: 0531 strh r0,\[r1,r2\]
+ da: 05b9 0080 strh.l r0,\[r1,\+fp\]
+ de: 0d35 strh r0,\[r3\],r2
+ e0: 52bd 2480 strh.l sl,\[ip\],\+sp
+ e4: 05d4 str r0,\[r1,0x3\]
+ e6: 47dc 201f str.l sl,\[r1,\+0xff\]
+ ea: 0551 str r0,\[r1,r2\]
+ ec: 05d9 0080 str.l r0,\[r1,\+fp\]
+ f0: 0d55 str r0,\[r3\],r2
+ f2: 52dd 2480 str.l sl,\[ip\],\+sp
+ f6: 05f4 strd r0,\[r1,0x3\]
+ f8: 47fc 201f strd.l sl,\[r1,\+0xff\]
+ fc: 0571 strd r0,\[r1,r2\]
+ fe: 05f9 0080 strd.l r0,\[r1,\+fp\]
+ 102: 0d75 strd r0,\[r3\],r2
+ 104: 52fd 2480 strd.l sl,\[ip\],\+sp
+
+00000108 \<mov\>:
+ 108: dfe3 mov r6,0xff
+ 10a: ffeb 6ff2 mov r31,0xffff
+ 10e: 004b 0102 mov r0,0x1002
+ 112: 2802 moveq r1,r2
+ 114: 700f 2402 moveq.l fp,ip
+ 118: 2812 movne r1,r2
+ 11a: 701f 2402 movne.l fp,ip
+ 11e: 2822 movgtu r1,r2
+ 120: 702f 2402 movgtu.l fp,ip
+ 124: 2832 movgteu r1,r2
+ 126: 703f 2402 movgteu.l fp,ip
+ 12a: 2842 movlteu r1,r2
+ 12c: 704f 2402 movlteu.l fp,ip
+ 130: 2852 movltu r1,r2
+ 132: 705f 2402 movltu.l fp,ip
+ 136: 2862 movgt r1,r2
+ 138: 706f 2402 movgt.l fp,ip
+ 13c: 2872 movgte r1,r2
+ 13e: 707f 2402 movgte.l fp,ip
+ 142: 2882 movlt r1,r2
+ 144: 708f 2402 movlt.l fp,ip
+ 148: 2892 movlte r1,r2
+ 14a: 709f 2402 movlte.l fp,ip
+ 14e: 28a2 movbeq r1,r2
+ 150: 70af 2402 movbeq.l fp,ip
+ 154: 28b2 movbne r1,r2
+ 156: 70bf 2402 movbne.l fp,ip
+ 15a: 28c2 movblt r1,r2
+ 15c: 70cf 2402 movblt.l fp,ip
+ 160: 28d2 movblte r1,r2
+ 162: 70df 2402 movblte.l fp,ip
+ 166: 28e2 mov r1,r2
+ 168: 70ef 2402 mov.l fp,ip
+
+0000016c \<nop\>:
+ 16c: 01a2 nop
+
+0000016e \<idle\>:
+ 16e: 01b2 idle
+
+00000170 \<bkpt\>:
+ 170: 01c2 bkpt
+
+00000172 \<fadd\>:
+ 172: 2987 fadd r1,r2,r3
+ 174: 728f 2487 fadd.l fp,ip,sp
+
+00000178 \<fsub\>:
+ 178: 2997 fsub r1,r2,r3
+ 17a: 729f 2487 fsub.l fp,ip,sp
+
+0000017e \<fmul\>:
+ 17e: 29a7 fmul r1,r2,r3
+ 180: 72af 2487 fmul.l fp,ip,sp
+
+00000184 \<fmadd\>:
+ 184: 29b7 fmadd r1,r2,r3
+ 186: 72bf 2487 fmadd.l fp,ip,sp
+
+0000018a \<fmsub\>:
+ 18a: 29c7 fmsub r1,r2,r3
+ 18c: 72cf 2487 fmsub.l fp,ip,sp
+ 190: 2102 movts config,r1
+ 192: e50f 6002 movts.l status,r31
+ 196: 251f 0402 movfs.l r1,imask
+ 19a: e91f 6002 movfs.l r31,pc
+
+0000019e \<trap\>:
+ 19e: 03e2 trap 0x0
+ 1a0: 01d2 rti
diff --git a/gas/testsuite/gas/epiphany/sample.s b/gas/testsuite/gas/epiphany/sample.s
new file mode 100755
index 0000000000..91f394060d
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/sample.s
@@ -0,0 +1,123 @@
+ .data
+foodata: .hword 42
+ .text
+footext:
+ .text
+
+ .macro test nm:req, args:vararg
+\nm: \nm \args
+ .global \nm
+ .endm
+
+;;; Basic Instruction Tests
+1: ; All branches
+ test beq,1b
+ test bne,1b
+ test bgtu,1b
+ test bgteu,1b
+ test blteu,1b
+ test bltu,1b
+ test bgt,1b
+ test bgte,1b
+ test blt,1b
+ test blte,1b
+
+ test bbeq,1b
+ test bbne,1b
+ test bblt,1b
+ test b,1b
+ test bl,1b
+
+;;; jumps
+ test jr,r1
+ jr r31
+
+ test jalr,r1
+ jalr r31
+
+
+ .macro test3i nm:req
+ test \nm,r1,r2,r3
+ \nm r32,r33,r34
+ \nm r1,r2,#3
+ \nm r11,r2,#16
+ .endm
+ test3i add
+ test3i sub
+ test3i asr
+ test3i lsr
+ test3i lsl
+
+ .macro test3 nm:req
+ test \nm,r1,r2,r3
+ \nm r11,r12,r13
+ .endm
+
+ test3 orr
+ test3 and
+ test3 eor
+
+ .macro testmem nm:req
+ \nm r0,[r1,#3]
+ \nm r10,[r1,#255]
+ \nm r0,[r1,r2]
+ \nm r0,[r1,r11]
+ \nm r0,[r3],r2
+ \nm r10,[r12],r13
+ .endm
+
+ testmem ldrb
+ testmem ldrh
+ testmem ldr
+ testmem ldrd
+
+
+ testmem strb
+ testmem strh
+ testmem str
+ testmem strd
+
+ test mov,r6,#255
+ mov r31,#65535
+ mov r0,#4098
+
+ .macro testmov cond:req
+ mov\cond r1,r2
+ mov\cond r11,r12
+ .endm
+
+ testmov eq
+ testmov ne
+ testmov gtu
+ testmov gteu
+ testmov lteu
+ testmov ltu
+ testmov gt
+ testmov gte
+ testmov lt
+ testmov lte
+ testmov beq
+ testmov bne
+ testmov blt
+ testmov blte
+ mov r1,r2
+ mov r11,r12
+
+ test nop
+ test idle
+ test bkpt
+
+ test3 fadd
+ test3 fsub
+ test3 fmul
+ test3 fmadd
+ test3 fmsub
+
+ movts config,r1
+ movts status,r31
+
+ movfs r1,imask
+ movfs r31,pc
+
+ test trap,#0 ; write syscall for simulator.
+ rti ; dummy instruction
OpenPOWER on IntegriCloud