This is still in the context of PR/gas 25167.
+2019-11-14  Jan Beulich  <jbeulich@suse.com>
+
+       * testsuite/gas/i386/intel-cmps.s,
+       testsuite/gas/i386/intel-movs.s: Extend.
+       * testsuite/gas/i386/intel-cmps32.d,
+       testsuite/gas/i386/intel-cmps64.d,
+       testsuite/gas/i386/intel-movs32.d,
+       testsuite/gas/i386/intel-movs64.d: Adjust expectations.
+       * testsuite/gas/i386/intel-cmps16.d,
+       testsuite/gas/i386/intel-movs16.d: New.
+       * testsuite/gas/i386/i386.exp: Run new tests.
+
 2019-11-12  Nelson Chu  <nelson.chu@sifive.com>
 
        * testsuite/gas/riscv/insn.d: Add the f extension to -march option.
 
        run_list_test "reloc32" "--defsym _bad_=1"
        run_dump_test "intel-got32"
        run_dump_test "intel-movs32"
+       run_dump_test "intel-movs16"
        run_dump_test "intel-cmps32"
+       run_dump_test "intel-cmps16"
        run_list_test "inval-equ-1" "-al"
        run_list_test "inval-equ-2" "-al"
        run_dump_test "ifunc"
 
        .text
        .intel_syntax noprefix
+.ifdef x86_16
+       .code16
+.endif
+
+.ifdef x86_64
+ .equ adi, rdi
+ .equ asi, rsi
+.else
+ .equ adi, di
+ .equ asi, si
+.endif
 
 cmps:
        cmpsb
+
        cmpsb   [esi], es:[edi]
        cmpsb   fs:[esi], es:[edi]
        cmpsb   [esi], [edi]
        cmps    [esi], byte ptr es:[edi]
        cmps    byte ptr [esi], byte ptr es:[edi]
 
+       cmpsb   [asi], es:[adi]
+       cmpsb   fs:[asi], es:[adi]
+       cmpsb   [asi], [adi]
+       cmpsb   byte ptr [asi], es:[adi]
+       cmpsb   [asi], byte ptr es:[adi]
+       cmpsb   byte ptr [asi], byte ptr es:[adi]
+       cmps    byte ptr [asi], es:[adi]
+       cmps    [asi], byte ptr es:[adi]
+       cmps    byte ptr [asi], byte ptr es:[adi]
+
        cmpsw
+
        cmpsw   [esi], es:[edi]
        cmpsw   fs:[esi], es:[edi]
        cmpsw   [esi], [edi]
        cmps    [esi], word ptr es:[edi]
        cmps    word ptr [esi], word ptr es:[edi]
 
+       cmpsw   [asi], es:[adi]
+       cmpsw   fs:[asi], es:[adi]
+       cmpsw   [asi], [adi]
+       cmpsw   word ptr [asi], es:[adi]
+       cmpsw   [asi], word ptr es:[adi]
+       cmpsw   word ptr [asi], word ptr es:[adi]
+       cmps    word ptr [asi], es:[adi]
+       cmps    [asi], word ptr es:[adi]
+       cmps    word ptr [asi], word ptr es:[adi]
+
        cmpsd
+
        cmpsd   [esi], es:[edi]
        cmpsd   fs:[esi], es:[edi]
        cmpsd   [esi], [edi]
        cmps    [esi], dword ptr es:[edi]
        cmps    dword ptr [esi], dword ptr es:[edi]
 
+       cmpsd   [asi], es:[adi]
+       cmpsd   fs:[asi], es:[adi]
+       cmpsd   [asi], [adi]
+       cmpsd   dword ptr [asi], es:[adi]
+       cmpsd   [asi], dword ptr es:[adi]
+       cmpsd   dword ptr [asi], dword ptr es:[adi]
+       cmps    dword ptr [asi], es:[adi]
+       cmps    [asi], dword ptr es:[adi]
+       cmps    dword ptr [asi], dword ptr es:[adi]
+
 .ifdef x86_64
        cmpsq
+
        cmpsq   [rsi], es:[rdi]
        cmpsq   fs:[rsi], es:[rdi]
        cmpsq   [rsi], [rdi]
        cmps    qword ptr [rsi], es:[rdi]
        cmps    [rsi], qword ptr es:[rdi]
        cmps    qword ptr [rsi], qword ptr es:[rdi]
+
+       cmpsq   [esi], es:[edi]
+       cmpsq   fs:[esi], es:[edi]
+       cmpsq   [esi], [edi]
+       cmpsq   qword ptr [esi], es:[edi]
+       cmpsq   [esi], qword ptr es:[edi]
+       cmpsq   qword ptr [esi], qword ptr es:[edi]
+       cmps    qword ptr [esi], es:[edi]
+       cmps    [esi], qword ptr es:[edi]
+       cmps    qword ptr [esi], qword ptr es:[edi]
 .endif
 
--- /dev/null
+#as: --defsym x86_16=1
+#objdump: -dMintel -Mi8086
+#source: intel-cmps.s
+#name: x86 Intel cmps (16-bit code)
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+ <cmps>:
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[esi\],(BYTE PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    64 67 a6 *      cmps +BYTE PTR fs:\[esi\],(BYTE PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[esi\],(BYTE PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[esi\],(BYTE PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[esi\],(BYTE PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[esi\],(BYTE PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[esi\],(BYTE PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[esi\],(BYTE PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[esi\],(BYTE PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    64 a6 * cmps +BYTE PTR fs:\[si\],(BYTE PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    a7 *    cmps(w *| +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    67 a7 * cmps +WORD PTR (ds:)?\[esi\],(WORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    64 67 a7 *      cmps +WORD PTR fs:\[esi\],(WORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +WORD PTR (ds:)?\[esi\],(WORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +WORD PTR (ds:)?\[esi\],(WORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +WORD PTR (ds:)?\[esi\],(WORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +WORD PTR (ds:)?\[esi\],(WORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +WORD PTR (ds:)?\[esi\],(WORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +WORD PTR (ds:)?\[esi\],(WORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +WORD PTR (ds:)?\[esi\],(WORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    a7 *    cmps(w *| +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    64 a7 * cmps +WORD PTR fs:\[si\],(WORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    a7 *    cmps(w *| +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    a7 *    cmps(w *| +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    a7 *    cmps(w *| +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    a7 *    cmps(w *| +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    a7 *    cmps(w *| +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    a7 *    cmps(w *| +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    a7 *    cmps(w *| +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    66 a7 * cmps(d *| +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +DWORD PTR (ds:)?\[esi\],(DWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    64 67 66 a7 *   cmps +DWORD PTR fs:?\[esi\],(DWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +DWORD PTR (ds:)?\[esi\],(DWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +DWORD PTR (ds:)?\[esi\],(DWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +DWORD PTR (ds:)?\[esi\],(DWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +DWORD PTR (ds:)?\[esi\],(DWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +DWORD PTR (ds:)?\[esi\],(DWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +DWORD PTR (ds:)?\[esi\],(DWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +DWORD PTR (ds:)?\[esi\],(DWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    66 a7 * cmps(d *| +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    64 66 a7 *      cmps +DWORD PTR fs:?\[si\],(DWORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    66 a7 * cmps(d *| +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    66 a7 * cmps(d *| +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    66 a7 * cmps(d *| +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    66 a7 * cmps(d *| +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    66 a7 * cmps(d *| +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    66 a7 * cmps(d *| +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\])
+[      ]*[a-f0-9]+:    66 a7 * cmps(d *| +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\])
+#pass
 
 [      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[esi\]),(BYTE PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[esi\]),(BYTE PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[esi\]),(BYTE PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    64 67 a6 *      cmps +BYTE PTR fs:\[si\],(BYTE PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[si\],(BYTE PTR )?es:\[di\]
 [      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[esi\]),(WORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[esi\]),(WORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    64 66 a7 *      cmps +WORD PTR fs:\[esi\],(WORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[esi\]),(WORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[esi\]),(WORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[esi\]),(WORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    64 67 66 a7 *   cmps +WORD PTR fs:\[si\],(WORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 66 a7 *      cmps +WORD PTR (ds:)?\[si\],(WORD PTR )?es:\[di\]
 [      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[esi\]),(DWORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[esi\]),(DWORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    64 a7 * cmps +DWORD PTR fs:?\[esi\],(DWORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[esi\]),(DWORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[esi\]),(DWORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[esi\]),(DWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    64 67 a7 *      cmps +DWORD PTR fs:?\[si\],(DWORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\]
+[      ]*[a-f0-9]+:    67 a7 * cmps +DWORD PTR (ds:)?\[si\],(DWORD PTR )?es:\[di\]
 #pass
 
 [      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[esi\],(BYTE PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[esi\],(BYTE PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    67 a6 * cmps +BYTE PTR (ds:)?\[esi\],(BYTE PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[rsi\],(BYTE PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    64 a6 * cmps +BYTE PTR fs:\[rsi\],(BYTE PTR )?es:\[rdi\]
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[rsi\],(BYTE PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[rsi\],(BYTE PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[rsi\],(BYTE PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[rsi\],(BYTE PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[rsi\],(BYTE PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[rsi\],(BYTE PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    a6 *    cmps(b *| +BYTE PTR (ds:)?\[rsi\],(BYTE PTR )?es:\[rdi\])
 [      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[rsi\]),(WORD PTR )?es:\[rdi\]
 [      ]*[a-f0-9]+:    67 66 a7 *      cmps +WORD PTR (ds:)?\[esi\],(WORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    64 67 66 a7 *   cmps +WORD PTR fs:\[esi\],(WORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    67 66 a7 *      cmps +WORD PTR (ds:)?\[esi\],(WORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    67 66 a7 *      cmps +WORD PTR (ds:)?\[esi\],(WORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    67 66 a7 *      cmps +WORD PTR (ds:)?\[esi\],(WORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[rsi\],(WORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    64 66 a7 *      cmps +WORD PTR fs:\[rsi\],(WORD PTR )?es:\[rdi\]
+[      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[rsi\],(WORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[rsi\],(WORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[rsi\],(WORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[rsi\],(WORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[rsi\],(WORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[rsi\],(WORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    66 a7 * cmps(w *| +WORD PTR (ds:)?\[rsi\],(WORD PTR )?es:\[rdi\])
 [      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[rsi\]),(DWORD PTR )?es:\[rdi\]
 [      ]*[a-f0-9]+:    67 a7 * cmps +DWORD PTR (ds:)?\[esi\],(DWORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    64 67 a7 *      cmps +DWORD PTR fs:\[esi\],(DWORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    67 a7 * cmps +DWORD PTR (ds:)?\[esi\],(DWORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    67 a7 * cmps +DWORD PTR (ds:)?\[esi\],(DWORD PTR )?es:\[edi\]
 [      ]*[a-f0-9]+:    67 a7 * cmps +DWORD PTR (ds:)?\[esi\],(DWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[rsi\],(DWORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    64 a7 * cmps +DWORD PTR fs:\[rsi\],(DWORD PTR )?es:\[rdi\]
+[      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[rsi\],(DWORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[rsi\],(DWORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[rsi\],(DWORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[rsi\],(DWORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[rsi\],(DWORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[rsi\],(DWORD PTR )?es:\[rdi\])
+[      ]*[a-f0-9]+:    a7 *    cmps(d *| +DWORD PTR (ds:)?\[rsi\],(DWORD PTR )?es:\[rdi\])
 [      ]*[a-f0-9]+:    48 a7 * cmps(q *| +QWORD PTR (ds:)?\[rsi\]),(QWORD PTR )?es:\[rdi\]
 [      ]*[a-f0-9]+:    48 a7 * cmps(q *| +QWORD PTR (ds:)?\[rsi\]),(QWORD PTR )?es:\[rdi\]
 [      ]*[a-f0-9]+:    64 48 a7 *      cmps +QWORD PTR fs:?\[rsi\],(QWORD PTR )?es:\[rdi\]
 [      ]*[a-f0-9]+:    48 a7 * cmps(q *| +QWORD PTR (ds:)?\[rsi\]),(QWORD PTR )?es:\[rdi\]
 [      ]*[a-f0-9]+:    48 a7 * cmps(q *| +QWORD PTR (ds:)?\[rsi\]),(QWORD PTR )?es:\[rdi\]
 [      ]*[a-f0-9]+:    48 a7 * cmps(q *| +QWORD PTR (ds:)?\[rsi\]),(QWORD PTR )?es:\[rdi\]
+[      ]*[a-f0-9]+:    67 48 a7 *      cmps +QWORD PTR (ds:)?\[esi\],(QWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    64 67 48 a7 *   cmps +QWORD PTR fs:?\[esi\],(QWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 48 a7 *      cmps +QWORD PTR (ds:)?\[esi\],(QWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 48 a7 *      cmps +QWORD PTR (ds:)?\[esi\],(QWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 48 a7 *      cmps +QWORD PTR (ds:)?\[esi\],(QWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 48 a7 *      cmps +QWORD PTR (ds:)?\[esi\],(QWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 48 a7 *      cmps +QWORD PTR (ds:)?\[esi\],(QWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 48 a7 *      cmps +QWORD PTR (ds:)?\[esi\],(QWORD PTR )?es:\[edi\]
+[      ]*[a-f0-9]+:    67 48 a7 *      cmps +QWORD PTR (ds:)?\[esi\],(QWORD PTR )?es:\[edi\]
 #pass
 
        .text
        .intel_syntax noprefix
+.ifdef x86_16
+       .code16
+.endif
+
+.ifdef x86_64
+ .equ adi, rdi
+ .equ asi, rsi
+.else
+ .equ adi, di
+ .equ asi, si
+.endif
 
 movs:
        movsb
+
        movsb   es:[edi], [esi]
        movsb   es:[edi], fs:[esi]
        movsb   [edi], [esi]
        movs    es:[edi], byte ptr [esi]
        movs    byte ptr es:[edi], byte ptr [esi]
 
+       movsb   es:[adi], [asi]
+       movsb   es:[adi], fs:[asi]
+       movsb   [adi], [asi]
+       movsb   byte ptr es:[adi], [asi]
+       movsb   es:[adi], byte ptr [asi]
+       movsb   byte ptr es:[adi], byte ptr [asi]
+       movs    byte ptr es:[adi], [asi]
+       movs    es:[adi], byte ptr [asi]
+       movs    byte ptr es:[adi], byte ptr [asi]
+
        movsw
+
        movsw   es:[edi], [esi]
        movsw   es:[edi], fs:[esi]
        movsw   [edi], [esi]
        movs    es:[edi], word ptr [esi]
        movs    word ptr es:[edi], word ptr [esi]
 
+       movsw   es:[adi], [asi]
+       movsw   es:[adi], fs:[asi]
+       movsw   [adi], [asi]
+       movsw   word ptr es:[adi], [asi]
+       movsw   es:[adi], word ptr [asi]
+       movsw   word ptr es:[adi], word ptr [asi]
+       movs    word ptr es:[adi], [asi]
+       movs    es:[adi], word ptr [asi]
+       movs    word ptr es:[adi], word ptr [asi]
+
        movsd
+
        movsd   es:[edi], [esi]
        movsd   es:[edi], fs:[esi]
        movsd   [edi], [esi]
        movs    es:[edi], dword ptr [esi]
        movs    dword ptr es:[edi], dword ptr [esi]
 
+       movsd   es:[adi], [asi]
+       movsd   es:[adi], fs:[asi]
+       movsd   [adi], [asi]
+       movsd   dword ptr es:[adi], [asi]
+       movsd   es:[adi], dword ptr [asi]
+       movsd   dword ptr es:[adi], dword ptr [asi]
+       movs    dword ptr es:[adi], [asi]
+       movs    es:[adi], dword ptr [asi]
+       movs    dword ptr es:[adi], dword ptr [asi]
+
 .ifdef x86_64
        movsq
+
        movsq   es:[rdi], [rsi]
        movsq   es:[rdi], fs:[rsi]
        movsq   [rdi], [rsi]
        movs    qword ptr es:[rdi], [rsi]
        movs    es:[rdi], qword ptr [rsi]
        movs    qword ptr es:[rdi], qword ptr [rsi]
+
+       movsq   es:[edi], [esi]
+       movsq   es:[edi], fs:[esi]
+       movsq   [edi], [esi]
+       movsq   qword ptr es:[edi], [esi]
+       movsq   es:[edi], qword ptr [esi]
+       movsq   qword ptr es:[edi], qword ptr [esi]
+       movs    qword ptr es:[edi], [esi]
+       movs    es:[edi], qword ptr [esi]
+       movs    qword ptr es:[edi], qword ptr [esi]
 .endif
 
--- /dev/null
+#as: --defsym x86_16=1
+#objdump: -dMintel -Mi8086
+#source: intel-movs.s
+#name: x86 Intel movs (16-bit code)
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+ <movs>:
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    64 67 a4 *      movs +BYTE PTR es:\[edi\],(BYTE PTR )?fs:\[esi\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    64 a4 * movs +BYTE PTR es:\[di\],(BYTE PTR )?fs:\[si\]
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    a5 *    movs(w *| +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    67 a5 * movs +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    64 67 a5 *      movs +WORD PTR es:\[edi\],(WORD PTR )?fs:\[esi\]
+[      ]*[a-f0-9]+:    67 a5 * movs +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 a5 * movs +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 a5 * movs +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 a5 * movs +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 a5 * movs +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 a5 * movs +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 a5 * movs +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    a5 *    movs(w *| +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    64 a5 * movs +WORD PTR es:\[di\],(WORD PTR )?fs:\[si\]
+[      ]*[a-f0-9]+:    a5 *    movs(w *| +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    a5 *    movs(w *| +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    a5 *    movs(w *| +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    a5 *    movs(w *| +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    a5 *    movs(w *| +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    a5 *    movs(w *| +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    a5 *    movs(w *| +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    66 a5 * movs(d *| +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    64 67 66 a5 *   movs +DWORD PTR es:\[edi\],(DWORD PTR )?fs:?\[esi\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    66 a5 * movs(d *| +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    64 66 a5 *      movs +DWORD PTR es:\[di\],(DWORD PTR )?fs:?\[si\]
+[      ]*[a-f0-9]+:    66 a5 * movs(d *| +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    66 a5 * movs(d *| +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    66 a5 * movs(d *| +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    66 a5 * movs(d *| +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    66 a5 * movs(d *| +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    66 a5 * movs(d *| +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\])
+[      ]*[a-f0-9]+:    66 a5 * movs(d *| +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\])
+#pass
 
 [      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\])
 [      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\])
 [      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\])
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    64 67 a4 *      movs +BYTE PTR es:\[di\],(BYTE PTR )?fs:\[si\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[di\],(BYTE PTR )?(ds:)?\[si\]
 [      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\])
 [      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\])
 [      ]*[a-f0-9]+:    64 66 a5 *      movs +WORD PTR es:\[edi\],(WORD PTR )?fs:\[esi\]
 [      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\])
 [      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\])
 [      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\])
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    64 67 66 a5 *   movs +WORD PTR es:\[di\],(WORD PTR )?fs:\[si\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 66 a5 *      movs +WORD PTR es:\[di\],(WORD PTR )?(ds:)?\[si\]
 [      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\])
 [      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\])
 [      ]*[a-f0-9]+:    64 a5 * movs +DWORD PTR es:\[edi\],(DWORD PTR )?fs:?\[esi\]
 [      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\])
 [      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\])
 [      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\])
+[      ]*[a-f0-9]+:    67 a5 * movs +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    64 67 a5 *      movs +DWORD PTR es:\[di\],(DWORD PTR )?fs:?\[si\]
+[      ]*[a-f0-9]+:    67 a5 * movs +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 a5 * movs +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 a5 * movs +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 a5 * movs +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 a5 * movs +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 a5 * movs +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\]
+[      ]*[a-f0-9]+:    67 a5 * movs +DWORD PTR es:\[di\],(DWORD PTR )?(ds:)?\[si\]
 #pass
 
 [      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\]
 [      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\]
 [      ]*[a-f0-9]+:    67 a4 * movs +BYTE PTR es:\[edi\],(BYTE PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[rdi\],(BYTE PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    64 a4 * movs +BYTE PTR es:\[rdi\],(BYTE PTR )?fs:\[rsi\]
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[rdi\],(BYTE PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[rdi\],(BYTE PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[rdi\],(BYTE PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[rdi\],(BYTE PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[rdi\],(BYTE PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[rdi\],(BYTE PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    a4 *    movs(b *| +BYTE PTR es:\[rdi\],(BYTE PTR )?(ds:)?\[rsi\])
 [      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[rdi\],(WORD PTR )?(ds:)?\[rsi\])
 [      ]*[a-f0-9]+:    67 66 a5 *      movs +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\]
 [      ]*[a-f0-9]+:    64 67 66 a5 *   movs +WORD PTR es:\[edi\],(WORD PTR )?fs:\[esi\]
 [      ]*[a-f0-9]+:    67 66 a5 *      movs +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\]
 [      ]*[a-f0-9]+:    67 66 a5 *      movs +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\]
 [      ]*[a-f0-9]+:    67 66 a5 *      movs +WORD PTR es:\[edi\],(WORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[rdi\],(WORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    64 66 a5 *      movs +WORD PTR es:\[rdi\],(WORD PTR )?fs:\[rsi\]
+[      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[rdi\],(WORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[rdi\],(WORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[rdi\],(WORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[rdi\],(WORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[rdi\],(WORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[rdi\],(WORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    66 a5 * movs(w *| +WORD PTR es:\[rdi\],(WORD PTR )?(ds:)?\[rsi\])
 [      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[rdi\],(DWORD PTR )?(ds:)?\[rsi\])
 [      ]*[a-f0-9]+:    67 a5 * movs +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\]
 [      ]*[a-f0-9]+:    64 67 a5 *      movs +DWORD PTR es:\[edi\],(DWORD PTR )?fs:\[esi\]
 [      ]*[a-f0-9]+:    67 a5 * movs +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\]
 [      ]*[a-f0-9]+:    67 a5 * movs +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\]
 [      ]*[a-f0-9]+:    67 a5 * movs +DWORD PTR es:\[edi\],(DWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[rdi\],(DWORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    64 a5 * movs +DWORD PTR es:\[rdi\],(DWORD PTR )?fs:\[rsi\]
+[      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[rdi\],(DWORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[rdi\],(DWORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[rdi\],(DWORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[rdi\],(DWORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[rdi\],(DWORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[rdi\],(DWORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    a5 *    movs(d *| +DWORD PTR es:\[rdi\],(DWORD PTR )?(ds:)?\[rsi\])
 [      ]*[a-f0-9]+:    48 a5 * movs(q *| +QWORD PTR es:\[rdi\],(QWORD PTR )?(ds:)?\[rsi\])
 [      ]*[a-f0-9]+:    48 a5 * movs(q *| +QWORD PTR es:\[rdi\],(QWORD PTR )?(ds:)?\[rsi\])
 [      ]*[a-f0-9]+:    64 48 a5 *      movs +QWORD PTR es:\[rdi\],(QWORD PTR )?fs:?\[rsi\]
 [      ]*[a-f0-9]+:    48 a5 * movs(q *| +QWORD PTR es:\[rdi\],(QWORD PTR )?(ds:)?\[rsi\])
 [      ]*[a-f0-9]+:    48 a5 * movs(q *| +QWORD PTR es:\[rdi\],(QWORD PTR )?(ds:)?\[rsi\])
 [      ]*[a-f0-9]+:    48 a5 * movs(q *| +QWORD PTR es:\[rdi\],(QWORD PTR )?(ds:)?\[rsi\])
+[      ]*[a-f0-9]+:    67 48 a5 *      movs +QWORD PTR es:\[edi\],(QWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    64 67 48 a5 *   movs +QWORD PTR es:\[edi\],(QWORD PTR )?fs:?\[esi\]
+[      ]*[a-f0-9]+:    67 48 a5 *      movs +QWORD PTR es:\[edi\],(QWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 48 a5 *      movs +QWORD PTR es:\[edi\],(QWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 48 a5 *      movs +QWORD PTR es:\[edi\],(QWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 48 a5 *      movs +QWORD PTR es:\[edi\],(QWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 48 a5 *      movs +QWORD PTR es:\[edi\],(QWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 48 a5 *      movs +QWORD PTR es:\[edi\],(QWORD PTR )?(ds:)?\[esi\]
+[      ]*[a-f0-9]+:    67 48 a5 *      movs +QWORD PTR es:\[edi\],(QWORD PTR )?(ds:)?\[esi\]
 #pass