Extend the i386 gas testsuite to do some tests for intel_syntax. Fix all
authorAlan Modra <amodra@gmail.com>
Fri, 25 Feb 2000 11:41:12 +0000 (11:41 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 25 Feb 2000 11:41:12 +0000 (11:41 +0000)
the errors exposed by this addition.  These were intel mode
"fi... word ptr", "fi... dword ptr", "jmp Imm seg, Imm offset", "out dx,al".
The failure with intel "out dx,al" was also present in att "out al,dx".
Extend testsuite to catch this case too.

gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/ChangeLog
gas/testsuite/gas/i386/general.l
gas/testsuite/gas/i386/general.s
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/intel.s [new file with mode: 0644]
include/opcode/ChangeLog
include/opcode/i386.h

index 574ac0a..feb81f8 100644 (file)
@@ -1,3 +1,14 @@
+2000-02-25  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+       * config/tc-i386.c (md_assemble): Don't swap intersegment jmp and
+       call operands when intel_syntax.
+       (intel_float_operand): Return 2 for "fi...".
+       (i386_operand_modifier): Change "DWORD PTR" test to suit above.
+       Return SHORT_MNEM_SUFFIX for "WORD PTR" when "fi...".  Revert
+       earlier "SHORT" change.
+       (md_assemble): When determining suffix from Regs, exclude
+       InOutPortReg.
+
 2000-02-24  Nick Clifton  <nickc@cygnus.com>
 
        * configure: Add arm-wince, mips-pe and sh-pe targets.
index cfc666b..3e202b7 100644 (file)
@@ -974,7 +974,7 @@ intel_float_operand (mnemonic)
      char *mnemonic;
 {
   if (mnemonic[0] == 'f' && mnemonic[1] =='i')
-    return 0;
+    return 2;
 
   if (mnemonic[0] == 'f')
     return 1;
@@ -1265,10 +1265,15 @@ md_assemble (line)
     unsigned int found_reverse_match;
     int suffix_check;
 
-    /* All intel opcodes have reversed operands except for BOUND and ENTER */
+    /* All intel opcodes have reversed operands except for "bound" and
+       "enter".  We also don't reverse intersegment "jmp" and "call"
+       instructions with 2 immediate operands so that the immediate segment
+       precedes the offset, as it does when in AT&T mode.  "enter" and the
+       intersegment "jmp" and "call" instructions are the only ones that
+       have two immediate operands.  */
     if (intel_syntax && i.operands > 1
-       && (strcmp (mnemonic, "enter") != 0)
-       && (strcmp (mnemonic, "bound") != 0))
+       && (strcmp (mnemonic, "bound") != 0)
+       && !((i.types[0] & Imm) && (i.types[1] & Imm)))
       {
        union i386_op temp_op;
        unsigned int temp_type;
@@ -1491,7 +1496,8 @@ md_assemble (line)
               register type.  */
            int op;
            for (op = i.operands; --op >= 0; )
-             if (i.types[op] & Reg)
+             if ((i.types[op] & Reg)
+                 && !(i.tm.operand_types[op] & InOutPortReg))
                {
                  i.suffix = ((i.types[op] & Reg8) ? BYTE_MNEM_SUFFIX :
                              (i.types[op] & Reg16) ? WORD_MNEM_SUFFIX :
@@ -2818,14 +2824,17 @@ i386_operand_modifier (op_string, got_a_float)
     }
   else if (!strncasecmp (*op_string, "WORD PTR", 8))
     {
-      i.suffix = WORD_MNEM_SUFFIX;
+      if (got_a_float == 2)    /* "fi..." */
+       i.suffix = SHORT_MNEM_SUFFIX;
+      else
+       i.suffix = WORD_MNEM_SUFFIX;
       *op_string += 8;
       return WORD_PTR;
     }
 
   else if (!strncasecmp (*op_string, "DWORD PTR", 9))
     {
-      if (got_a_float)
+      if (got_a_float == 1)    /* "f..." */
        i.suffix = SHORT_MNEM_SUFFIX;
       else
        i.suffix = LONG_MNEM_SUFFIX;
@@ -2849,7 +2858,6 @@ i386_operand_modifier (op_string, got_a_float)
 
   else if (!strncasecmp (*op_string, "SHORT", 5))
     {
-      i.suffix = WORD_MNEM_SUFFIX;
       *op_string += 5;
       return SHORT;
     }
index da48575..8b5b855 100644 (file)
@@ -1,3 +1,11 @@
+2000-02-25  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+       * gas/i386/intel.s: New file, intel version of opcode.s
+       * gas/i386/intel.d: New file, copy opcode.d
+
+       * gas/i386/general.s: Add extra "out" instructions.
+       * gas/i386/general.l: Likewise.
+
 2000-01-31  Nick Clifton  <nickc@cygnus.com>
 
        * gas/arm/inst.s: Include test of ATPCS register naming
index a6fc584..5f1041b 100644 (file)
@@ -3,20 +3,6 @@
 .*:12: Warning:.*
 .*:19: Warning:.*
 .*:22: Warning:.*
-.*:81: Warning:.*
-.*:82: Warning:.*
-.*:83: Warning:.*
-.*:84: Warning:.*
-.*:85: Warning:.*
-.*:86: Warning:.*
-.*:87: Warning:.*
-.*:88: Warning:.*
-.*:89: Warning:.*
-.*:90: Warning:.*
-.*:91: Warning:.*
-.*:92: Warning:.*
-.*:93: Warning:.*
-.*:94: Warning:.*
 .*:95: Warning:.*
 .*:96: Warning:.*
 .*:97: Warning:.*
 .*:99: Warning:.*
 .*:100: Warning:.*
 .*:101: Warning:.*
-.*:135: Warning:.*
-.*:162: Warning:.*
-.*:164: Warning:.*
-.*:166: Warning:.*
-.*:168: Warning:.*
-.*:170: Warning:.*
+.*:102: Warning:.*
+.*:103: Warning:.*
+.*:104: Warning:.*
+.*:105: Warning:.*
+.*:106: Warning:.*
+.*:107: Warning:.*
+.*:108: Warning:.*
+.*:109: Warning:.*
+.*:110: Warning:.*
+.*:111: Warning:.*
+.*:112: Warning:.*
+.*:113: Warning:.*
+.*:114: Warning:.*
+.*:115: Warning:.*
+.*:149: Warning:.*
 .*:176: Warning:.*
 .*:178: Warning:.*
 .*:180: Warning:.*
 .*:182: Warning:.*
 .*:184: Warning:.*
+.*:190: Warning:.*
+.*:192: Warning:.*
+.*:194: Warning:.*
+.*:196: Warning:.*
+.*:198: Warning:.*
    1                           .psize 0
    2                           .text
    3                           # test various segment reg insns
   61 0081 E4FF                         inb     \$255
   62 0083 66E502                       inw     \$2
   63 0086 E504                         inl     \$4
-  64 0088 EF                           outl    %eax,%dx
-  65 0089 E62A                         out     %al, \$42
-  66 008b 66E50D                       in      \$13, %ax
-  67                           # These are used in AIX.
-  68 008e 66ED                         inw     \(%dx\)
-  69 0090 66EF                         outw    \(%dx\)
-  70                           
-  71 0092 A4                           movsb
-  72 0093 66A7                         cmpsw
-  73 0095 AF                           scasl
-  74 0096 D7                           xlatb
-  75 0097 2EA5                         movsl   %cs:\(%esi\),%es:\(%edi\)
-  76 0099 0F9303                       setae   \(%ebx\)
-  77 009c 0F9303                       setaeb  \(%ebx\)
-  78 009f 0F93C0                       setae   %al
-  79                           
-  80                           #these should give warnings
-  81 00a2 0C01                         orb     \$1,%ax
-.*Warning:.*
-  82 00a4 0C01                         orb     \$1,%eax
-.*Warning:.*
-  83 00a6 80CB01                       orb     \$1,%bx
-.*Warning:.*
-  84 00a9 80CB01                       orb     \$1,%ebx
-.*Warning:.*
-  85 00ac D9C1                         fldl    %st\(1\)
-.*Warning:.*
-  86 00ae DDD2                         fstl    %st\(2\)
-.*Warning:.*
-  87 00b0 DDDB                         fstpl   %st\(3\)
-.*Warning:.*
-  88 00b2 D8D4                         fcoml   %st\(4\)
-.*Warning:.*
-  89 00b4 D8DD                         fcompl  %st\(5\)
-.*Warning:.*
-  90 00b6 DEC1                         faddp   %st\(1\),%st
-.*Warning:.*
-  91 00b8 DECA                         fmulp   %st\(2\),%st
-.*Warning:.*
-  92 00ba DEE3                         fsubp   %st\(3\),%st
-.*Warning:.*
-  93 00bc DEEC                         fsubrp  %st\(4\),%st
-.*Warning:.*
-  94 00be DEF5                         fdivp   %st\(5\),%st
-.*Warning:.*
-  95 00c0 DEFE                         fdivrp  %st\(6\),%st
-.*Warning:.*
-  96 00c2 DEC1                         fadd
-.*Warning:.*
-  97 00c4 DEE1                         fsub
-.*Warning:.*
-  98 00c6 DEC9                         fmul
-.*Warning:.*
-  99 00c8 DEF1                         fdiv
-.*Warning:.*
- 100 00ca DEE9                         fsubr
-.*Warning:.*
- 101 00cc DEF9                         fdivr
-.*Warning:.*
- 102                           #these should all be legal
- 103 00ce 0FA31556 341200              btl     %edx, 0x123456
- 104 00d5 0FA3D0                       btl     %edx, %eax
- 105 00d8 0C01                         orb     \$1,%al
- 106 00da 80CB01                       orb     \$1,%bl
- 107 00dd A1110000 00                  movl    17,%eax
- 108 00e2 A1110000 00                  mov     17,%eax
- 109 00e7 66ED                         inw     %dx,%ax
- 110 00e9 ED                           inl     %dx,%eax
- 111 00ea 66ED                         inw     \(%dx\),%ax
- 112 00ec ED                           inl     \(%dx\),%eax
- 113 00ed EC                           in      \(%dx\),%al
- 114 00ee 66ED                         in      \(%dx\),%ax
- 115 00f0 ED                           in      \(%dx\),%eax
- 116 00f1 0FB61437                     movzbl  \(%edi,%esi\),%edx
- 117 00f5 0FB6451C                     movzbl  28\(%ebp\),%eax
- 118 00f9 0FB6C0                       movzbl  %al,%eax
- 119 00fc 0FB6F1                       movzbl  %cl,%esi
- 120 00ff 26D7                         xlat    %es:\(%ebx\)
- 121 0101 D7                           xlat
- 122 0102 D7                           xlatb
- 123 0103 DDD8                 1:      fstp    %st\(0\)
- 124 0105 E2FC                         loop    1b
- 125 0107 F6F1                         divb    %cl 
- 126 0109 66F7F1                       divw    %cx 
- 127 010c F7F1                         divl    %ecx
- 128 010e F6F1                         div     %cl
- 129 0110 66F7F1                       div     %cx
- 130 0113 F7F1                         div     %ecx
- 131 0115 F6F1                         div     %cl,%al
- 132 0117 66F7F1                       div     %cx,%ax
- 133 011a F7F1                         div     %ecx,%eax
- 134 011c 8EDE                         mov     %si,%ds
- 135 011e 8EDE                         movl    %si,%ds         # warning here
-.*Warning:.*
- 136 0120 1E                           pushl   %ds
- 137 0121 1E                           push    %ds
- 138 0122 A0000000 00                  mov     0,%al
- 139 0127 66A10000 0100                mov     0x10000,%ax
- 140 012d 89C3                         mov     %eax,%ebx
- 141 012f 9C                           pushf
- 142 0130 9C                           pushfl
- 143 0131 669C                         pushfw
- 144 0133 9D                           popf
- 145 0134 9D                           popfl
- 146 0135 669D                         popfw
- 147 0137 89341D00 000000              mov     %esi,\(,%ebx,1\)
- 148 013e 80250000 00007F              andb    \$~0x80,foo
- 149                           
- 150                           #check 16-bit code auto address prefix
- 151                           .code16gcc
- 152 0145 67668D95 00FFFFFF            leal    -256\(%ebp\),%edx
- 153 014d 6788857F FFFFFF              mov     %al,-129\(%ebp\)
- 154 0154 67886580                     mov     %ah,-128\(%ebp\)
- 155 0158 67668D9D 20F9FFFF            leal    -1760\(%ebp\),%ebx
- 156 0160 67668984 248C0000            movl    %eax,140\(%esp\)
- 156      00
- 157                           
- 158                           .code32
- 159 0169 EB98                         jmp     1b
- 160 016b E9(FCFF|90FE)FF FF                   jmp     xxx
- 161 0170 FF250000 0000                jmp     \*xxx
- 162 0176 FF250000 0000                jmp     xxx\(,1\)
-.*Warning:.*
- 163 017c FFE7                         jmp     \*%edi
- 164 017e FFE7                         jmp     %edi
-.*Warning:.*
- 165 0180 FF27                         jmp     \*\(%edi\)
- 166 0182 FF27                         jmp     \(%edi\)
-.*Warning:.*
- 167 0184 FF2CBD00 000000              ljmp    \*xxx\(,%edi,4\)
- 168 018b FF2CBD00 000000              ljmp    xxx\(,%edi,4\)
-.*Warning:.*
- 169 0192 FF2D0000 0000                ljmp    \*xxx
- 170 0198 FF2D0000 0000                ljmp    xxx\(,1\)
-.*Warning:.*
- 171 019e EA000000 003412              ljmp    \$0x1234,\$xxx
- 172                           
- 173 01a5 E859FFFF FF                  call    1b
- 174 01aa E8(FCFF|51FE)FF FF                   call    xxx
- 175 01af FF150000 0000                call    \*xxx
- 176 01b5 FF150000 0000                call    xxx\(,1\)
-.*Warning:.*
- 177 01bb FFD7                         call    \*%edi
- 178 01bd FFD7                         call    %edi
-.*Warning:.*
- 179 01bf FF17                         call    \*\(%edi\)
- 180 01c1 FF17                         call    \(%edi\)
-.*Warning:.*
- 181 01c3 FF1CBD00 000000              lcall   \*xxx\(,%edi,4\)
- 182 01ca FF1CBD00 000000              lcall   xxx\(,%edi,4\)
-.*Warning:.*
- 183 01d1 FF1D0000 0000                lcall   \*xxx
- 184 01d7 FF1D0000 0000                lcall   xxx\(,1\)
-.*Warning:.*
- 185 01dd 9A000000 003412              lcall   \$0x1234,\$xxx
+  64 0088 66E50D                       in      \$13, %ax
+  65 008b EE                           out     %al,%dx
+  66 008c 66EF                         out     %ax,%dx
+  67 008e EF                           out     %eax,%dx
+  68 008f EE                           out     %al,\(%dx\)
+  69 0090 66EF                         out     %ax,\(%dx\)
+  70 0092 EF                           out     %eax,\(%dx\)
+  71 0093 EE                           outb    %al,%dx
+  72 0094 66EF                         outw    %ax,%dx
+  73 0096 EF                           outl    %eax,%dx
+  74 0097 EE                           outb    %dx
+  75 0098 66EF                         outw    %dx
+  76 009a EF                           outl    %dx
+  77 009b E6FF                         outb    \$255
+  78 009d 66E702                       outw    \$2
+  79 00a0 E704                         outl    \$4
+  80 00a2 66E70D                       out     %ax, \$13
+  81                           # These are used in AIX.
+  82 00a5 66ED                         inw     \(%dx\)
+  83 00a7 66EF                         outw    \(%dx\)
+  84                           
+  85 00a9 A4                           movsb
+  86 00aa 66A7                         cmpsw
+  87 00ac AF                           scasl
+  88 00ad D7                           xlatb
+  89 00ae 2EA5                         movsl   %cs:\(%esi\),%es:\(%edi\)
+  90 00b0 0F9303                       setae   \(%ebx\)
+  91 00b3 0F9303                       setaeb  \(%ebx\)
+  92 00b6 0F93C0                       setae   %al
+  93                           
+  94                           #these should give warnings
+  95 00b9 0C01                         orb     \$1,%ax
+.*Warning:.*
+  96 00bb 0C01                         orb     \$1,%eax
+.*Warning:.*
+  97 00bd 80CB01                       orb     \$1,%bx
+.*Warning:.*
+  98 00c0 80CB01                       orb     \$1,%ebx
+.*Warning:.*
+  99 00c3 D9C1                         fldl    %st\(1\)
+.*Warning:.*
+ 100 00c5 DDD2                         fstl    %st\(2\)
+.*Warning:.*
+ 101 00c7 DDDB                         fstpl   %st\(3\)
+.*Warning:.*
+ 102 00c9 D8D4                         fcoml   %st\(4\)
+.*Warning:.*
+ 103 00cb D8DD                         fcompl  %st\(5\)
+.*Warning:.*
+ 104 00cd DEC1                         faddp   %st\(1\),%st
+.*Warning:.*
+ 105 00cf DECA                         fmulp   %st\(2\),%st
+.*Warning:.*
+ 106 00d1 DEE3                         fsubp   %st\(3\),%st
+.*Warning:.*
+ 107 00d3 DEEC                         fsubrp  %st\(4\),%st
+.*Warning:.*
+ 108 00d5 DEF5                         fdivp   %st\(5\),%st
+.*Warning:.*
+ 109 00d7 DEFE                         fdivrp  %st\(6\),%st
+.*Warning:.*
+ 110 00d9 DEC1                         fadd
+.*Warning:.*
+ 111 00db DEE1                         fsub
+.*Warning:.*
+ 112 00dd DEC9                         fmul
+.*Warning:.*
+ 113 00df DEF1                         fdiv
+.*Warning:.*
+ 114 00e1 DEE9                         fsubr
+.*Warning:.*
+ 115 00e3 DEF9                         fdivr
+.*Warning:.*
+ 116                           #these should all be legal
+ 117 00e5 0FA31556 341200              btl     %edx, 0x123456
+ 118 00ec 0FA3D0                       btl     %edx, %eax
+ 119 00ef 0C01                         orb     \$1,%al
+ 120 00f1 80CB01                       orb     \$1,%bl
+ 121 00f4 A1110000 00                  movl    17,%eax
+ 122 00f9 A1110000 00                  mov     17,%eax
+ 123 00fe 66ED                         inw     %dx,%ax
+ 124 0100 ED                           inl     %dx,%eax
+ 125 0101 66ED                         inw     \(%dx\),%ax
+ 126 0103 ED                           inl     \(%dx\),%eax
+ 127 0104 EC                           in      \(%dx\),%al
+ 128 0105 66ED                         in      \(%dx\),%ax
+ 129 0107 ED                           in      \(%dx\),%eax
+ 130 0108 0FB61437                     movzbl  \(%edi,%esi\),%edx
+ 131 010c 0FB6451C                     movzbl  28\(%ebp\),%eax
+ 132 0110 0FB6C0                       movzbl  %al,%eax
+ 133 0113 0FB6F1                       movzbl  %cl,%esi
+ 134 0116 26D7                         xlat    %es:\(%ebx\)
+ 135 0118 D7                           xlat
+ 136 0119 D7                           xlatb
+ 137 011a DDD8                 1:      fstp    %st\(0\)
+ 138 011c E2FC                         loop    1b
+ 139 011e F6F1                         divb    %cl 
+ 140 0120 66F7F1                       divw    %cx 
+ 141 0123 F7F1                         divl    %ecx
+ 142 0125 F6F1                         div     %cl
+ 143 0127 66F7F1                       div     %cx
+ 144 012a F7F1                         div     %ecx
+ 145 012c F6F1                         div     %cl,%al
+ 146 012e 66F7F1                       div     %cx,%ax
+ 147 0131 F7F1                         div     %ecx,%eax
+ 148 0133 8EDE                         mov     %si,%ds
+ 149 0135 8EDE                         movl    %si,%ds         # warning here
+.*Warning:.*
+ 150 0137 1E                           pushl   %ds
+ 151 0138 1E                           push    %ds
+ 152 0139 A0000000 00                  mov     0,%al
+ 153 013e 66A10000 0100                mov     0x10000,%ax
+ 154 0144 89C3                         mov     %eax,%ebx
+ 155 0146 9C                           pushf
+ 156 0147 9C                           pushfl
+ 157 0148 669C                         pushfw
+ 158 014a 9D                           popf
+ 159 014b 9D                           popfl
+ 160 014c 669D                         popfw
+ 161 014e 89341D00 000000              mov     %esi,\(,%ebx,1\)
+ 162 0155 80250000 00007F              andb    \$~0x80,foo
+ 163                           
+ 164                           #check 16-bit code auto address prefix
+ 165                           .code16gcc
+ 166 015c 67668D95 00FFFFFF            leal    -256\(%ebp\),%edx
+ 167 0164 6788857F FFFFFF              mov     %al,-129\(%ebp\)
+ 168 016b 67886580                     mov     %ah,-128\(%ebp\)
+ 169 016f 67668D9D 20F9FFFF            leal    -1760\(%ebp\),%ebx
+ 170 0177 67668984 248C0000            movl    %eax,140\(%esp\)
+ 170      00
+ 171                           
+ 172                           .code32
+ 173 0180 EB98                         jmp     1b
+ 174 0182 E9(FCFF|90FE)FF FF                   jmp     xxx
+ 175 0187 FF250000 0000                jmp     \*xxx
+ 176 018d FF250000 0000                jmp     xxx\(,1\)
+.*Warning:.*
+ 177 0193 FFE7                         jmp     \*%edi
+ 178 0195 FFE7                         jmp     %edi
+.*Warning:.*
+ 179 0197 FF27                         jmp     \*\(%edi\)
+ 180 0199 FF27                         jmp     \(%edi\)
+.*Warning:.*
+ 181 019b FF2CBD00 000000              ljmp    \*xxx\(,%edi,4\)
+ 182 01a2 FF2CBD00 000000              ljmp    xxx\(,%edi,4\)
+.*Warning:.*
+ 183 01a9 FF2D0000 0000                ljmp    \*xxx
+ 184 01af FF2D0000 0000                ljmp    xxx\(,1\)
+.*Warning:.*
+ 185 01b5 EA000000 003412              ljmp    \$0x1234,\$xxx
  186                           
- 187                                   # Force a good alignment.
- 188 01e4 00000000 00000000            .p2align        4,0
- 188      00000000 
+ 187 01bc E859FFFF FF                  call    1b
+ 188 01c1 E8(FCFF|51FE)FF FF                   call    xxx
+ 189 01c6 FF150000 0000                call    \*xxx
+ 190 01cc FF150000 0000                call    xxx\(,1\)
+.*Warning:.*
+ 191 01d2 FFD7                         call    \*%edi
+ 192 01d4 FFD7                         call    %edi
+.*Warning:.*
+ 193 01d6 FF17                         call    \*\(%edi\)
+ 194 01d8 FF17                         call    \(%edi\)
+.*Warning:.*
+ 195 01da FF1CBD00 000000              lcall   \*xxx\(,%edi,4\)
+ 196 01e1 FF1CBD00 000000              lcall   xxx\(,%edi,4\)
+.*Warning:.*
+ 197 01e8 FF1D0000 0000                lcall   \*xxx
+ 198 01ee FF1D0000 0000                lcall   xxx\(,1\)
+.*Warning:.*
+ 199 01f4 9A000000 003412              lcall   \$0x1234,\$xxx
+ 200                           
+ 201                                   # Force a good alignment.
+ 202 01fb 00000000 00                  .p2align        4,0
index c794157..8d08dbf 100644 (file)
        inb     $255
        inw     $2
        inl     $4
-       outl    %eax,%dx
-       out     %al, $42
        in      $13, %ax
+       out     %al,%dx
+       out     %ax,%dx
+       out     %eax,%dx
+       out     %al,(%dx)
+       out     %ax,(%dx)
+       out     %eax,(%dx)
+       outb    %al,%dx
+       outw    %ax,%dx
+       outl    %eax,%dx
+       outb    %dx
+       outw    %dx
+       outl    %dx
+       outb    $255
+       outw    $2
+       outl    $4
+       out     %ax, $13
 # These are used in AIX.
        inw     (%dx)
        outw    (%dx)
index a431bb6..13ac8ef 100644 (file)
@@ -23,6 +23,7 @@ if [istarget "i*86-*-*"] then {
     run_list_test "modrm" "-al --listing-lhs-width=2"
     run_dump_test "naked"
     run_dump_test "opcode"
+    run_dump_test "intel"
     run_dump_test "prefix"
     run_dump_test "amd"
     run_dump_test "katmai"
diff --git a/gas/testsuite/gas/i386/intel.d b/gas/testsuite/gas/i386/intel.d
new file mode 100644 (file)
index 0000000..76f0f8a
--- /dev/null
@@ -0,0 +1,574 @@
+#as: -J
+#objdump: -dw
+#name: i386 intel
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+000 <foo>:
+   0:  00 90 90 90 90 90 [     ]*add    %dl,0x90909090\(%eax\)
+   6:  01 90 90 90 90 90 [     ]*add    %edx,0x90909090\(%eax\)
+   c:  02 90 90 90 90 90 [     ]*add    0x90909090\(%eax\),%dl
+  12:  03 90 90 90 90 90 [     ]*add    0x90909090\(%eax\),%edx
+  18:  04 90 [         ]*add    \$0x90,%al
+  1a:  05 90 90 90 90 [        ]*add    \$0x90909090,%eax
+  1f:  06 [    ]*push   %es
+  20:  07 [    ]*pop    %es
+  21:  08 90 90 90 90 90 [     ]*or     %dl,0x90909090\(%eax\)
+  27:  09 90 90 90 90 90 [     ]*or     %edx,0x90909090\(%eax\)
+  2d:  0a 90 90 90 90 90 [     ]*or     0x90909090\(%eax\),%dl
+  33:  0b 90 90 90 90 90 [     ]*or     0x90909090\(%eax\),%edx
+  39:  0c 90 [         ]*or     \$0x90,%al
+  3b:  0d 90 90 90 90 [        ]*or     \$0x90909090,%eax
+  40:  0e [    ]*push   %cs
+  41:  10 90 90 90 90 90 [     ]*adc    %dl,0x90909090\(%eax\)
+  47:  11 90 90 90 90 90 [     ]*adc    %edx,0x90909090\(%eax\)
+  4d:  12 90 90 90 90 90 [     ]*adc    0x90909090\(%eax\),%dl
+  53:  13 90 90 90 90 90 [     ]*adc    0x90909090\(%eax\),%edx
+  59:  14 90 [         ]*adc    \$0x90,%al
+  5b:  15 90 90 90 90 [        ]*adc    \$0x90909090,%eax
+  60:  16 [    ]*push   %ss
+  61:  17 [    ]*pop    %ss
+  62:  18 90 90 90 90 90 [     ]*sbb    %dl,0x90909090\(%eax\)
+  68:  19 90 90 90 90 90 [     ]*sbb    %edx,0x90909090\(%eax\)
+  6e:  1a 90 90 90 90 90 [     ]*sbb    0x90909090\(%eax\),%dl
+  74:  1b 90 90 90 90 90 [     ]*sbb    0x90909090\(%eax\),%edx
+  7a:  1c 90 [         ]*sbb    \$0x90,%al
+  7c:  1d 90 90 90 90 [        ]*sbb    \$0x90909090,%eax
+  81:  1e [    ]*push   %ds
+  82:  1f [    ]*pop    %ds
+  83:  20 90 90 90 90 90 [     ]*and    %dl,0x90909090\(%eax\)
+  89:  21 90 90 90 90 90 [     ]*and    %edx,0x90909090\(%eax\)
+  8f:  22 90 90 90 90 90 [     ]*and    0x90909090\(%eax\),%dl
+  95:  23 90 90 90 90 90 [     ]*and    0x90909090\(%eax\),%edx
+  9b:  24 90 [         ]*and    \$0x90,%al
+  9d:  25 90 90 90 90 [        ]*and    \$0x90909090,%eax
+  a2:  27 [    ]*daa    
+  a3:  28 90 90 90 90 90 [     ]*sub    %dl,0x90909090\(%eax\)
+  a9:  29 90 90 90 90 90 [     ]*sub    %edx,0x90909090\(%eax\)
+  af:  2a 90 90 90 90 90 [     ]*sub    0x90909090\(%eax\),%dl
+  b5:  2b 90 90 90 90 90 [     ]*sub    0x90909090\(%eax\),%edx
+  bb:  2c 90 [         ]*sub    \$0x90,%al
+  bd:  2d 90 90 90 90 [        ]*sub    \$0x90909090,%eax
+  c2:  2f [    ]*das    
+  c3:  30 90 90 90 90 90 [     ]*xor    %dl,0x90909090\(%eax\)
+  c9:  31 90 90 90 90 90 [     ]*xor    %edx,0x90909090\(%eax\)
+  cf:  32 90 90 90 90 90 [     ]*xor    0x90909090\(%eax\),%dl
+  d5:  33 90 90 90 90 90 [     ]*xor    0x90909090\(%eax\),%edx
+  db:  34 90 [         ]*xor    \$0x90,%al
+  dd:  35 90 90 90 90 [        ]*xor    \$0x90909090,%eax
+  e2:  37 [    ]*aaa    
+  e3:  38 90 90 90 90 90 [     ]*cmp    %dl,0x90909090\(%eax\)
+  e9:  39 90 90 90 90 90 [     ]*cmp    %edx,0x90909090\(%eax\)
+  ef:  3a 90 90 90 90 90 [     ]*cmp    0x90909090\(%eax\),%dl
+  f5:  3b 90 90 90 90 90 [     ]*cmp    0x90909090\(%eax\),%edx
+  fb:  3c 90 [         ]*cmp    \$0x90,%al
+  fd:  3d 90 90 90 90 [        ]*cmp    \$0x90909090,%eax
+ 102:  3f [    ]*aas    
+ 103:  40 [    ]*inc    %eax
+ 104:  41 [    ]*inc    %ecx
+ 105:  42 [    ]*inc    %edx
+ 106:  43 [    ]*inc    %ebx
+ 107:  44 [    ]*inc    %esp
+ 108:  45 [    ]*inc    %ebp
+ 109:  46 [    ]*inc    %esi
+ 10a:  47 [    ]*inc    %edi
+ 10b:  48 [    ]*dec    %eax
+ 10c:  49 [    ]*dec    %ecx
+ 10d:  4a [    ]*dec    %edx
+ 10e:  4b [    ]*dec    %ebx
+ 10f:  4c [    ]*dec    %esp
+ 110:  4d [    ]*dec    %ebp
+ 111:  4e [    ]*dec    %esi
+ 112:  4f [    ]*dec    %edi
+ 113:  50 [    ]*push   %eax
+ 114:  51 [    ]*push   %ecx
+ 115:  52 [    ]*push   %edx
+ 116:  53 [    ]*push   %ebx
+ 117:  54 [    ]*push   %esp
+ 118:  55 [    ]*push   %ebp
+ 119:  56 [    ]*push   %esi
+ 11a:  57 [    ]*push   %edi
+ 11b:  58 [    ]*pop    %eax
+ 11c:  59 [    ]*pop    %ecx
+ 11d:  5a [    ]*pop    %edx
+ 11e:  5b [    ]*pop    %ebx
+ 11f:  5c [    ]*pop    %esp
+ 120:  5d [    ]*pop    %ebp
+ 121:  5e [    ]*pop    %esi
+ 122:  5f [    ]*pop    %edi
+ 123:  60 [    ]*pusha  
+ 124:  61 [    ]*popa   
+ 125:  62 90 90 90 90 90 [     ]*bound  %edx,0x90909090\(%eax\)
+ 12b:  63 90 90 90 90 90 [     ]*arpl   %dx,0x90909090\(%eax\)
+ 131:  68 90 90 90 90 [        ]*push   \$0x90909090
+ 136:  69 90 90 90 90 90 90 90 90 90 [         ]*imul   \$0x90909090,0x90909090\(%eax\),%edx
+ 140:  6a 90 [         ]*push   \$0xffffff90
+ 142:  6b 90 90 90 90 90 90 [  ]*imul   \$0xffffff90,0x90909090\(%eax\),%edx
+ 149:  6c [    ]*insb   \(%dx\),%es:\(%edi\)
+ 14a:  6d [    ]*insl   \(%dx\),%es:\(%edi\)
+ 14b:  6e [    ]*outsb  %ds:\(%esi\),\(%dx\)
+ 14c:  6f [    ]*outsl  %ds:\(%esi\),\(%dx\)
+ 14d:  70 90 [         ]*jo     (0x)?df.*
+ 14f:  71 90 [         ]*jno    (0x)?e1.*
+ 151:  72 90 [         ]*jb     (0x)?e3.*
+ 153:  73 90 [         ]*jae    (0x)?e5.*
+ 155:  74 90 [         ]*je     (0x)?e7.*
+ 157:  75 90 [         ]*jne    (0x)?e9.*
+ 159:  76 90 [         ]*jbe    (0x)?eb.*
+ 15b:  77 90 [         ]*ja     (0x)?ed.*
+ 15d:  78 90 [         ]*js     (0x)?ef.*
+ 15f:  79 90 [         ]*jns    (0x)?f1.*
+ 161:  7a 90 [         ]*jp     (0x)?f3.*
+ 163:  7b 90 [         ]*jnp    (0x)?f5.*
+ 165:  7c 90 [         ]*jl     (0x)?f7.*
+ 167:  7d 90 [         ]*jge    (0x)?f9.*
+ 169:  7e 90 [         ]*jle    (0x)?fb.*
+ 16b:  7f 90 [         ]*jg     (0x)?fd.*
+ 16d:  80 90 90 90 90 90 90 [  ]*adcb   \$0x90,0x90909090\(%eax\)
+ 174:  81 90 90 90 90 90 90 90 90 90 [         ]*adcl   \$0x90909090,0x90909090\(%eax\)
+ 17e:  83 90 90 90 90 90 90 [  ]*adcl   \$0xffffff90,0x90909090\(%eax\)
+ 185:  84 90 90 90 90 90 [     ]*test   %dl,0x90909090\(%eax\)
+ 18b:  85 90 90 90 90 90 [     ]*test   %edx,0x90909090\(%eax\)
+ 191:  86 90 90 90 90 90 [     ]*xchg   %dl,0x90909090\(%eax\)
+ 197:  87 90 90 90 90 90 [     ]*xchg   %edx,0x90909090\(%eax\)
+ 19d:  88 90 90 90 90 90 [     ]*mov    %dl,0x90909090\(%eax\)
+ 1a3:  89 90 90 90 90 90 [     ]*mov    %edx,0x90909090\(%eax\)
+ 1a9:  8a 90 90 90 90 90 [     ]*mov    0x90909090\(%eax\),%dl
+ 1af:  8b 90 90 90 90 90 [     ]*mov    0x90909090\(%eax\),%edx
+ 1b5:  8c 90 90 90 90 90 [     ]*movl   %ss,0x90909090\(%eax\)
+ 1bb:  8d 90 90 90 90 90 [     ]*lea    0x90909090\(%eax\),%edx
+ 1c1:  8e 90 90 90 90 90 [     ]*movl   0x90909090\(%eax\),%ss
+ 1c7:  8f 80 90 90 90 90 [     ]*popl   0x90909090\(%eax\)
+ 1cd:  90 [    ]*nop    
+ 1ce:  91 [    ]*xchg   %eax,%ecx
+ 1cf:  92 [    ]*xchg   %eax,%edx
+ 1d0:  93 [    ]*xchg   %eax,%ebx
+ 1d1:  94 [    ]*xchg   %eax,%esp
+ 1d2:  95 [    ]*xchg   %eax,%ebp
+ 1d3:  96 [    ]*xchg   %eax,%esi
+ 1d4:  97 [    ]*xchg   %eax,%edi
+ 1d5:  98 [    ]*cwtl   
+ 1d6:  99 [    ]*cltd   
+ 1d7:  9a 90 90 90 90 90 90 [  ]*lcall  \$0x9090,\$0x90909090
+ 1de:  9b [    ]*fwait
+ 1df:  9c [    ]*pushf  
+ 1e0:  9d [    ]*popf   
+ 1e1:  9e [    ]*sahf   
+ 1e2:  9f [    ]*lahf   
+ 1e3:  a0 90 90 90 90 [        ]*mov    0x90909090,%al
+ 1e8:  a1 90 90 90 90 [        ]*mov    0x90909090,%eax
+ 1ed:  a2 90 90 90 90 [        ]*mov    %al,0x90909090
+ 1f2:  a3 90 90 90 90 [        ]*mov    %eax,0x90909090
+ 1f7:  a4 [    ]*movsb  %ds:\(%esi\),%es:\(%edi\)
+ 1f8:  a5 [    ]*movsl  %ds:\(%esi\),%es:\(%edi\)
+ 1f9:  a6 [    ]*cmpsb  %es:\(%edi\),%ds:\(%esi\)
+ 1fa:  a7 [    ]*cmpsl  %es:\(%edi\),%ds:\(%esi\)
+ 1fb:  a8 90 [         ]*test   \$0x90,%al
+ 1fd:  a9 90 90 90 90 [        ]*test   \$0x90909090,%eax
+ 202:  aa [    ]*stos   %al,%es:\(%edi\)
+ 203:  ab [    ]*stos   %eax,%es:\(%edi\)
+ 204:  ac [    ]*lods   %ds:\(%esi\),%al
+ 205:  ad [    ]*lods   %ds:\(%esi\),%eax
+ 206:  ae [    ]*scas   %es:\(%edi\),%al
+ 207:  af [    ]*scas   %es:\(%edi\),%eax
+ 208:  b0 90 [         ]*mov    \$0x90,%al
+ 20a:  b1 90 [         ]*mov    \$0x90,%cl
+ 20c:  b2 90 [         ]*mov    \$0x90,%dl
+ 20e:  b3 90 [         ]*mov    \$0x90,%bl
+ 210:  b4 90 [         ]*mov    \$0x90,%ah
+ 212:  b5 90 [         ]*mov    \$0x90,%ch
+ 214:  b6 90 [         ]*mov    \$0x90,%dh
+ 216:  b7 90 [         ]*mov    \$0x90,%bh
+ 218:  b8 90 90 90 90 [        ]*mov    \$0x90909090,%eax
+ 21d:  b9 90 90 90 90 [        ]*mov    \$0x90909090,%ecx
+ 222:  ba 90 90 90 90 [        ]*mov    \$0x90909090,%edx
+ 227:  bb 90 90 90 90 [        ]*mov    \$0x90909090,%ebx
+ 22c:  bc 90 90 90 90 [        ]*mov    \$0x90909090,%esp
+ 231:  bd 90 90 90 90 [        ]*mov    \$0x90909090,%ebp
+ 236:  be 90 90 90 90 [        ]*mov    \$0x90909090,%esi
+ 23b:  bf 90 90 90 90 [        ]*mov    \$0x90909090,%edi
+ 240:  c0 90 90 90 90 90 90 [  ]*rclb   \$0x90,0x90909090\(%eax\)
+ 247:  c1 90 90 90 90 90 90 [  ]*rcll   \$0x90,0x90909090\(%eax\)
+ 24e:  c2 90 90 [      ]*ret    \$0x9090
+ 251:  c3 [    ]*ret    
+ 252:  c4 90 90 90 90 90 [     ]*les    0x90909090\(%eax\),%edx
+ 258:  c5 90 90 90 90 90 [     ]*lds    0x90909090\(%eax\),%edx
+ 25e:  c6 80 90 90 90 90 90 [  ]*movb   \$0x90,0x90909090\(%eax\)
+ 265:  c7 80 90 90 90 90 90 90 90 90 [         ]*movl   \$0x90909090,0x90909090\(%eax\)
+ 26f:  c8 90 90 90 [   ]*enter  \$0x9090,\$0x90
+ 273:  c9 [    ]*leave  
+ 274:  ca 90 90 [      ]*lret   \$0x9090
+ 277:  cb [    ]*lret   
+ 278:  cc [    ]*int3   
+ 279:  cd 90 [         ]*int    \$0x90
+ 27b:  ce [    ]*into   
+ 27c:  cf [    ]*iret   
+ 27d:  d0 90 90 90 90 90 [     ]*rclb   0x90909090\(%eax\)
+ 283:  d1 90 90 90 90 90 [     ]*rcll   0x90909090\(%eax\)
+ 289:  d2 90 90 90 90 90 [     ]*rclb   %cl,0x90909090\(%eax\)
+ 28f:  d3 90 90 90 90 90 [     ]*rcll   %cl,0x90909090\(%eax\)
+ 295:  d4 90 [         ]*aam    \$0xffffff90
+ 297:  d5 90 [         ]*aad    \$0xffffff90
+ 299:  d7 [    ]*xlat   %ds:\(%ebx\)
+ 29a:  d8 90 90 90 90 90 [     ]*fcoms  0x90909090\(%eax\)
+ 2a0:  d9 90 90 90 90 90 [     ]*fsts   0x90909090\(%eax\)
+ 2a6:  da 90 90 90 90 90 [     ]*ficoml 0x90909090\(%eax\)
+ 2ac:  db 90 90 90 90 90 [     ]*fistl  0x90909090\(%eax\)
+ 2b2:  dc 90 90 90 90 90 [     ]*fcoml  0x90909090\(%eax\)
+ 2b8:  dd 90 90 90 90 90 [     ]*fstl   0x90909090\(%eax\)
+ 2be:  de 90 90 90 90 90 [     ]*ficom  0x90909090\(%eax\)
+ 2c4:  df 90 90 90 90 90 [     ]*fist   0x90909090\(%eax\)
+ 2ca:  e0 90 [         ]*loopne (0x)?25c.*
+ 2cc:  e1 90 [         ]*loope  (0x)?25e.*
+ 2ce:  e2 90 [         ]*loop   (0x)?260.*
+ 2d0:  e3 90 [         ]*jecxz  (0x)?262.*
+ 2d2:  e4 90 [         ]*in     \$0x90,%al
+ 2d4:  e5 90 [         ]*in     \$0x90,%eax
+ 2d6:  e6 90 [         ]*out    %al,\$0x90
+ 2d8:  e7 90 [         ]*out    %eax,\$0x90
+ 2da:  e8 90 90 90 90 [        ]*call   (0x)?9090936f.*
+ 2df:  e9 90 90 90 90 [        ]*jmp    (0x)?90909374.*
+ 2e4:  ea 90 90 90 90 90 90 [  ]*ljmp   \$0x9090,\$0x90909090
+ 2eb:  eb 90 [         ]*jmp    (0x)?27d.*
+ 2ed:  ec [    ]*in     \(%dx\),%al
+ 2ee:  ed [    ]*in     \(%dx\),%eax
+ 2ef:  ee [    ]*out    %al,\(%dx\)
+ 2f0:  ef [    ]*out    %eax,\(%dx\)
+ 2f1:  f4 [    ]*hlt    
+ 2f2:  f5 [    ]*cmc    
+ 2f3:  f6 90 90 90 90 90 [     ]*notb   0x90909090\(%eax\)
+ 2f9:  f7 90 90 90 90 90 [     ]*notl   0x90909090\(%eax\)
+ 2ff:  f8 [    ]*clc    
+ 300:  f9 [    ]*stc    
+ 301:  fa [    ]*cli    
+ 302:  fb [    ]*sti    
+ 303:  fc [    ]*cld    
+ 304:  fd [    ]*std    
+ 305:  ff 90 90 90 90 90 [     ]*call   \*0x90909090\(%eax\)
+ 30b:  0f 00 90 90 90 90 90 [  ]*lldt   0x90909090\(%eax\)
+ 312:  0f 01 90 90 90 90 90 [  ]*lgdt   0x90909090\(%eax\)
+ 319:  0f 02 90 90 90 90 90 [  ]*lar    0x90909090\(%eax\),%edx
+ 320:  0f 03 90 90 90 90 90 [  ]*lsl    0x90909090\(%eax\),%edx
+ 327:  0f 06 [         ]*clts   
+ 329:  0f 08 [         ]*invd   
+ 32b:  0f 09 [         ]*wbinvd 
+ 32d:  0f 0b [         ]*ud2a   
+ 32f:  0f 20 d0 [      ]*mov    %cr2,%eax
+ 332:  0f 21 d0 [      ]*mov    %db2,%eax
+ 335:  0f 22 d0 [      ]*mov    %eax,%cr2
+ 338:  0f 23 d0 [      ]*mov    %eax,%db2
+ 33b:  0f 24 d0 [      ]*mov    %tr2,%eax
+ 33e:  0f 26 d0 [      ]*mov    %eax,%tr2
+ 341:  0f 30 [         ]*wrmsr  
+ 343:  0f 31 [         ]*rdtsc  
+ 345:  0f 32 [         ]*rdmsr  
+ 347:  0f 33 [         ]*rdpmc  
+ 349:  0f 40 90 90 90 90 90 [  ]*cmovo  0x90909090\(%eax\),%edx
+ 350:  0f 41 90 90 90 90 90 [  ]*cmovno 0x90909090\(%eax\),%edx
+ 357:  0f 42 90 90 90 90 90 [  ]*cmovb  0x90909090\(%eax\),%edx
+ 35e:  0f 43 90 90 90 90 90 [  ]*cmovae 0x90909090\(%eax\),%edx
+ 365:  0f 44 90 90 90 90 90 [  ]*cmove  0x90909090\(%eax\),%edx
+ 36c:  0f 45 90 90 90 90 90 [  ]*cmovne 0x90909090\(%eax\),%edx
+ 373:  0f 46 90 90 90 90 90 [  ]*cmovbe 0x90909090\(%eax\),%edx
+ 37a:  0f 47 90 90 90 90 90 [  ]*cmova  0x90909090\(%eax\),%edx
+ 381:  0f 48 90 90 90 90 90 [  ]*cmovs  0x90909090\(%eax\),%edx
+ 388:  0f 49 90 90 90 90 90 [  ]*cmovns 0x90909090\(%eax\),%edx
+ 38f:  0f 4a 90 90 90 90 90 [  ]*cmovp  0x90909090\(%eax\),%edx
+ 396:  0f 4b 90 90 90 90 90 [  ]*cmovnp 0x90909090\(%eax\),%edx
+ 39d:  0f 4c 90 90 90 90 90 [  ]*cmovl  0x90909090\(%eax\),%edx
+ 3a4:  0f 4d 90 90 90 90 90 [  ]*cmovge 0x90909090\(%eax\),%edx
+ 3ab:  0f 4e 90 90 90 90 90 [  ]*cmovle 0x90909090\(%eax\),%edx
+ 3b2:  0f 4f 90 90 90 90 90 [  ]*cmovg  0x90909090\(%eax\),%edx
+ 3b9:  0f 60 90 90 90 90 90 [  ]*punpcklbw 0x90909090\(%eax\),%mm2
+ 3c0:  0f 61 90 90 90 90 90 [  ]*punpcklwd 0x90909090\(%eax\),%mm2
+ 3c7:  0f 62 90 90 90 90 90 [  ]*punpckldq 0x90909090\(%eax\),%mm2
+ 3ce:  0f 63 90 90 90 90 90 [  ]*packsswb 0x90909090\(%eax\),%mm2
+ 3d5:  0f 64 90 90 90 90 90 [  ]*pcmpgtb 0x90909090\(%eax\),%mm2
+ 3dc:  0f 65 90 90 90 90 90 [  ]*pcmpgtw 0x90909090\(%eax\),%mm2
+ 3e3:  0f 66 90 90 90 90 90 [  ]*pcmpgtd 0x90909090\(%eax\),%mm2
+ 3ea:  0f 67 90 90 90 90 90 [  ]*packuswb 0x90909090\(%eax\),%mm2
+ 3f1:  0f 68 90 90 90 90 90 [  ]*punpckhbw 0x90909090\(%eax\),%mm2
+ 3f8:  0f 69 90 90 90 90 90 [  ]*punpckhwd 0x90909090\(%eax\),%mm2
+ 3ff:  0f 6a 90 90 90 90 90 [  ]*punpckhdq 0x90909090\(%eax\),%mm2
+ 406:  0f 6b 90 90 90 90 90 [  ]*packssdw 0x90909090\(%eax\),%mm2
+ 40d:  0f 6e 90 90 90 90 90 [  ]*movd   0x90909090\(%eax\),%mm2
+ 414:  0f 6f 90 90 90 90 90 [  ]*movq   0x90909090\(%eax\),%mm2
+ 41b:  0f 71 d0 90 [   ]*psrlw  \$0x90,%mm0
+ 41f:  0f 72 d0 90 [   ]*psrld  \$0x90,%mm0
+ 423:  0f 73 d0 90 [   ]*psrlq  \$0x90,%mm0
+ 427:  0f 74 90 90 90 90 90 [  ]*pcmpeqb 0x90909090\(%eax\),%mm2
+ 42e:  0f 75 90 90 90 90 90 [  ]*pcmpeqw 0x90909090\(%eax\),%mm2
+ 435:  0f 76 90 90 90 90 90 [  ]*pcmpeqd 0x90909090\(%eax\),%mm2
+ 43c:  0f 77 [         ]*emms   
+ 43e:  0f 7e 90 90 90 90 90 [  ]*movd   %mm2,0x90909090\(%eax\)
+ 445:  0f 7f 90 90 90 90 90 [  ]*movq   %mm2,0x90909090\(%eax\)
+ 44c:  0f 80 90 90 90 90 [     ]*jo     (0x)?909094e2.*
+ 452:  0f 81 90 90 90 90 [     ]*jno    (0x)?909094e8.*
+ 458:  0f 82 90 90 90 90 [     ]*jb     (0x)?909094ee.*
+ 45e:  0f 83 90 90 90 90 [     ]*jae    (0x)?909094f4.*
+ 464:  0f 84 90 90 90 90 [     ]*je     (0x)?909094fa.*
+ 46a:  0f 85 90 90 90 90 [     ]*jne    (0x)?90909500.*
+ 470:  0f 86 90 90 90 90 [     ]*jbe    (0x)?90909506.*
+ 476:  0f 87 90 90 90 90 [     ]*ja     (0x)?9090950c.*
+ 47c:  0f 88 90 90 90 90 [     ]*js     (0x)?90909512.*
+ 482:  0f 89 90 90 90 90 [     ]*jns    (0x)?90909518.*
+ 488:  0f 8a 90 90 90 90 [     ]*jp     (0x)?9090951e.*
+ 48e:  0f 8b 90 90 90 90 [     ]*jnp    (0x)?90909524.*
+ 494:  0f 8c 90 90 90 90 [     ]*jl     (0x)?9090952a.*
+ 49a:  0f 8d 90 90 90 90 [     ]*jge    (0x)?90909530.*
+ 4a0:  0f 8e 90 90 90 90 [     ]*jle    (0x)?90909536.*
+ 4a6:  0f 8f 90 90 90 90 [     ]*jg     (0x)?9090953c.*
+ 4ac:  0f 90 80 90 90 90 90 [  ]*seto   0x90909090\(%eax\)
+ 4b3:  0f 91 80 90 90 90 90 [  ]*setno  0x90909090\(%eax\)
+ 4ba:  0f 92 80 90 90 90 90 [  ]*setb   0x90909090\(%eax\)
+ 4c1:  0f 93 80 90 90 90 90 [  ]*setae  0x90909090\(%eax\)
+ 4c8:  0f 94 80 90 90 90 90 [  ]*sete   0x90909090\(%eax\)
+ 4cf:  0f 95 80 90 90 90 90 [  ]*setne  0x90909090\(%eax\)
+ 4d6:  0f 96 80 90 90 90 90 [  ]*setbe  0x90909090\(%eax\)
+ 4dd:  0f 97 80 90 90 90 90 [  ]*seta   0x90909090\(%eax\)
+ 4e4:  0f 98 80 90 90 90 90 [  ]*sets   0x90909090\(%eax\)
+ 4eb:  0f 99 80 90 90 90 90 [  ]*setns  0x90909090\(%eax\)
+ 4f2:  0f 9a 80 90 90 90 90 [  ]*setp   0x90909090\(%eax\)
+ 4f9:  0f 9b 80 90 90 90 90 [  ]*setnp  0x90909090\(%eax\)
+ 500:  0f 9c 80 90 90 90 90 [  ]*setl   0x90909090\(%eax\)
+ 507:  0f 9d 80 90 90 90 90 [  ]*setge  0x90909090\(%eax\)
+ 50e:  0f 9e 80 90 90 90 90 [  ]*setle  0x90909090\(%eax\)
+ 515:  0f 9f 80 90 90 90 90 [  ]*setg   0x90909090\(%eax\)
+ 51c:  0f a0 [         ]*push   %fs
+ 51e:  0f a1 [         ]*pop    %fs
+ 520:  0f a2 [         ]*cpuid  
+ 522:  0f a3 90 90 90 90 90 [  ]*bt     %edx,0x90909090\(%eax\)
+ 529:  0f a4 90 90 90 90 90 90 [       ]*shld   \$0x90,%edx,0x90909090\(%eax\)
+ 531:  0f a5 90 90 90 90 90 [  ]*shld   %cl,%edx,0x90909090\(%eax\)
+ 538:  0f a8 [         ]*push   %gs
+ 53a:  0f a9 [         ]*pop    %gs
+ 53c:  0f aa [         ]*rsm    
+ 53e:  0f ab 90 90 90 90 90 [  ]*bts    %edx,0x90909090\(%eax\)
+ 545:  0f ac 90 90 90 90 90 90 [       ]*shrd   \$0x90,%edx,0x90909090\(%eax\)
+ 54d:  0f ad 90 90 90 90 90 [  ]*shrd   %cl,%edx,0x90909090\(%eax\)
+ 554:  0f af 90 90 90 90 90 [  ]*imul   0x90909090\(%eax\),%edx
+ 55b:  0f b0 90 90 90 90 90 [  ]*cmpxchg %dl,0x90909090\(%eax\)
+ 562:  0f b1 90 90 90 90 90 [  ]*cmpxchg %edx,0x90909090\(%eax\)
+ 569:  0f b2 90 90 90 90 90 [  ]*lss    0x90909090\(%eax\),%edx
+ 570:  0f b3 90 90 90 90 90 [  ]*btr    %edx,0x90909090\(%eax\)
+ 577:  0f b4 90 90 90 90 90 [  ]*lfs    0x90909090\(%eax\),%edx
+ 57e:  0f b5 90 90 90 90 90 [  ]*lgs    0x90909090\(%eax\),%edx
+ 585:  0f b6 90 90 90 90 90 [  ]*movzbl 0x90909090\(%eax\),%edx
+ 58c:  0f b7 90 90 90 90 90 [  ]*movzwl 0x90909090\(%eax\),%edx
+ 593:  0f b9 [         ]*ud2b   
+ 595:  0f bb 90 90 90 90 90 [  ]*btc    %edx,0x90909090\(%eax\)
+ 59c:  0f bc 90 90 90 90 90 [  ]*bsf    0x90909090\(%eax\),%edx
+ 5a3:  0f bd 90 90 90 90 90 [  ]*bsr    0x90909090\(%eax\),%edx
+ 5aa:  0f be 90 90 90 90 90 [  ]*movsbl 0x90909090\(%eax\),%edx
+ 5b1:  0f bf 90 90 90 90 90 [  ]*movswl 0x90909090\(%eax\),%edx
+ 5b8:  0f c0 90 90 90 90 90 [  ]*xadd   %dl,0x90909090\(%eax\)
+ 5bf:  0f c1 90 90 90 90 90 [  ]*xadd   %edx,0x90909090\(%eax\)
+ 5c6:  0f c8 [         ]*bswap  %eax
+ 5c8:  0f c9 [         ]*bswap  %ecx
+ 5ca:  0f ca [         ]*bswap  %edx
+ 5cc:  0f cb [         ]*bswap  %ebx
+ 5ce:  0f cc [         ]*bswap  %esp
+ 5d0:  0f cd [         ]*bswap  %ebp
+ 5d2:  0f ce [         ]*bswap  %esi
+ 5d4:  0f cf [         ]*bswap  %edi
+ 5d6:  0f d1 90 90 90 90 90 [  ]*psrlw  0x90909090\(%eax\),%mm2
+ 5dd:  0f d2 90 90 90 90 90 [  ]*psrld  0x90909090\(%eax\),%mm2
+ 5e4:  0f d3 90 90 90 90 90 [  ]*psrlq  0x90909090\(%eax\),%mm2
+ 5eb:  0f d5 90 90 90 90 90 [  ]*pmullw 0x90909090\(%eax\),%mm2
+ 5f2:  0f d8 90 90 90 90 90 [  ]*psubusb 0x90909090\(%eax\),%mm2
+ 5f9:  0f d9 90 90 90 90 90 [  ]*psubusw 0x90909090\(%eax\),%mm2
+ 600:  0f db 90 90 90 90 90 [  ]*pand   0x90909090\(%eax\),%mm2
+ 607:  0f dc 90 90 90 90 90 [  ]*paddusb 0x90909090\(%eax\),%mm2
+ 60e:  0f dd 90 90 90 90 90 [  ]*paddusw 0x90909090\(%eax\),%mm2
+ 615:  0f df 90 90 90 90 90 [  ]*pandn  0x90909090\(%eax\),%mm2
+ 61c:  0f e1 90 90 90 90 90 [  ]*psraw  0x90909090\(%eax\),%mm2
+ 623:  0f e2 90 90 90 90 90 [  ]*psrad  0x90909090\(%eax\),%mm2
+ 62a:  0f e5 90 90 90 90 90 [  ]*pmulhw 0x90909090\(%eax\),%mm2
+ 631:  0f e8 90 90 90 90 90 [  ]*psubsb 0x90909090\(%eax\),%mm2
+ 638:  0f e9 90 90 90 90 90 [  ]*psubsw 0x90909090\(%eax\),%mm2
+ 63f:  0f eb 90 90 90 90 90 [  ]*por    0x90909090\(%eax\),%mm2
+ 646:  0f ec 90 90 90 90 90 [  ]*paddsb 0x90909090\(%eax\),%mm2
+ 64d:  0f ed 90 90 90 90 90 [  ]*paddsw 0x90909090\(%eax\),%mm2
+ 654:  0f ef 90 90 90 90 90 [  ]*pxor   0x90909090\(%eax\),%mm2
+ 65b:  0f f1 90 90 90 90 90 [  ]*psllw  0x90909090\(%eax\),%mm2
+ 662:  0f f2 90 90 90 90 90 [  ]*pslld  0x90909090\(%eax\),%mm2
+ 669:  0f f3 90 90 90 90 90 [  ]*psllq  0x90909090\(%eax\),%mm2
+ 670:  0f f5 90 90 90 90 90 [  ]*pmaddwd 0x90909090\(%eax\),%mm2
+ 677:  0f f8 90 90 90 90 90 [  ]*psubb  0x90909090\(%eax\),%mm2
+ 67e:  0f f9 90 90 90 90 90 [  ]*psubw  0x90909090\(%eax\),%mm2
+ 685:  0f fa 90 90 90 90 90 [  ]*psubd  0x90909090\(%eax\),%mm2
+ 68c:  0f fc 90 90 90 90 90 [  ]*paddb  0x90909090\(%eax\),%mm2
+ 693:  0f fd 90 90 90 90 90 [  ]*paddw  0x90909090\(%eax\),%mm2
+ 69a:  0f fe 90 90 90 90 90 [  ]*paddd  0x90909090\(%eax\),%mm2
+ 6a1:  66 01 90 90 90 90 90 [  ]*add    %dx,0x90909090\(%eax\)
+ 6a8:  66 03 90 90 90 90 90 [  ]*add    0x90909090\(%eax\),%dx
+ 6af:  66 05 90 90 [   ]*add    \$0x9090,%ax
+ 6b3:  66 06 [         ]*pushw  %es
+ 6b5:  66 07 [         ]*popw   %es
+ 6b7:  66 09 90 90 90 90 90 [  ]*or     %dx,0x90909090\(%eax\)
+ 6be:  66 0b 90 90 90 90 90 [  ]*or     0x90909090\(%eax\),%dx
+ 6c5:  66 0d 90 90 [   ]*or     \$0x9090,%ax
+ 6c9:  66 0e [         ]*pushw  %cs
+ 6cb:  66 11 90 90 90 90 90 [  ]*adc    %dx,0x90909090\(%eax\)
+ 6d2:  66 13 90 90 90 90 90 [  ]*adc    0x90909090\(%eax\),%dx
+ 6d9:  66 15 90 90 [   ]*adc    \$0x9090,%ax
+ 6dd:  66 16 [         ]*pushw  %ss
+ 6df:  66 17 [         ]*popw   %ss
+ 6e1:  66 19 90 90 90 90 90 [  ]*sbb    %dx,0x90909090\(%eax\)
+ 6e8:  66 1b 90 90 90 90 90 [  ]*sbb    0x90909090\(%eax\),%dx
+ 6ef:  66 1d 90 90 [   ]*sbb    \$0x9090,%ax
+ 6f3:  66 1e [         ]*pushw  %ds
+ 6f5:  66 1f [         ]*popw   %ds
+ 6f7:  66 21 90 90 90 90 90 [  ]*and    %dx,0x90909090\(%eax\)
+ 6fe:  66 23 90 90 90 90 90 [  ]*and    0x90909090\(%eax\),%dx
+ 705:  66 25 90 90 [   ]*and    \$0x9090,%ax
+ 709:  66 29 90 90 90 90 90 [  ]*sub    %dx,0x90909090\(%eax\)
+ 710:  66 2b 90 90 90 90 90 [  ]*sub    0x90909090\(%eax\),%dx
+ 717:  66 2d 90 90 [   ]*sub    \$0x9090,%ax
+ 71b:  66 31 90 90 90 90 90 [  ]*xor    %dx,0x90909090\(%eax\)
+ 722:  66 33 90 90 90 90 90 [  ]*xor    0x90909090\(%eax\),%dx
+ 729:  66 35 90 90 [   ]*xor    \$0x9090,%ax
+ 72d:  66 39 90 90 90 90 90 [  ]*cmp    %dx,0x90909090\(%eax\)
+ 734:  66 3b 90 90 90 90 90 [  ]*cmp    0x90909090\(%eax\),%dx
+ 73b:  66 3d 90 90 [   ]*cmp    \$0x9090,%ax
+ 73f:  66 40 [         ]*inc    %ax
+ 741:  66 41 [         ]*inc    %cx
+ 743:  66 42 [         ]*inc    %dx
+ 745:  66 43 [         ]*inc    %bx
+ 747:  66 44 [         ]*inc    %sp
+ 749:  66 45 [         ]*inc    %bp
+ 74b:  66 46 [         ]*inc    %si
+ 74d:  66 47 [         ]*inc    %di
+ 74f:  66 48 [         ]*dec    %ax
+ 751:  66 49 [         ]*dec    %cx
+ 753:  66 4a [         ]*dec    %dx
+ 755:  66 4b [         ]*dec    %bx
+ 757:  66 4c [         ]*dec    %sp
+ 759:  66 4d [         ]*dec    %bp
+ 75b:  66 4e [         ]*dec    %si
+ 75d:  66 4f [         ]*dec    %di
+ 75f:  66 50 [         ]*push   %ax
+ 761:  66 51 [         ]*push   %cx
+ 763:  66 52 [         ]*push   %dx
+ 765:  66 53 [         ]*push   %bx
+ 767:  66 54 [         ]*push   %sp
+ 769:  66 55 [         ]*push   %bp
+ 76b:  66 56 [         ]*push   %si
+ 76d:  66 57 [         ]*push   %di
+ 76f:  66 58 [         ]*pop    %ax
+ 771:  66 59 [         ]*pop    %cx
+ 773:  66 5a [         ]*pop    %dx
+ 775:  66 5b [         ]*pop    %bx
+ 777:  66 5c [         ]*pop    %sp
+ 779:  66 5d [         ]*pop    %bp
+ 77b:  66 5e [         ]*pop    %si
+ 77d:  66 5f [         ]*pop    %di
+ 77f:  66 60 [         ]*pushaw 
+ 781:  66 61 [         ]*popaw  
+ 783:  66 62 90 90 90 90 90 [  ]*bound  %dx,0x90909090\(%eax\)
+ 78a:  66 68 90 90 [   ]*pushw  \$0x9090
+ 78e:  66 69 90 90 90 90 90 90 90 [    ]*imul   \$0x9090,0x90909090\(%eax\),%dx
+ 797:  66 6a 90 [      ]*pushw  \$0xffffff90
+ 79a:  66 6b 90 90 90 90 90 90 [       ]*imul   \$0xffffff90,0x90909090\(%eax\),%dx
+ 7a2:  66 6d [         ]*insw   \(%dx\),%es:\(%edi\)
+ 7a4:  66 6f [         ]*outsw  %ds:\(%esi\),\(%dx\)
+ 7a6:  66 81 90 90 90 90 90 90 90 [    ]*adcw   \$0x9090,0x90909090\(%eax\)
+ 7af:  66 83 90 90 90 90 90 90 [       ]*adcw   \$0xffffff90,0x90909090\(%eax\)
+ 7b7:  66 85 90 90 90 90 90 [  ]*test   %dx,0x90909090\(%eax\)
+ 7be:  66 87 90 90 90 90 90 [  ]*xchg   %dx,0x90909090\(%eax\)
+ 7c5:  66 89 90 90 90 90 90 [  ]*mov    %dx,0x90909090\(%eax\)
+ 7cc:  66 8b 90 90 90 90 90 [  ]*mov    0x90909090\(%eax\),%dx
+ 7d3:  66 8c 90 90 90 90 90 [  ]*movw   %ss,0x90909090\(%eax\)
+ 7da:  66 8d 90 90 90 90 90 [  ]*lea    0x90909090\(%eax\),%dx
+ 7e1:  66 8f 80 90 90 90 90 [  ]*popw   0x90909090\(%eax\)
+ 7e8:  66 91 [         ]*xchg   %ax,%cx
+ 7ea:  66 92 [         ]*xchg   %ax,%dx
+ 7ec:  66 93 [         ]*xchg   %ax,%bx
+ 7ee:  66 94 [         ]*xchg   %ax,%sp
+ 7f0:  66 95 [         ]*xchg   %ax,%bp
+ 7f2:  66 96 [         ]*xchg   %ax,%si
+ 7f4:  66 97 [         ]*xchg   %ax,%di
+ 7f6:  66 98 [         ]*cbtw   
+ 7f8:  66 99 [         ]*cwtd   
+ 7fa:  66 9a 90 90 90 90 [     ]*lcallw \$0x9090,\$0x9090
+ 800:  66 9c [         ]*pushfw 
+ 802:  66 9d [         ]*popfw  
+ 804:  66 a1 90 90 90 90 [     ]*mov    0x90909090,%ax
+ 80a:  66 a3 90 90 90 90 [     ]*mov    %ax,0x90909090
+ 810:  66 a5 [         ]*movsw  %ds:\(%esi\),%es:\(%edi\)
+ 812:  66 a7 [         ]*cmpsw  %es:\(%edi\),%ds:\(%esi\)
+ 814:  66 a9 90 90 [   ]*test   \$0x9090,%ax
+ 818:  66 ab [         ]*stos   %ax,%es:\(%edi\)
+ 81a:  66 ad [         ]*lods   %ds:\(%esi\),%ax
+ 81c:  66 af [         ]*scas   %es:\(%edi\),%ax
+ 81e:  66 b8 90 90 [   ]*mov    \$0x9090,%ax
+ 822:  66 b9 90 90 [   ]*mov    \$0x9090,%cx
+ 826:  66 ba 90 90 [   ]*mov    \$0x9090,%dx
+ 82a:  66 bb 90 90 [   ]*mov    \$0x9090,%bx
+ 82e:  66 bc 90 90 [   ]*mov    \$0x9090,%sp
+ 832:  66 bd 90 90 [   ]*mov    \$0x9090,%bp
+ 836:  66 be 90 90 [   ]*mov    \$0x9090,%si
+ 83a:  66 bf 90 90 [   ]*mov    \$0x9090,%di
+ 83e:  66 c1 90 90 90 90 90 90 [       ]*rclw   \$0x90,0x90909090\(%eax\)
+ 846:  66 c2 90 90 [   ]*retw   \$0x9090
+ 84a:  66 c3 [         ]*retw   
+ 84c:  66 c4 90 90 90 90 90 [  ]*les    0x90909090\(%eax\),%dx
+ 853:  66 c5 90 90 90 90 90 [  ]*lds    0x90909090\(%eax\),%dx
+ 85a:  66 c7 80 90 90 90 90 90 90 [    ]*movw   \$0x9090,0x90909090\(%eax\)
+ 863:  66 c8 90 90 90 [        ]*enterw \$0x9090,\$0x90
+ 868:  66 c9 [         ]*leavew 
+ 86a:  66 ca 90 90 [   ]*lretw  \$0x9090
+ 86e:  66 cb [         ]*lretw  
+ 870:  66 cf [         ]*iretw  
+ 872:  66 d1 90 90 90 90 90 [  ]*rclw   0x90909090\(%eax\)
+ 879:  66 d3 90 90 90 90 90 [  ]*rclw   %cl,0x90909090\(%eax\)
+ 880:  66 e5 90 [      ]*in     \$0x90,%ax
+ 883:  66 e7 90 [      ]*out    %ax,\$0x90
+ 886:  66 e8 8f 90 [   ]*callw  (0x)?9919.*
+ 88a:  66 ea 90 90 90 90 [     ]*ljmpw  \$0x9090,\$0x9090
+ 890:  66 ed [         ]*in     \(%dx\),%ax
+ 892:  66 ef [         ]*out    %ax,\(%dx\)
+ 894:  66 f7 90 90 90 90 90 [  ]*notw   0x90909090\(%eax\)
+ 89b:  66 ff 90 90 90 90 90 [  ]*callw  \*0x90909090\(%eax\)
+ 8a2:  66 0f 02 90 90 90 90 90 [       ]*lar    0x90909090\(%eax\),%dx
+ 8aa:  66 0f 03 90 90 90 90 90 [       ]*lsl    0x90909090\(%eax\),%dx
+ 8b2:  66 0f 40 90 90 90 90 90 [       ]*cmovo  0x90909090\(%eax\),%dx
+ 8ba:  66 0f 41 90 90 90 90 90 [       ]*cmovno 0x90909090\(%eax\),%dx
+ 8c2:  66 0f 42 90 90 90 90 90 [       ]*cmovb  0x90909090\(%eax\),%dx
+ 8ca:  66 0f 43 90 90 90 90 90 [       ]*cmovae 0x90909090\(%eax\),%dx
+ 8d2:  66 0f 44 90 90 90 90 90 [       ]*cmove  0x90909090\(%eax\),%dx
+ 8da:  66 0f 45 90 90 90 90 90 [       ]*cmovne 0x90909090\(%eax\),%dx
+ 8e2:  66 0f 46 90 90 90 90 90 [       ]*cmovbe 0x90909090\(%eax\),%dx
+ 8ea:  66 0f 47 90 90 90 90 90 [       ]*cmova  0x90909090\(%eax\),%dx
+ 8f2:  66 0f 48 90 90 90 90 90 [       ]*cmovs  0x90909090\(%eax\),%dx
+ 8fa:  66 0f 49 90 90 90 90 90 [       ]*cmovns 0x90909090\(%eax\),%dx
+ 902:  66 0f 4a 90 90 90 90 90 [       ]*cmovp  0x90909090\(%eax\),%dx
+ 90a:  66 0f 4b 90 90 90 90 90 [       ]*cmovnp 0x90909090\(%eax\),%dx
+ 912:  66 0f 4c 90 90 90 90 90 [       ]*cmovl  0x90909090\(%eax\),%dx
+ 91a:  66 0f 4d 90 90 90 90 90 [       ]*cmovge 0x90909090\(%eax\),%dx
+ 922:  66 0f 4e 90 90 90 90 90 [       ]*cmovle 0x90909090\(%eax\),%dx
+ 92a:  66 0f 4f 90 90 90 90 90 [       ]*cmovg  0x90909090\(%eax\),%dx
+ 932:  66 0f a0 [      ]*pushw  %fs
+ 935:  66 0f a1 [      ]*popw   %fs
+ 938:  66 0f a3 90 90 90 90 90 [       ]*bt     %dx,0x90909090\(%eax\)
+ 940:  66 0f a4 90 90 90 90 90 90 [    ]*shld   \$0x90,%dx,0x90909090\(%eax\)
+ 949:  66 0f a5 90 90 90 90 90 [       ]*shld   %cl,%dx,0x90909090\(%eax\)
+ 951:  66 0f a8 [      ]*pushw  %gs
+ 954:  66 0f a9 [      ]*popw   %gs
+ 957:  66 0f ab 90 90 90 90 90 [       ]*bts    %dx,0x90909090\(%eax\)
+ 95f:  66 0f ac 90 90 90 90 90 90 [    ]*shrd   \$0x90,%dx,0x90909090\(%eax\)
+ 968:  66 0f ad 90 90 90 90 90 [       ]*shrd   %cl,%dx,0x90909090\(%eax\)
+ 970:  66 0f af 90 90 90 90 90 [       ]*imul   0x90909090\(%eax\),%dx
+ 978:  66 0f b1 90 90 90 90 90 [       ]*cmpxchg %dx,0x90909090\(%eax\)
+ 980:  66 0f b2 90 90 90 90 90 [       ]*lss    0x90909090\(%eax\),%dx
+ 988:  66 0f b3 90 90 90 90 90 [       ]*btr    %dx,0x90909090\(%eax\)
+ 990:  66 0f b4 90 90 90 90 90 [       ]*lfs    0x90909090\(%eax\),%dx
+ 998:  66 0f b5 90 90 90 90 90 [       ]*lgs    0x90909090\(%eax\),%dx
+ 9a0:  66 0f b6 90 90 90 90 90 [       ]*movzbw 0x90909090\(%eax\),%dx
+ 9a8:  66 0f bb 90 90 90 90 90 [       ]*btc    %dx,0x90909090\(%eax\)
+ 9b0:  66 0f bc 90 90 90 90 90 [       ]*bsf    0x90909090\(%eax\),%dx
+ 9b8:  66 0f bd 90 90 90 90 90 [       ]*bsr    0x90909090\(%eax\),%dx
+ 9c0:  66 0f be 90 90 90 90 90 [       ]*movsbw 0x90909090\(%eax\),%dx
+ 9c8:  66 0f c1 90 90 90 90 90 [       ]*xadd   %dx,0x90909090\(%eax\)
diff --git a/gas/testsuite/gas/i386/intel.s b/gas/testsuite/gas/i386/intel.s
new file mode 100644 (file)
index 0000000..4f5a965
--- /dev/null
@@ -0,0 +1,568 @@
+.text
+.intel_syntax noprefix
+foo:
+ add    byte ptr 0x90909090[eax], dl
+ add    dword ptr 0x90909090[eax], edx
+ add    dl, byte ptr 0x90909090[eax]
+ add    edx, dword ptr 0x90909090[eax]
+ add    al, 0x90
+ add    eax, 0x90909090
+ push   es
+ pop    es
+ or     [eax+0x90909090], dl
+ or     [eax+0x90909090], edx
+ or     dl, [eax+0x90909090]
+ or     edx, [eax+0x90909090]
+ or     al, 0x90
+ or     eax, 0x90909090
+ push   cs
+ adc    byte ptr [eax+0x90909090], dl
+ adc    dword ptr [eax+0x90909090], edx
+ adc    dl, byte ptr [eax+0x90909090]
+ adc    edx, dword ptr [eax+0x90909090]
+ adc    al, 0x90
+ adc    eax, 0x90909090
+ push   ss
+ pop    ss
+ sbb    0x90909090[eax], dl
+ sbb    0x90909090[eax], edx
+ sbb    dl, 0x90909090[eax]
+ sbb    edx, 0x90909090[eax]
+ sbb    al, 0x90
+ sbb    eax, 0x90909090
+ push   ds
+ pop    ds
+ and    0x90909090[eax], dl
+ and    0x90909090[eax], edx
+ and    dl, 0x90909090[eax]
+ and    edx, 0x90909090[eax]
+ and    al, 0x90
+ and    eax, 0x90909090
+ daa
+ sub    0x90909090[eax], dl
+ sub    0x90909090[eax], edx
+ sub    dl, 0x90909090[eax]
+ sub    edx, 0x90909090[eax]
+ sub    al, 0x90
+ sub    eax, 0x90909090
+ das
+ xor    0x90909090[eax], dl
+ xor    0x90909090[eax], edx
+ xor    dl, 0x90909090[eax]
+ xor    edx, 0x90909090[eax]
+ xor    al, 0x90
+ xor    eax, 0x90909090
+ aaa
+ cmp    0x90909090[eax], dl
+ cmp    0x90909090[eax], edx
+ cmp    dl, 0x90909090[eax]
+ cmp    edx, 0x90909090[eax]
+ cmp    al, 0x90
+ cmp    eax, 0x90909090
+ aas
+ inc    eax
+ inc    ecx
+ inc    edx
+ inc    ebx
+ inc    esp
+ inc    ebp
+ inc    esi
+ inc    edi
+ dec    eax
+ dec    ecx
+ dec    edx
+ dec    ebx
+ dec    esp
+ dec    ebp
+ dec    esi
+ dec    edi
+ push   eax
+ push   ecx
+ push   edx
+ push   ebx
+ push   esp
+ push   ebp
+ push   esi
+ push   edi
+ pop    eax
+ pop    ecx
+ pop    edx
+ pop    ebx
+ pop    esp
+ pop    ebp
+ pop    esi
+ pop    edi
+ pusha
+ popa
+ bound  edx, 0x90909090[eax]
+ arpl   0x90909090[eax], dx
+ push   0x90909090
+ imul   edx, 0x90909090[eax], 0x90909090
+ push   0xffffff90
+ imul   edx, 0x90909090[eax], 0xffffff90
+ ins    byte ptr es:[edi], dx
+ ins    dword ptr es:[edi], dx
+ outs   dx, byte ptr ds:[esi]
+ outs   dx, dword ptr ds:[esi]
+ jo     .+2-0x70
+ jno    .+2-0x70
+ jb     .+2-0x70
+ jae    .+2-0x70
+ je     .+2-0x70
+ jne    .+2-0x70
+ jbe    .+2-0x70
+ ja     .+2-0x70
+ js     .+2-0x70
+ jns    .+2-0x70
+ jp     .+2-0x70
+ jnp    .+2-0x70
+ jl     .+2-0x70
+ jge    .+2-0x70
+ jle    .+2-0x70
+ jg     .+2-0x70
+ adc    byte ptr 0x90909090[eax], 0x90
+ adc    dword ptr 0x90909090[eax], 0x90909090
+ adc    dword ptr 0x90909090[eax], 0xffffff90
+ test   0x90909090[eax], dl
+ test   0x90909090[eax], edx
+ xchg   0x90909090[eax], dl
+ xchg   0x90909090[eax], edx
+ mov    0x90909090[eax], dl
+ mov    0x90909090[eax], edx
+ mov    dl, 0x90909090[eax]
+ mov    edx, 0x90909090[eax]
+ mov    dword ptr 0x90909090[eax], ss
+ lea    edx, 0x90909090[eax]
+ mov    ss, dword ptr 0x90909090[eax]
+ pop    dword ptr 0x90909090[eax]
+ xchg   eax, eax
+ xchg   ecx, eax
+ xchg   edx, eax
+ xchg   ebx, eax
+ xchg   esp, eax
+ xchg   ebp, eax
+ xchg   esi, eax
+ xchg   edi, eax
+ cwde
+ cdq
+ call   0x9090,0x90909090
+ fwait
+ pushf
+ popf
+ sahf
+ lahf
+ mov    al, [0x90909090]
+ mov    eax, [0x90909090]
+ mov    [0x90909090], al
+ mov    [0x90909090], eax
+ movs   byte ptr es:[edi], byte ptr ds:[esi]
+ movs   dword ptr es:[edi], dword ptr ds:[esi]
+ cmps   byte ptr ds:[esi], byte ptr es:[edi]
+ cmps   dword ptr ds:[esi], dword ptr es:[edi]
+ test   al, 0x90
+ test   eax, 0x90909090
+ stos   byte ptr es:[edi], al
+ stos   dword ptr es:[edi], eax
+ lods   al, byte ptr ds:[esi]
+ lods   eax, dword ptr ds:[esi]
+ scas   al, byte ptr es:[edi]
+ scas   eax, dword ptr es:[edi]
+ mov    al, 0x90
+ mov    cl, 0x90
+ mov    dl, 0x90
+ mov    bl, 0x90
+ mov    ah, 0x90
+ mov    ch, 0x90
+ mov    dh, 0x90
+ mov    bh, 0x90
+ mov    eax, 0x90909090
+ mov    ecx, 0x90909090
+ mov    edx, 0x90909090
+ mov    ebx, 0x90909090
+ mov    esp, 0x90909090
+ mov    ebp, 0x90909090
+ mov    esi, 0x90909090
+ mov    edi, 0x90909090
+ rcl    byte ptr 0x90909090[eax], 0x90
+ rcl    dword ptr 0x90909090[eax], 0x90
+ ret    0x9090
+ ret
+ les    edx, 0x90909090[eax]
+ lds    edx, 0x90909090[eax]
+ mov    byte ptr 0x90909090[eax], 0x90
+ mov    dword ptr 0x90909090[eax], 0x90909090
+ enter  0x9090, 0x90
+ leave
+ lret   0x9090
+ lret
+ int3
+ int    0x90
+ into
+ iret
+ rcl    byte ptr 0x90909090[eax]
+ rcl    dword ptr 0x90909090[eax]
+ rcl    byte ptr 0x90909090[eax], cl
+ rcl    dword ptr 0x90909090[eax], cl
+ aam    0xffffff90
+ aad    0xffffff90
+ xlat   byte ptr ds:[ebx]
+ fcom   dword ptr 0x90909090[eax]
+ fst    dword ptr 0x90909090[eax]
+ ficom  dword ptr 0x90909090[eax]
+ fist   dword ptr 0x90909090[eax]
+ fcom   qword ptr 0x90909090[eax]
+ fst    qword ptr 0x90909090[eax]
+ ficom  word ptr 0x90909090[eax]
+ fist   word ptr 0x90909090[eax]
+ loopne .+2-0x70
+ loope  .+2-0x70
+ loop   .+2-0x70
+ jecxz  .+2-0x70
+ in     al, 0x90
+ in     eax, 0x90
+ out    0x90, al
+ out    0x90, eax
+ call   .+5+0x90909090
+ jmp    .+5+0x90909090
+ jmp    0x9090,0x90909090
+ jmp    .+2-0x70
+ in     al, dx
+ in     eax, dx
+ out    dx, al
+ out    dx, eax
+ hlt
+ cmc
+ not    byte ptr 0x90909090[eax]
+ not    dword ptr 0x90909090[eax]
+ clc
+ stc
+ cli
+ sti
+ cld
+ std
+ call   dword ptr 0x90909090[eax]
+ lldt   0x90909090[eax]
+ lgdt   0x90909090[eax]
+ lar    edx, 0x90909090[eax]
+ lsl    edx, 0x90909090[eax]
+ clts
+ invd
+ wbinvd
+ ud2a
+ mov    eax, cr2
+ mov    eax, db2
+ mov    cr2, eax
+ mov    db2, eax
+ mov    eax, tr2
+ mov    tr2, eax
+ wrmsr
+ rdtsc
+ rdmsr
+ rdpmc
+ cmovo  edx, 0x90909090[eax]
+ cmovno edx, 0x90909090[eax]
+ cmovb  edx, 0x90909090[eax]
+ cmovae edx, 0x90909090[eax]
+ cmove  edx, 0x90909090[eax]
+ cmovne edx, 0x90909090[eax]
+ cmovbe edx, 0x90909090[eax]
+ cmova  edx, 0x90909090[eax]
+ cmovs  edx, 0x90909090[eax]
+ cmovns edx, 0x90909090[eax]
+ cmovp  edx, 0x90909090[eax]
+ cmovnp edx, 0x90909090[eax]
+ cmovl  edx, 0x90909090[eax]
+ cmovge edx, 0x90909090[eax]
+ cmovle edx, 0x90909090[eax]
+ cmovg  edx, 0x90909090[eax]
+ punpcklbw mm2, 0x90909090[eax]
+ punpcklwd mm2, 0x90909090[eax]
+ punpckldq mm2, 0x90909090[eax]
+ packsswb mm2, 0x90909090[eax]
+ pcmpgtb mm2, 0x90909090[eax]
+ pcmpgtw mm2, 0x90909090[eax]
+ pcmpgtd mm2, 0x90909090[eax]
+ packuswb mm2, 0x90909090[eax]
+ punpckhbw mm2, 0x90909090[eax]
+ punpckhwd mm2, 0x90909090[eax]
+ punpckhdq mm2, 0x90909090[eax]
+ packssdw mm2, 0x90909090[eax]
+ movd   mm2, 0x90909090[eax]
+ movq   mm2, 0x90909090[eax]
+ psrlw  mm0, 0x90
+ psrld  mm0, 0x90
+ psrlq  mm0, 0x90
+ pcmpeqb mm2, 0x90909090[eax]
+ pcmpeqw mm2, 0x90909090[eax]
+ pcmpeqd mm2, 0x90909090[eax]
+ emms
+ movd   0x90909090[eax], mm2
+ movq   0x90909090[eax], mm2
+ jo     .+6+0x90909090
+ jno    .+6+0x90909090
+ jb     .+6+0x90909090
+ jae    .+6+0x90909090
+ je     .+6+0x90909090
+ jne    .+6+0x90909090
+ jbe    .+6+0x90909090
+ ja     .+6+0x90909090
+ js     .+6+0x90909090
+ jns    .+6+0x90909090
+ jp     .+6+0x90909090
+ jnp    .+6+0x90909090
+ jl     .+6+0x90909090
+ jge    .+6+0x90909090
+ jle    .+6+0x90909090
+ jg     .+6+0x90909090
+ seto   0x90909090[eax]
+ setno  0x90909090[eax]
+ setb   0x90909090[eax]
+ setae  0x90909090[eax]
+ sete   0x90909090[eax]
+ setne  0x90909090[eax]
+ setbe  0x90909090[eax]
+ seta   0x90909090[eax]
+ sets   0x90909090[eax]
+ setns  0x90909090[eax]
+ setp   0x90909090[eax]
+ setnp  0x90909090[eax]
+ setl   0x90909090[eax]
+ setge  0x90909090[eax]
+ setle  0x90909090[eax]
+ setg   0x90909090[eax]
+ push   fs
+ pop    fs
+ cpuid
+ bt     0x90909090[eax], edx
+ shld   0x90909090[eax], edx, 0x90
+ shld   0x90909090[eax], edx, cl
+ push   gs
+ pop    gs
+ rsm
+ bts    0x90909090[eax], edx
+ shrd   0x90909090[eax], edx, 0x90
+ shrd   0x90909090[eax], edx, cl
+ imul   edx, 0x90909090[eax]
+ cmpxchg 0x90909090[eax], dl
+ cmpxchg 0x90909090[eax], edx
+ lss    edx, 0x90909090[eax]
+ btr    0x90909090[eax], edx
+ lfs    edx, 0x90909090[eax]
+ lgs    edx, 0x90909090[eax]
+ movzx  edx, byte ptr 0x90909090[eax]
+ movzx  edx, word ptr 0x90909090[eax]
+ ud2b
+ btc    0x90909090[eax], edx
+ bsf    edx, 0x90909090[eax]
+ bsr    edx, 0x90909090[eax]
+ movsx  edx, byte ptr 0x90909090[eax]
+ movsx  edx, word ptr 0x90909090[eax]
+ xadd   0x90909090[eax], dl
+ xadd   0x90909090[eax], edx
+ bswap  eax
+ bswap  ecx
+ bswap  edx
+ bswap  ebx
+ bswap  esp
+ bswap  ebp
+ bswap  esi
+ bswap  edi
+ psrlw  mm2, 0x90909090[eax]
+ psrld  mm2, 0x90909090[eax]
+ psrlq  mm2, 0x90909090[eax]
+ pmullw mm2, 0x90909090[eax]
+ psubusb mm2, 0x90909090[eax]
+ psubusw mm2, 0x90909090[eax]
+ pand   mm2, 0x90909090[eax]
+ paddusb mm2, 0x90909090[eax]
+ paddusw mm2, 0x90909090[eax]
+ pandn  mm2, 0x90909090[eax]
+ psraw  mm2, 0x90909090[eax]
+ psrad  mm2, 0x90909090[eax]
+ pmulhw mm2, 0x90909090[eax]
+ psubsb mm2, 0x90909090[eax]
+ psubsw mm2, 0x90909090[eax]
+ por    mm2, 0x90909090[eax]
+ paddsb mm2, 0x90909090[eax]
+ paddsw mm2, 0x90909090[eax]
+ pxor   mm2, 0x90909090[eax]
+ psllw  mm2, 0x90909090[eax]
+ pslld  mm2, 0x90909090[eax]
+ psllq  mm2, 0x90909090[eax]
+ pmaddwd mm2, 0x90909090[eax]
+ psubb  mm2, 0x90909090[eax]
+ psubw  mm2, 0x90909090[eax]
+ psubd  mm2, 0x90909090[eax]
+ paddb  mm2, 0x90909090[eax]
+ paddw  mm2, 0x90909090[eax]
+ paddd  mm2, 0x90909090[eax]
+ add    0x90909090[eax], dx
+ add    dx, 0x90909090[eax]
+ add    ax, 0x9090
+ pushw  es
+ popw   es
+ or     0x90909090[eax], dx
+ or     dx, 0x90909090[eax]
+ or     ax, 0x9090
+ pushw  cs
+ adc    0x90909090[eax], dx
+ adc    dx, 0x90909090[eax]
+ adc    ax, 0x9090
+ pushw  ss
+ popw   ss
+ sbb    0x90909090[eax], dx
+ sbb    dx, 0x90909090[eax]
+ sbb    ax, 0x9090
+ pushw  ds
+ popw   ds
+ and    0x90909090[eax], dx
+ and    dx, 0x90909090[eax]
+ and    ax, 0x9090
+ sub    0x90909090[eax], dx
+ sub    dx, 0x90909090[eax]
+ sub    ax, 0x9090
+ xor    0x90909090[eax], dx
+ xor    dx, 0x90909090[eax]
+ xor    ax, 0x9090
+ cmp    0x90909090[eax], dx
+ cmp    dx, 0x90909090[eax]
+ cmp    ax, 0x9090
+ inc    ax
+ inc    cx
+ inc    dx
+ inc    bx
+ inc    sp
+ inc    bp
+ inc    si
+ inc    di
+ dec    ax
+ dec    cx
+ dec    dx
+ dec    bx
+ dec    sp
+ dec    bp
+ dec    si
+ dec    di
+ push   ax
+ push   cx
+ push   dx
+ push   bx
+ push   sp
+ push   bp
+ push   si
+ push   di
+ pop    ax
+ pop    cx
+ pop    dx
+ pop    bx
+ pop    sp
+ pop    bp
+ pop    si
+ pop    di
+ pushaw                        # how should we specify a word push all regs?
+ popaw                 # ditto for popa
+ bound  dx, 0x90909090[eax]
+ pushw  0x9090
+ imul   dx, 0x90909090[eax], 0x9090
+ pushw  0xff90
+ imul   dx, 0x90909090[eax], 0xff90
+ ins    word ptr es:[edi], dx
+ outs   dx, word ptr ds:[esi]
+ adc    word ptr 0x90909090[eax], 0x9090
+ adc    word ptr 0x90909090[eax], 0xff90
+ test   0x90909090[eax], dx
+ xchg   0x90909090[eax], dx
+ mov    0x90909090[eax], dx
+ mov    dx, 0x90909090[eax]
+ mov    word ptr 0x90909090[eax], ss
+ lea    dx, 0x90909090[eax]
+ pop    word ptr 0x90909090[eax]
+ xchg   cx, ax
+ xchg   dx, ax
+ xchg   bx, ax
+ xchg   sp, ax
+ xchg   bp, ax
+ xchg   si, ax
+ xchg   di, ax
+ cbtw
+ cwtd
+ callw  0x9090,0x9090
+ pushfw
+ popfw
+ mov    ax, [0x90909090]
+ mov    [0x90909090], ax
+ movs   word ptr es:[edi], word ptr ds:[esi]
+ cmps   word ptr ds:[esi], word ptr es:[edi]
+ test   ax, 0x9090
+ stos   word ptr es:[edi], ax
+ lods   ax, word ptr ds:[esi]
+ scas   ax, word ptr es:[edi]
+ mov    ax, 0x9090
+ mov    cx, 0x9090
+ mov    dx, 0x9090
+ mov    bx, 0x9090
+ mov    sp, 0x9090
+ mov    bp, 0x9090
+ mov    si, 0x9090
+ mov    di, 0x9090
+ rcl    word ptr 0x90909090[eax], 0x90
+ retw   0x9090
+ retw
+ les    dx, 0x90909090[eax]
+ lds    dx, 0x90909090[eax]
+ mov    word ptr 0x90909090[eax], 0x9090
+ enterw 0x9090, 0x90
+ leavew
+ lretw  0x9090
+ lretw
+ iretw
+ rcl    word ptr 0x90909090[eax]
+ rcl    word ptr 0x90909090[eax], cl
+ in     ax, 0x90
+ out    0x90, ax
+ call   word ptr .+3+0x9090
+ jmpw   0x9090,0x9090
+ in     ax, dx
+ out    dx, ax
+ not    word ptr 0x90909090[eax]
+ call   word ptr 0x90909090[eax]
+ lar    dx, 0x90909090[eax]
+ lsl    dx, 0x90909090[eax]
+ cmovo  dx, 0x90909090[eax]
+ cmovno dx, 0x90909090[eax]
+ cmovb  dx, 0x90909090[eax]
+ cmovae dx, 0x90909090[eax]
+ cmove  dx, 0x90909090[eax]
+ cmovne dx, 0x90909090[eax]
+ cmovbe dx, 0x90909090[eax]
+ cmova  dx, 0x90909090[eax]
+ cmovs  dx, 0x90909090[eax]
+ cmovns dx, 0x90909090[eax]
+ cmovp  dx, 0x90909090[eax]
+ cmovnp dx, 0x90909090[eax]
+ cmovl  dx, 0x90909090[eax]
+ cmovge dx, 0x90909090[eax]
+ cmovle dx, 0x90909090[eax]
+ cmovg  dx, 0x90909090[eax]
+ pushw  fs
+ popw   fs
+ bt     0x90909090[eax], dx
+ shld   0x90909090[eax], dx, 0x90
+ shld   0x90909090[eax], dx, cl
+ pushw  gs
+ popw   gs
+ bts    0x90909090[eax], dx
+ shrd   0x90909090[eax], dx, 0x90
+ shrd   0x90909090[eax], dx, cl
+ imul   dx, 0x90909090[eax]
+ cmpxchg 0x90909090[eax], dx
+ lss    dx, 0x90909090[eax]
+ btr    0x90909090[eax], dx
+ lfs    dx, 0x90909090[eax]
+ lgs    dx, 0x90909090[eax]
+ movzx  dx, byte ptr 0x90909090[eax]
+ btc    0x90909090[eax], dx
+ bsf    dx, 0x90909090[eax]
+ bsr    dx, 0x90909090[eax]
+ movsx  dx, byte ptr 0x90909090[eax]
+ xadd   0x90909090[eax], dx
index 41b7dbb..1beea88 100644 (file)
@@ -1,3 +1,8 @@
+2000-02-25  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+       * i386.h (fild, fistp): Change intel d_Suf form to fildd and
+       fistpd without suffix.
+
 2000-02-24  Nick Clifton  <nickc@cygnus.com>
 
        * cgen.h (cgen_cpu_desc): Rename field 'flags' to
index ee7554b..8693ef0 100644 (file)
@@ -513,7 +513,7 @@ static const template i386_optab[] = {
 {"fld",    1,  0xdb, 5, x_FP|Modrm,            { LLongMem, 0, 0} }, /* %st0 <-- mem efloat */
 {"fild",   1,  0xdf, 0, sl_Suf|FloatMF|Modrm,  { ShortMem|LongMem, 0, 0} }, /* %st0 <-- mem word(16)/dword(32) */
 /* Intel Syntax */
-{"fild",  1,   0xdf, 5, d_Suf|IgnoreSize|Modrm,{ LLongMem, 0, 0} }, /* %st0 <-- mem qword (64) */
+{"fildd",  1,  0xdf, 5, FP|Modrm,              { LLongMem, 0, 0} }, /* %st0 <-- mem qword (64) */
 {"fildq",  1,  0xdf, 5, FP|Modrm,              { LLongMem, 0, 0} }, /* %st0 <-- mem qword (64) */
 {"fildll", 1,  0xdf, 5, FP|Modrm,              { LLongMem, 0, 0} }, /* %st0 <-- mem qword (64) */
 {"fldt",   1,  0xdb, 5, FP|Modrm,              { LLongMem, 0, 0} }, /* %st0 <-- mem efloat */
@@ -533,7 +533,7 @@ static const template i386_optab[] = {
 {"fstp",   1,  0xdb, 7, x_FP|Modrm,            { LLongMem, 0, 0} }, /* %st0 --> mem efloat */
 {"fistp",  1,  0xdf, 3, sl_FP|FloatMF|Modrm,   { ShortMem|LongMem, 0, 0} }, /* %st0 --> mem word(16)/dword(32) */
 /* Intel Syntax */
-{"fistp", 1,   0xdf, 7, d_FP|Modrm,            { LLongMem, 0, 0} }, /* %st0 --> mem qword (64) */
+{"fistpd", 1,  0xdf, 7, FP|Modrm,              { LLongMem, 0, 0} }, /* %st0 --> mem qword (64) */
 {"fistpq", 1,  0xdf, 7, FP|Modrm,              { LLongMem, 0, 0} }, /* %st0 --> mem qword (64) */
 {"fistpll",1,  0xdf, 7, FP|Modrm,              { LLongMem, 0, 0} }, /* %st0 --> mem qword (64) */
 {"fstpt",  1,  0xdb, 7, FP|Modrm,              { LLongMem, 0, 0} }, /* %st0 --> mem efloat */