aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-01-12 16:04:11 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-01-12 16:04:11 +0000
commitc7532693f2dc4939e87175093559b998022cb835 (patch)
tree3f348bcd60c64e067ce80f15649160701cea3b61
parent460e679b1285e11e1c05093a6447d40960dffa3b (diff)
downloadgdb-c7532693f2dc4939e87175093559b998022cb835.zip
gdb-c7532693f2dc4939e87175093559b998022cb835.tar.gz
gdb-c7532693f2dc4939e87175093559b998022cb835.tar.bz2
gas/testsuite/
2009-01-12 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/opts.s: Add tests for add, adc, and, cmp, or, sbb, sub and xor. * gas/i386/x86-64-opts.s: Likewise. * gas/i386/opts.d: Updated. * gas/i386/opts-intel.d: Likewise. * gas/i386/x86-64-opts.d: Likewise. * gas/i386/x86-64-opts-intel.d: Likewise. opcodes/ 2009-01-12 H.J. Lu <hongjiu.lu@intel.com> * i386-dis.c (dis386): Use EbS on addB, orB, adcB, sbbB, andB, subB, xorB and cmpB. Use EvS on addS, orS, adcS, sbbS, andS, subS, xorS and cmpS.
-rw-r--r--gas/testsuite/ChangeLog11
-rw-r--r--gas/testsuite/gas/i386/opts-intel.d144
-rw-r--r--gas/testsuite/gas/i386/opts.d144
-rw-r--r--gas/testsuite/gas/i386/opts.s144
-rw-r--r--gas/testsuite/gas/i386/x86-64-opts-intel.d192
-rw-r--r--gas/testsuite/gas/i386/x86-64-opts.d192
-rw-r--r--gas/testsuite/gas/i386/x86-64-opts.s192
-rw-r--r--opcodes/ChangeLog6
-rw-r--r--opcodes/i386-dis.c32
9 files changed, 1041 insertions, 16 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 3e422f3..5b5cf46 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,14 @@
+2009-01-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gas/i386/opts.s: Add tests for add, adc, and, cmp, or, sbb,
+ sub and xor.
+ * gas/i386/x86-64-opts.s: Likewise.
+
+ * gas/i386/opts.d: Updated.
+ * gas/i386/opts-intel.d: Likewise.
+ * gas/i386/x86-64-opts.d: Likewise.
+ * gas/i386/x86-64-opts-intel.d: Likewise.
+
2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/arch-10.s: Add clflush and syscall.
diff --git a/gas/testsuite/gas/i386/opts-intel.d b/gas/testsuite/gas/i386/opts-intel.d
index e51a659..9913c82 100644
--- a/gas/testsuite/gas/i386/opts-intel.d
+++ b/gas/testsuite/gas/i386/opts-intel.d
@@ -8,6 +8,54 @@
Disassembly of section .text:
0+ <_start>:
+[ ]*[a-f0-9]+: 00 d1 add cl,dl
+[ ]*[a-f0-9]+: 02 ca add.s cl,dl
+[ ]*[a-f0-9]+: 66 01 d1 add cx,dx
+[ ]*[a-f0-9]+: 66 03 ca add.s cx,dx
+[ ]*[a-f0-9]+: 01 d1 add ecx,edx
+[ ]*[a-f0-9]+: 03 ca add.s ecx,edx
+[ ]*[a-f0-9]+: 00 d1 add cl,dl
+[ ]*[a-f0-9]+: 02 ca add.s cl,dl
+[ ]*[a-f0-9]+: 66 01 d1 add cx,dx
+[ ]*[a-f0-9]+: 66 03 ca add.s cx,dx
+[ ]*[a-f0-9]+: 01 d1 add ecx,edx
+[ ]*[a-f0-9]+: 03 ca add.s ecx,edx
+[ ]*[a-f0-9]+: 10 d1 adc cl,dl
+[ ]*[a-f0-9]+: 12 ca adc.s cl,dl
+[ ]*[a-f0-9]+: 66 11 d1 adc cx,dx
+[ ]*[a-f0-9]+: 66 13 ca adc.s cx,dx
+[ ]*[a-f0-9]+: 11 d1 adc ecx,edx
+[ ]*[a-f0-9]+: 13 ca adc.s ecx,edx
+[ ]*[a-f0-9]+: 10 d1 adc cl,dl
+[ ]*[a-f0-9]+: 12 ca adc.s cl,dl
+[ ]*[a-f0-9]+: 66 11 d1 adc cx,dx
+[ ]*[a-f0-9]+: 66 13 ca adc.s cx,dx
+[ ]*[a-f0-9]+: 11 d1 adc ecx,edx
+[ ]*[a-f0-9]+: 13 ca adc.s ecx,edx
+[ ]*[a-f0-9]+: 20 d1 and cl,dl
+[ ]*[a-f0-9]+: 22 ca and.s cl,dl
+[ ]*[a-f0-9]+: 66 21 d1 and cx,dx
+[ ]*[a-f0-9]+: 66 23 ca and.s cx,dx
+[ ]*[a-f0-9]+: 21 d1 and ecx,edx
+[ ]*[a-f0-9]+: 23 ca and.s ecx,edx
+[ ]*[a-f0-9]+: 20 d1 and cl,dl
+[ ]*[a-f0-9]+: 22 ca and.s cl,dl
+[ ]*[a-f0-9]+: 66 21 d1 and cx,dx
+[ ]*[a-f0-9]+: 66 23 ca and.s cx,dx
+[ ]*[a-f0-9]+: 21 d1 and ecx,edx
+[ ]*[a-f0-9]+: 23 ca and.s ecx,edx
+[ ]*[a-f0-9]+: 38 d1 cmp cl,dl
+[ ]*[a-f0-9]+: 3a ca cmp.s cl,dl
+[ ]*[a-f0-9]+: 66 39 d1 cmp cx,dx
+[ ]*[a-f0-9]+: 66 3b ca cmp.s cx,dx
+[ ]*[a-f0-9]+: 39 d1 cmp ecx,edx
+[ ]*[a-f0-9]+: 3b ca cmp.s ecx,edx
+[ ]*[a-f0-9]+: 38 d1 cmp cl,dl
+[ ]*[a-f0-9]+: 3a ca cmp.s cl,dl
+[ ]*[a-f0-9]+: 66 39 d1 cmp cx,dx
+[ ]*[a-f0-9]+: 66 3b ca cmp.s cx,dx
+[ ]*[a-f0-9]+: 39 d1 cmp ecx,edx
+[ ]*[a-f0-9]+: 3b ca cmp.s ecx,edx
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
@@ -20,6 +68,54 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
+[ ]*[a-f0-9]+: 08 d1 or cl,dl
+[ ]*[a-f0-9]+: 0a ca or.s cl,dl
+[ ]*[a-f0-9]+: 66 09 d1 or cx,dx
+[ ]*[a-f0-9]+: 66 0b ca or.s cx,dx
+[ ]*[a-f0-9]+: 09 d1 or ecx,edx
+[ ]*[a-f0-9]+: 0b ca or.s ecx,edx
+[ ]*[a-f0-9]+: 08 d1 or cl,dl
+[ ]*[a-f0-9]+: 0a ca or.s cl,dl
+[ ]*[a-f0-9]+: 66 09 d1 or cx,dx
+[ ]*[a-f0-9]+: 66 0b ca or.s cx,dx
+[ ]*[a-f0-9]+: 09 d1 or ecx,edx
+[ ]*[a-f0-9]+: 0b ca or.s ecx,edx
+[ ]*[a-f0-9]+: 18 d1 sbb cl,dl
+[ ]*[a-f0-9]+: 1a ca sbb.s cl,dl
+[ ]*[a-f0-9]+: 66 19 d1 sbb cx,dx
+[ ]*[a-f0-9]+: 66 1b ca sbb.s cx,dx
+[ ]*[a-f0-9]+: 19 d1 sbb ecx,edx
+[ ]*[a-f0-9]+: 1b ca sbb.s ecx,edx
+[ ]*[a-f0-9]+: 18 d1 sbb cl,dl
+[ ]*[a-f0-9]+: 1a ca sbb.s cl,dl
+[ ]*[a-f0-9]+: 66 19 d1 sbb cx,dx
+[ ]*[a-f0-9]+: 66 1b ca sbb.s cx,dx
+[ ]*[a-f0-9]+: 19 d1 sbb ecx,edx
+[ ]*[a-f0-9]+: 1b ca sbb.s ecx,edx
+[ ]*[a-f0-9]+: 28 d1 sub cl,dl
+[ ]*[a-f0-9]+: 2a ca sub.s cl,dl
+[ ]*[a-f0-9]+: 66 29 d1 sub cx,dx
+[ ]*[a-f0-9]+: 66 2b ca sub.s cx,dx
+[ ]*[a-f0-9]+: 29 d1 sub ecx,edx
+[ ]*[a-f0-9]+: 2b ca sub.s ecx,edx
+[ ]*[a-f0-9]+: 28 d1 sub cl,dl
+[ ]*[a-f0-9]+: 2a ca sub.s cl,dl
+[ ]*[a-f0-9]+: 66 29 d1 sub cx,dx
+[ ]*[a-f0-9]+: 66 2b ca sub.s cx,dx
+[ ]*[a-f0-9]+: 29 d1 sub ecx,edx
+[ ]*[a-f0-9]+: 2b ca sub.s ecx,edx
+[ ]*[a-f0-9]+: 30 d1 xor cl,dl
+[ ]*[a-f0-9]+: 32 ca xor.s cl,dl
+[ ]*[a-f0-9]+: 66 31 d1 xor cx,dx
+[ ]*[a-f0-9]+: 66 33 ca xor.s cx,dx
+[ ]*[a-f0-9]+: 31 d1 xor ecx,edx
+[ ]*[a-f0-9]+: 33 ca xor.s ecx,edx
+[ ]*[a-f0-9]+: 30 d1 xor cl,dl
+[ ]*[a-f0-9]+: 32 ca xor.s cl,dl
+[ ]*[a-f0-9]+: 66 31 d1 xor cx,dx
+[ ]*[a-f0-9]+: 66 33 ca xor.s cx,dx
+[ ]*[a-f0-9]+: 31 d1 xor ecx,edx
+[ ]*[a-f0-9]+: 33 ca xor.s ecx,edx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4
@@ -70,12 +166,60 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s xmm2,xmm6,xmm4
[ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0
[ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0
+[ ]*[a-f0-9]+: 00 d1 add cl,dl
+[ ]*[a-f0-9]+: 02 ca add.s cl,dl
+[ ]*[a-f0-9]+: 66 01 d1 add cx,dx
+[ ]*[a-f0-9]+: 66 03 ca add.s cx,dx
+[ ]*[a-f0-9]+: 01 d1 add ecx,edx
+[ ]*[a-f0-9]+: 03 ca add.s ecx,edx
+[ ]*[a-f0-9]+: 10 d1 adc cl,dl
+[ ]*[a-f0-9]+: 12 ca adc.s cl,dl
+[ ]*[a-f0-9]+: 66 11 d1 adc cx,dx
+[ ]*[a-f0-9]+: 66 13 ca adc.s cx,dx
+[ ]*[a-f0-9]+: 11 d1 adc ecx,edx
+[ ]*[a-f0-9]+: 13 ca adc.s ecx,edx
+[ ]*[a-f0-9]+: 20 d1 and cl,dl
+[ ]*[a-f0-9]+: 22 ca and.s cl,dl
+[ ]*[a-f0-9]+: 66 21 d1 and cx,dx
+[ ]*[a-f0-9]+: 66 23 ca and.s cx,dx
+[ ]*[a-f0-9]+: 21 d1 and ecx,edx
+[ ]*[a-f0-9]+: 23 ca and.s ecx,edx
+[ ]*[a-f0-9]+: 38 d1 cmp cl,dl
+[ ]*[a-f0-9]+: 3a ca cmp.s cl,dl
+[ ]*[a-f0-9]+: 66 39 d1 cmp cx,dx
+[ ]*[a-f0-9]+: 66 3b ca cmp.s cx,dx
+[ ]*[a-f0-9]+: 39 d1 cmp ecx,edx
+[ ]*[a-f0-9]+: 3b ca cmp.s ecx,edx
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
+[ ]*[a-f0-9]+: 08 d1 or cl,dl
+[ ]*[a-f0-9]+: 0a ca or.s cl,dl
+[ ]*[a-f0-9]+: 66 09 d1 or cx,dx
+[ ]*[a-f0-9]+: 66 0b ca or.s cx,dx
+[ ]*[a-f0-9]+: 09 d1 or ecx,edx
+[ ]*[a-f0-9]+: 0b ca or.s ecx,edx
+[ ]*[a-f0-9]+: 18 d1 sbb cl,dl
+[ ]*[a-f0-9]+: 1a ca sbb.s cl,dl
+[ ]*[a-f0-9]+: 66 19 d1 sbb cx,dx
+[ ]*[a-f0-9]+: 66 1b ca sbb.s cx,dx
+[ ]*[a-f0-9]+: 19 d1 sbb ecx,edx
+[ ]*[a-f0-9]+: 1b ca sbb.s ecx,edx
+[ ]*[a-f0-9]+: 28 d1 sub cl,dl
+[ ]*[a-f0-9]+: 2a ca sub.s cl,dl
+[ ]*[a-f0-9]+: 66 29 d1 sub cx,dx
+[ ]*[a-f0-9]+: 66 2b ca sub.s cx,dx
+[ ]*[a-f0-9]+: 29 d1 sub ecx,edx
+[ ]*[a-f0-9]+: 2b ca sub.s ecx,edx
+[ ]*[a-f0-9]+: 30 d1 xor cl,dl
+[ ]*[a-f0-9]+: 32 ca xor.s cl,dl
+[ ]*[a-f0-9]+: 66 31 d1 xor cx,dx
+[ ]*[a-f0-9]+: 66 33 ca xor.s cx,dx
+[ ]*[a-f0-9]+: 31 d1 xor ecx,edx
+[ ]*[a-f0-9]+: 33 ca xor.s ecx,edx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4
diff --git a/gas/testsuite/gas/i386/opts.d b/gas/testsuite/gas/i386/opts.d
index 5292ad3..4dc385a 100644
--- a/gas/testsuite/gas/i386/opts.d
+++ b/gas/testsuite/gas/i386/opts.d
@@ -7,6 +7,54 @@
Disassembly of section .text:
0+ <_start>:
+[ ]*[a-f0-9]+: 00 d1 addb %dl,%cl
+[ ]*[a-f0-9]+: 02 ca addb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 01 d1 addw %dx,%cx
+[ ]*[a-f0-9]+: 66 03 ca addw.s %dx,%cx
+[ ]*[a-f0-9]+: 01 d1 addl %edx,%ecx
+[ ]*[a-f0-9]+: 03 ca addl.s %edx,%ecx
+[ ]*[a-f0-9]+: 00 d1 addb %dl,%cl
+[ ]*[a-f0-9]+: 02 ca addb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 01 d1 addw %dx,%cx
+[ ]*[a-f0-9]+: 66 03 ca addw.s %dx,%cx
+[ ]*[a-f0-9]+: 01 d1 addl %edx,%ecx
+[ ]*[a-f0-9]+: 03 ca addl.s %edx,%ecx
+[ ]*[a-f0-9]+: 10 d1 adcb %dl,%cl
+[ ]*[a-f0-9]+: 12 ca adcb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 11 d1 adcw %dx,%cx
+[ ]*[a-f0-9]+: 66 13 ca adcw.s %dx,%cx
+[ ]*[a-f0-9]+: 11 d1 adcl %edx,%ecx
+[ ]*[a-f0-9]+: 13 ca adcl.s %edx,%ecx
+[ ]*[a-f0-9]+: 10 d1 adcb %dl,%cl
+[ ]*[a-f0-9]+: 12 ca adcb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 11 d1 adcw %dx,%cx
+[ ]*[a-f0-9]+: 66 13 ca adcw.s %dx,%cx
+[ ]*[a-f0-9]+: 11 d1 adcl %edx,%ecx
+[ ]*[a-f0-9]+: 13 ca adcl.s %edx,%ecx
+[ ]*[a-f0-9]+: 20 d1 andb %dl,%cl
+[ ]*[a-f0-9]+: 22 ca andb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 21 d1 andw %dx,%cx
+[ ]*[a-f0-9]+: 66 23 ca andw.s %dx,%cx
+[ ]*[a-f0-9]+: 21 d1 andl %edx,%ecx
+[ ]*[a-f0-9]+: 23 ca andl.s %edx,%ecx
+[ ]*[a-f0-9]+: 20 d1 andb %dl,%cl
+[ ]*[a-f0-9]+: 22 ca andb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 21 d1 andw %dx,%cx
+[ ]*[a-f0-9]+: 66 23 ca andw.s %dx,%cx
+[ ]*[a-f0-9]+: 21 d1 andl %edx,%ecx
+[ ]*[a-f0-9]+: 23 ca andl.s %edx,%ecx
+[ ]*[a-f0-9]+: 38 d1 cmpb %dl,%cl
+[ ]*[a-f0-9]+: 3a ca cmpb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 39 d1 cmpw %dx,%cx
+[ ]*[a-f0-9]+: 66 3b ca cmpw.s %dx,%cx
+[ ]*[a-f0-9]+: 39 d1 cmpl %edx,%ecx
+[ ]*[a-f0-9]+: 3b ca cmpl.s %edx,%ecx
+[ ]*[a-f0-9]+: 38 d1 cmpb %dl,%cl
+[ ]*[a-f0-9]+: 3a ca cmpb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 39 d1 cmpw %dx,%cx
+[ ]*[a-f0-9]+: 66 3b ca cmpw.s %dx,%cx
+[ ]*[a-f0-9]+: 39 d1 cmpl %edx,%ecx
+[ ]*[a-f0-9]+: 3b ca cmpl.s %edx,%ecx
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
@@ -19,6 +67,54 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
+[ ]*[a-f0-9]+: 08 d1 orb %dl,%cl
+[ ]*[a-f0-9]+: 0a ca orb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 09 d1 orw %dx,%cx
+[ ]*[a-f0-9]+: 66 0b ca orw.s %dx,%cx
+[ ]*[a-f0-9]+: 09 d1 orl %edx,%ecx
+[ ]*[a-f0-9]+: 0b ca orl.s %edx,%ecx
+[ ]*[a-f0-9]+: 08 d1 orb %dl,%cl
+[ ]*[a-f0-9]+: 0a ca orb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 09 d1 orw %dx,%cx
+[ ]*[a-f0-9]+: 66 0b ca orw.s %dx,%cx
+[ ]*[a-f0-9]+: 09 d1 orl %edx,%ecx
+[ ]*[a-f0-9]+: 0b ca orl.s %edx,%ecx
+[ ]*[a-f0-9]+: 18 d1 sbbb %dl,%cl
+[ ]*[a-f0-9]+: 1a ca sbbb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 19 d1 sbbw %dx,%cx
+[ ]*[a-f0-9]+: 66 1b ca sbbw.s %dx,%cx
+[ ]*[a-f0-9]+: 19 d1 sbbl %edx,%ecx
+[ ]*[a-f0-9]+: 1b ca sbbl.s %edx,%ecx
+[ ]*[a-f0-9]+: 18 d1 sbbb %dl,%cl
+[ ]*[a-f0-9]+: 1a ca sbbb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 19 d1 sbbw %dx,%cx
+[ ]*[a-f0-9]+: 66 1b ca sbbw.s %dx,%cx
+[ ]*[a-f0-9]+: 19 d1 sbbl %edx,%ecx
+[ ]*[a-f0-9]+: 1b ca sbbl.s %edx,%ecx
+[ ]*[a-f0-9]+: 28 d1 subb %dl,%cl
+[ ]*[a-f0-9]+: 2a ca subb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 29 d1 subw %dx,%cx
+[ ]*[a-f0-9]+: 66 2b ca subw.s %dx,%cx
+[ ]*[a-f0-9]+: 29 d1 subl %edx,%ecx
+[ ]*[a-f0-9]+: 2b ca subl.s %edx,%ecx
+[ ]*[a-f0-9]+: 28 d1 subb %dl,%cl
+[ ]*[a-f0-9]+: 2a ca subb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 29 d1 subw %dx,%cx
+[ ]*[a-f0-9]+: 66 2b ca subw.s %dx,%cx
+[ ]*[a-f0-9]+: 29 d1 subl %edx,%ecx
+[ ]*[a-f0-9]+: 2b ca subl.s %edx,%ecx
+[ ]*[a-f0-9]+: 30 d1 xorb %dl,%cl
+[ ]*[a-f0-9]+: 32 ca xorb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 31 d1 xorw %dx,%cx
+[ ]*[a-f0-9]+: 66 33 ca xorw.s %dx,%cx
+[ ]*[a-f0-9]+: 31 d1 xorl %edx,%ecx
+[ ]*[a-f0-9]+: 33 ca xorl.s %edx,%ecx
+[ ]*[a-f0-9]+: 30 d1 xorb %dl,%cl
+[ ]*[a-f0-9]+: 32 ca xorb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 31 d1 xorw %dx,%cx
+[ ]*[a-f0-9]+: 66 33 ca xorw.s %dx,%cx
+[ ]*[a-f0-9]+: 31 d1 xorl %edx,%ecx
+[ ]*[a-f0-9]+: 33 ca xorl.s %edx,%ecx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6
@@ -69,12 +165,60 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s %xmm4,%xmm6,%xmm2
[ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4
[ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4
+[ ]*[a-f0-9]+: 00 d1 addb %dl,%cl
+[ ]*[a-f0-9]+: 02 ca addb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 01 d1 addw %dx,%cx
+[ ]*[a-f0-9]+: 66 03 ca addw.s %dx,%cx
+[ ]*[a-f0-9]+: 01 d1 addl %edx,%ecx
+[ ]*[a-f0-9]+: 03 ca addl.s %edx,%ecx
+[ ]*[a-f0-9]+: 10 d1 adcb %dl,%cl
+[ ]*[a-f0-9]+: 12 ca adcb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 11 d1 adcw %dx,%cx
+[ ]*[a-f0-9]+: 66 13 ca adcw.s %dx,%cx
+[ ]*[a-f0-9]+: 11 d1 adcl %edx,%ecx
+[ ]*[a-f0-9]+: 13 ca adcl.s %edx,%ecx
+[ ]*[a-f0-9]+: 20 d1 andb %dl,%cl
+[ ]*[a-f0-9]+: 22 ca andb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 21 d1 andw %dx,%cx
+[ ]*[a-f0-9]+: 66 23 ca andw.s %dx,%cx
+[ ]*[a-f0-9]+: 21 d1 andl %edx,%ecx
+[ ]*[a-f0-9]+: 23 ca andl.s %edx,%ecx
+[ ]*[a-f0-9]+: 38 d1 cmpb %dl,%cl
+[ ]*[a-f0-9]+: 3a ca cmpb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 39 d1 cmpw %dx,%cx
+[ ]*[a-f0-9]+: 66 3b ca cmpw.s %dx,%cx
+[ ]*[a-f0-9]+: 39 d1 cmpl %edx,%ecx
+[ ]*[a-f0-9]+: 3b ca cmpl.s %edx,%ecx
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
+[ ]*[a-f0-9]+: 08 d1 orb %dl,%cl
+[ ]*[a-f0-9]+: 0a ca orb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 09 d1 orw %dx,%cx
+[ ]*[a-f0-9]+: 66 0b ca orw.s %dx,%cx
+[ ]*[a-f0-9]+: 09 d1 orl %edx,%ecx
+[ ]*[a-f0-9]+: 0b ca orl.s %edx,%ecx
+[ ]*[a-f0-9]+: 18 d1 sbbb %dl,%cl
+[ ]*[a-f0-9]+: 1a ca sbbb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 19 d1 sbbw %dx,%cx
+[ ]*[a-f0-9]+: 66 1b ca sbbw.s %dx,%cx
+[ ]*[a-f0-9]+: 19 d1 sbbl %edx,%ecx
+[ ]*[a-f0-9]+: 1b ca sbbl.s %edx,%ecx
+[ ]*[a-f0-9]+: 28 d1 subb %dl,%cl
+[ ]*[a-f0-9]+: 2a ca subb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 29 d1 subw %dx,%cx
+[ ]*[a-f0-9]+: 66 2b ca subw.s %dx,%cx
+[ ]*[a-f0-9]+: 29 d1 subl %edx,%ecx
+[ ]*[a-f0-9]+: 2b ca subl.s %edx,%ecx
+[ ]*[a-f0-9]+: 30 d1 xorb %dl,%cl
+[ ]*[a-f0-9]+: 32 ca xorb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 31 d1 xorw %dx,%cx
+[ ]*[a-f0-9]+: 66 33 ca xorw.s %dx,%cx
+[ ]*[a-f0-9]+: 31 d1 xorl %edx,%ecx
+[ ]*[a-f0-9]+: 33 ca xorl.s %edx,%ecx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6
diff --git a/gas/testsuite/gas/i386/opts.s b/gas/testsuite/gas/i386/opts.s
index dfa773b..4bd8e2c 100644
--- a/gas/testsuite/gas/i386/opts.s
+++ b/gas/testsuite/gas/i386/opts.s
@@ -5,6 +5,54 @@
_start:
# Tests for op reg, reg
+ add %dl,%cl
+ add.s %dl,%cl
+ add %dx,%cx
+ add.s %dx,%cx
+ add %edx,%ecx
+ add.s %edx,%ecx
+ addb %dl,%cl
+ addb.s %dl,%cl
+ addw %dx,%cx
+ addw.s %dx,%cx
+ addl %edx,%ecx
+ addl.s %edx,%ecx
+ adc %dl,%cl
+ adc.s %dl,%cl
+ adc %dx,%cx
+ adc.s %dx,%cx
+ adc %edx,%ecx
+ adc.s %edx,%ecx
+ adcb %dl,%cl
+ adcb.s %dl,%cl
+ adcw %dx,%cx
+ adcw.s %dx,%cx
+ adcl %edx,%ecx
+ adcl.s %edx,%ecx
+ and %dl,%cl
+ and.s %dl,%cl
+ and %dx,%cx
+ and.s %dx,%cx
+ and %edx,%ecx
+ and.s %edx,%ecx
+ andb %dl,%cl
+ andb.s %dl,%cl
+ andw %dx,%cx
+ andw.s %dx,%cx
+ andl %edx,%ecx
+ andl.s %edx,%ecx
+ cmp %dl,%cl
+ cmp.s %dl,%cl
+ cmp %dx,%cx
+ cmp.s %dx,%cx
+ cmp %edx,%ecx
+ cmp.s %edx,%ecx
+ cmpb %dl,%cl
+ cmpb.s %dl,%cl
+ cmpw %dx,%cx
+ cmpw.s %dx,%cx
+ cmpl %edx,%ecx
+ cmpl.s %edx,%ecx
mov %dl,%cl
mov.s %dl,%cl
mov %dx,%cx
@@ -17,6 +65,54 @@ _start:
movw.s %dx,%cx
movl %edx,%ecx
movl.s %edx,%ecx
+ or %dl,%cl
+ or.s %dl,%cl
+ or %dx,%cx
+ or.s %dx,%cx
+ or %edx,%ecx
+ or.s %edx,%ecx
+ orb %dl,%cl
+ orb.s %dl,%cl
+ orw %dx,%cx
+ orw.s %dx,%cx
+ orl %edx,%ecx
+ orl.s %edx,%ecx
+ sbb %dl,%cl
+ sbb.s %dl,%cl
+ sbb %dx,%cx
+ sbb.s %dx,%cx
+ sbb %edx,%ecx
+ sbb.s %edx,%ecx
+ sbbb %dl,%cl
+ sbbb.s %dl,%cl
+ sbbw %dx,%cx
+ sbbw.s %dx,%cx
+ sbbl %edx,%ecx
+ sbbl.s %edx,%ecx
+ sub %dl,%cl
+ sub.s %dl,%cl
+ sub %dx,%cx
+ sub.s %dx,%cx
+ sub %edx,%ecx
+ sub.s %edx,%ecx
+ subb %dl,%cl
+ subb.s %dl,%cl
+ subw %dx,%cx
+ subw.s %dx,%cx
+ subl %edx,%ecx
+ subl.s %edx,%ecx
+ xor %dl,%cl
+ xor.s %dl,%cl
+ xor %dx,%cx
+ xor.s %dx,%cx
+ xor %edx,%ecx
+ xor.s %edx,%ecx
+ xorb %dl,%cl
+ xorb.s %dl,%cl
+ xorw %dx,%cx
+ xorw.s %dx,%cx
+ xorl %edx,%ecx
+ xorl.s %edx,%ecx
# Tests for op ymm, ymm
vmovapd %ymm4,%ymm6
@@ -79,12 +175,60 @@ _start:
.intel_syntax noprefix
# Tests for op reg, reg
+ add cl,dl
+ add.s cl,dl
+ add cx,dx
+ add.s cx,dx
+ add ecx,edx
+ add.s ecx,edx
+ adc cl,dl
+ adc.s cl,dl
+ adc cx,dx
+ adc.s cx,dx
+ adc ecx,edx
+ adc.s ecx,edx
+ and cl,dl
+ and.s cl,dl
+ and cx,dx
+ and.s cx,dx
+ and ecx,edx
+ and.s ecx,edx
+ cmp cl,dl
+ cmp.s cl,dl
+ cmp cx,dx
+ cmp.s cx,dx
+ cmp ecx,edx
+ cmp.s ecx,edx
mov cl,dl
mov.s cl,dl
mov cx,dx
mov.s cx,dx
mov ecx,edx
mov.s ecx,edx
+ or cl,dl
+ or.s cl,dl
+ or cx,dx
+ or.s cx,dx
+ or ecx,edx
+ or.s ecx,edx
+ sbb cl,dl
+ sbb.s cl,dl
+ sbb cx,dx
+ sbb.s cx,dx
+ sbb ecx,edx
+ sbb.s ecx,edx
+ sub cl,dl
+ sub.s cl,dl
+ sub cx,dx
+ sub.s cx,dx
+ sub ecx,edx
+ sub.s ecx,edx
+ xor cl,dl
+ xor.s cl,dl
+ xor cx,dx
+ xor.s cx,dx
+ xor ecx,edx
+ xor.s ecx,edx
# Tests for op ymm, ymm
vmovapd ymm6,ymm4
diff --git a/gas/testsuite/gas/i386/x86-64-opts-intel.d b/gas/testsuite/gas/i386/x86-64-opts-intel.d
index 779d135..5423b72 100644
--- a/gas/testsuite/gas/i386/x86-64-opts-intel.d
+++ b/gas/testsuite/gas/i386/x86-64-opts-intel.d
@@ -8,6 +8,70 @@
Disassembly of section .text:
0+ <_start>:
+[ ]*[a-f0-9]+: 00 d1 add cl,dl
+[ ]*[a-f0-9]+: 02 ca add.s cl,dl
+[ ]*[a-f0-9]+: 66 01 d1 add cx,dx
+[ ]*[a-f0-9]+: 66 03 ca add.s cx,dx
+[ ]*[a-f0-9]+: 01 d1 add ecx,edx
+[ ]*[a-f0-9]+: 03 ca add.s ecx,edx
+[ ]*[a-f0-9]+: 00 d1 add cl,dl
+[ ]*[a-f0-9]+: 02 ca add.s cl,dl
+[ ]*[a-f0-9]+: 66 01 d1 add cx,dx
+[ ]*[a-f0-9]+: 66 03 ca add.s cx,dx
+[ ]*[a-f0-9]+: 01 d1 add ecx,edx
+[ ]*[a-f0-9]+: 03 ca add.s ecx,edx
+[ ]*[a-f0-9]+: 48 01 d1 add rcx,rdx
+[ ]*[a-f0-9]+: 48 03 ca add.s rcx,rdx
+[ ]*[a-f0-9]+: 48 01 d1 add rcx,rdx
+[ ]*[a-f0-9]+: 48 03 ca add.s rcx,rdx
+[ ]*[a-f0-9]+: 10 d1 adc cl,dl
+[ ]*[a-f0-9]+: 12 ca adc.s cl,dl
+[ ]*[a-f0-9]+: 66 11 d1 adc cx,dx
+[ ]*[a-f0-9]+: 66 13 ca adc.s cx,dx
+[ ]*[a-f0-9]+: 11 d1 adc ecx,edx
+[ ]*[a-f0-9]+: 13 ca adc.s ecx,edx
+[ ]*[a-f0-9]+: 10 d1 adc cl,dl
+[ ]*[a-f0-9]+: 12 ca adc.s cl,dl
+[ ]*[a-f0-9]+: 66 11 d1 adc cx,dx
+[ ]*[a-f0-9]+: 66 13 ca adc.s cx,dx
+[ ]*[a-f0-9]+: 11 d1 adc ecx,edx
+[ ]*[a-f0-9]+: 13 ca adc.s ecx,edx
+[ ]*[a-f0-9]+: 48 11 d1 adc rcx,rdx
+[ ]*[a-f0-9]+: 48 13 ca adc.s rcx,rdx
+[ ]*[a-f0-9]+: 48 11 d1 adc rcx,rdx
+[ ]*[a-f0-9]+: 48 13 ca adc.s rcx,rdx
+[ ]*[a-f0-9]+: 20 d1 and cl,dl
+[ ]*[a-f0-9]+: 22 ca and.s cl,dl
+[ ]*[a-f0-9]+: 66 21 d1 and cx,dx
+[ ]*[a-f0-9]+: 66 23 ca and.s cx,dx
+[ ]*[a-f0-9]+: 21 d1 and ecx,edx
+[ ]*[a-f0-9]+: 23 ca and.s ecx,edx
+[ ]*[a-f0-9]+: 20 d1 and cl,dl
+[ ]*[a-f0-9]+: 22 ca and.s cl,dl
+[ ]*[a-f0-9]+: 66 21 d1 and cx,dx
+[ ]*[a-f0-9]+: 66 23 ca and.s cx,dx
+[ ]*[a-f0-9]+: 21 d1 and ecx,edx
+[ ]*[a-f0-9]+: 23 ca and.s ecx,edx
+[ ]*[a-f0-9]+: 48 21 d1 and rcx,rdx
+[ ]*[a-f0-9]+: 48 23 ca and.s rcx,rdx
+[ ]*[a-f0-9]+: 48 21 d1 and rcx,rdx
+[ ]*[a-f0-9]+: 48 23 ca and.s rcx,rdx
+[ ]*[a-f0-9]+: 38 d1 cmp cl,dl
+[ ]*[a-f0-9]+: 3a ca cmp.s cl,dl
+[ ]*[a-f0-9]+: 66 39 d1 cmp cx,dx
+[ ]*[a-f0-9]+: 66 3b ca cmp.s cx,dx
+[ ]*[a-f0-9]+: 39 d1 cmp ecx,edx
+[ ]*[a-f0-9]+: 3b ca cmp.s ecx,edx
+[ ]*[a-f0-9]+: 38 d1 cmp cl,dl
+[ ]*[a-f0-9]+: 3a ca cmp.s cl,dl
+[ ]*[a-f0-9]+: 66 39 d1 cmp cx,dx
+[ ]*[a-f0-9]+: 66 3b ca cmp.s cx,dx
+[ ]*[a-f0-9]+: 39 d1 cmp ecx,edx
+[ ]*[a-f0-9]+: 3b ca cmp.s ecx,edx
+[ ]*[a-f0-9]+: 48 39 d1 cmp rcx,rdx
+[ ]*[a-f0-9]+: 48 3b ca cmp.s rcx,rdx
+[ ]*[a-f0-9]+: 48 39 d1 cmp rcx,rdx
+[ ]*[a-f0-9]+: 48 3b ca cmp.s rcx,rdx
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
@@ -24,6 +88,70 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 48 8b ca mov.s rcx,rdx
[ ]*[a-f0-9]+: 48 89 d1 mov rcx,rdx
[ ]*[a-f0-9]+: 48 8b ca mov.s rcx,rdx
+[ ]*[a-f0-9]+: 08 d1 or cl,dl
+[ ]*[a-f0-9]+: 0a ca or.s cl,dl
+[ ]*[a-f0-9]+: 66 09 d1 or cx,dx
+[ ]*[a-f0-9]+: 66 0b ca or.s cx,dx
+[ ]*[a-f0-9]+: 09 d1 or ecx,edx
+[ ]*[a-f0-9]+: 0b ca or.s ecx,edx
+[ ]*[a-f0-9]+: 08 d1 or cl,dl
+[ ]*[a-f0-9]+: 0a ca or.s cl,dl
+[ ]*[a-f0-9]+: 66 09 d1 or cx,dx
+[ ]*[a-f0-9]+: 66 0b ca or.s cx,dx
+[ ]*[a-f0-9]+: 09 d1 or ecx,edx
+[ ]*[a-f0-9]+: 0b ca or.s ecx,edx
+[ ]*[a-f0-9]+: 48 09 d1 or rcx,rdx
+[ ]*[a-f0-9]+: 48 0b ca or.s rcx,rdx
+[ ]*[a-f0-9]+: 48 09 d1 or rcx,rdx
+[ ]*[a-f0-9]+: 48 0b ca or.s rcx,rdx
+[ ]*[a-f0-9]+: 18 d1 sbb cl,dl
+[ ]*[a-f0-9]+: 1a ca sbb.s cl,dl
+[ ]*[a-f0-9]+: 66 19 d1 sbb cx,dx
+[ ]*[a-f0-9]+: 66 1b ca sbb.s cx,dx
+[ ]*[a-f0-9]+: 19 d1 sbb ecx,edx
+[ ]*[a-f0-9]+: 1b ca sbb.s ecx,edx
+[ ]*[a-f0-9]+: 18 d1 sbb cl,dl
+[ ]*[a-f0-9]+: 1a ca sbb.s cl,dl
+[ ]*[a-f0-9]+: 66 19 d1 sbb cx,dx
+[ ]*[a-f0-9]+: 66 1b ca sbb.s cx,dx
+[ ]*[a-f0-9]+: 19 d1 sbb ecx,edx
+[ ]*[a-f0-9]+: 1b ca sbb.s ecx,edx
+[ ]*[a-f0-9]+: 48 19 d1 sbb rcx,rdx
+[ ]*[a-f0-9]+: 48 1b ca sbb.s rcx,rdx
+[ ]*[a-f0-9]+: 48 19 d1 sbb rcx,rdx
+[ ]*[a-f0-9]+: 48 1b ca sbb.s rcx,rdx
+[ ]*[a-f0-9]+: 28 d1 sub cl,dl
+[ ]*[a-f0-9]+: 2a ca sub.s cl,dl
+[ ]*[a-f0-9]+: 66 29 d1 sub cx,dx
+[ ]*[a-f0-9]+: 66 2b ca sub.s cx,dx
+[ ]*[a-f0-9]+: 29 d1 sub ecx,edx
+[ ]*[a-f0-9]+: 2b ca sub.s ecx,edx
+[ ]*[a-f0-9]+: 28 d1 sub cl,dl
+[ ]*[a-f0-9]+: 2a ca sub.s cl,dl
+[ ]*[a-f0-9]+: 66 29 d1 sub cx,dx
+[ ]*[a-f0-9]+: 66 2b ca sub.s cx,dx
+[ ]*[a-f0-9]+: 29 d1 sub ecx,edx
+[ ]*[a-f0-9]+: 2b ca sub.s ecx,edx
+[ ]*[a-f0-9]+: 48 29 d1 sub rcx,rdx
+[ ]*[a-f0-9]+: 48 2b ca sub.s rcx,rdx
+[ ]*[a-f0-9]+: 48 29 d1 sub rcx,rdx
+[ ]*[a-f0-9]+: 48 2b ca sub.s rcx,rdx
+[ ]*[a-f0-9]+: 30 d1 xor cl,dl
+[ ]*[a-f0-9]+: 32 ca xor.s cl,dl
+[ ]*[a-f0-9]+: 66 31 d1 xor cx,dx
+[ ]*[a-f0-9]+: 66 33 ca xor.s cx,dx
+[ ]*[a-f0-9]+: 31 d1 xor ecx,edx
+[ ]*[a-f0-9]+: 33 ca xor.s ecx,edx
+[ ]*[a-f0-9]+: 30 d1 xor cl,dl
+[ ]*[a-f0-9]+: 32 ca xor.s cl,dl
+[ ]*[a-f0-9]+: 66 31 d1 xor cx,dx
+[ ]*[a-f0-9]+: 66 33 ca xor.s cx,dx
+[ ]*[a-f0-9]+: 31 d1 xor ecx,edx
+[ ]*[a-f0-9]+: 33 ca xor.s ecx,edx
+[ ]*[a-f0-9]+: 48 31 d1 xor rcx,rdx
+[ ]*[a-f0-9]+: 48 33 ca xor.s rcx,rdx
+[ ]*[a-f0-9]+: 48 31 d1 xor rcx,rdx
+[ ]*[a-f0-9]+: 48 33 ca xor.s rcx,rdx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4
@@ -74,6 +202,38 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s xmm2,xmm6,xmm4
[ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0
[ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0
+[ ]*[a-f0-9]+: 00 d1 add cl,dl
+[ ]*[a-f0-9]+: 02 ca add.s cl,dl
+[ ]*[a-f0-9]+: 66 01 d1 add cx,dx
+[ ]*[a-f0-9]+: 66 03 ca add.s cx,dx
+[ ]*[a-f0-9]+: 01 d1 add ecx,edx
+[ ]*[a-f0-9]+: 03 ca add.s ecx,edx
+[ ]*[a-f0-9]+: 48 01 d1 add rcx,rdx
+[ ]*[a-f0-9]+: 48 03 ca add.s rcx,rdx
+[ ]*[a-f0-9]+: 10 d1 adc cl,dl
+[ ]*[a-f0-9]+: 12 ca adc.s cl,dl
+[ ]*[a-f0-9]+: 66 11 d1 adc cx,dx
+[ ]*[a-f0-9]+: 66 13 ca adc.s cx,dx
+[ ]*[a-f0-9]+: 11 d1 adc ecx,edx
+[ ]*[a-f0-9]+: 13 ca adc.s ecx,edx
+[ ]*[a-f0-9]+: 48 11 d1 adc rcx,rdx
+[ ]*[a-f0-9]+: 48 13 ca adc.s rcx,rdx
+[ ]*[a-f0-9]+: 20 d1 and cl,dl
+[ ]*[a-f0-9]+: 22 ca and.s cl,dl
+[ ]*[a-f0-9]+: 66 21 d1 and cx,dx
+[ ]*[a-f0-9]+: 66 23 ca and.s cx,dx
+[ ]*[a-f0-9]+: 21 d1 and ecx,edx
+[ ]*[a-f0-9]+: 23 ca and.s ecx,edx
+[ ]*[a-f0-9]+: 48 21 d1 and rcx,rdx
+[ ]*[a-f0-9]+: 48 23 ca and.s rcx,rdx
+[ ]*[a-f0-9]+: 38 d1 cmp cl,dl
+[ ]*[a-f0-9]+: 3a ca cmp.s cl,dl
+[ ]*[a-f0-9]+: 66 39 d1 cmp cx,dx
+[ ]*[a-f0-9]+: 66 3b ca cmp.s cx,dx
+[ ]*[a-f0-9]+: 39 d1 cmp ecx,edx
+[ ]*[a-f0-9]+: 3b ca cmp.s ecx,edx
+[ ]*[a-f0-9]+: 48 39 d1 cmp rcx,rdx
+[ ]*[a-f0-9]+: 48 3b ca cmp.s rcx,rdx
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
@@ -82,6 +242,38 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
[ ]*[a-f0-9]+: 48 89 d1 mov rcx,rdx
[ ]*[a-f0-9]+: 48 8b ca mov.s rcx,rdx
+[ ]*[a-f0-9]+: 08 d1 or cl,dl
+[ ]*[a-f0-9]+: 0a ca or.s cl,dl
+[ ]*[a-f0-9]+: 66 09 d1 or cx,dx
+[ ]*[a-f0-9]+: 66 0b ca or.s cx,dx
+[ ]*[a-f0-9]+: 09 d1 or ecx,edx
+[ ]*[a-f0-9]+: 0b ca or.s ecx,edx
+[ ]*[a-f0-9]+: 48 09 d1 or rcx,rdx
+[ ]*[a-f0-9]+: 48 0b ca or.s rcx,rdx
+[ ]*[a-f0-9]+: 18 d1 sbb cl,dl
+[ ]*[a-f0-9]+: 1a ca sbb.s cl,dl
+[ ]*[a-f0-9]+: 66 19 d1 sbb cx,dx
+[ ]*[a-f0-9]+: 66 1b ca sbb.s cx,dx
+[ ]*[a-f0-9]+: 19 d1 sbb ecx,edx
+[ ]*[a-f0-9]+: 1b ca sbb.s ecx,edx
+[ ]*[a-f0-9]+: 48 19 d1 sbb rcx,rdx
+[ ]*[a-f0-9]+: 48 1b ca sbb.s rcx,rdx
+[ ]*[a-f0-9]+: 28 d1 sub cl,dl
+[ ]*[a-f0-9]+: 2a ca sub.s cl,dl
+[ ]*[a-f0-9]+: 66 29 d1 sub cx,dx
+[ ]*[a-f0-9]+: 66 2b ca sub.s cx,dx
+[ ]*[a-f0-9]+: 29 d1 sub ecx,edx
+[ ]*[a-f0-9]+: 2b ca sub.s ecx,edx
+[ ]*[a-f0-9]+: 48 29 d1 sub rcx,rdx
+[ ]*[a-f0-9]+: 48 2b ca sub.s rcx,rdx
+[ ]*[a-f0-9]+: 30 d1 xor cl,dl
+[ ]*[a-f0-9]+: 32 ca xor.s cl,dl
+[ ]*[a-f0-9]+: 66 31 d1 xor cx,dx
+[ ]*[a-f0-9]+: 66 33 ca xor.s cx,dx
+[ ]*[a-f0-9]+: 31 d1 xor ecx,edx
+[ ]*[a-f0-9]+: 33 ca xor.s ecx,edx
+[ ]*[a-f0-9]+: 48 31 d1 xor rcx,rdx
+[ ]*[a-f0-9]+: 48 33 ca xor.s rcx,rdx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4
diff --git a/gas/testsuite/gas/i386/x86-64-opts.d b/gas/testsuite/gas/i386/x86-64-opts.d
index d50b4e8..478f3fb 100644
--- a/gas/testsuite/gas/i386/x86-64-opts.d
+++ b/gas/testsuite/gas/i386/x86-64-opts.d
@@ -7,6 +7,70 @@
Disassembly of section .text:
0+ <_start>:
+[ ]*[a-f0-9]+: 00 d1 addb %dl,%cl
+[ ]*[a-f0-9]+: 02 ca addb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 01 d1 addw %dx,%cx
+[ ]*[a-f0-9]+: 66 03 ca addw.s %dx,%cx
+[ ]*[a-f0-9]+: 01 d1 addl %edx,%ecx
+[ ]*[a-f0-9]+: 03 ca addl.s %edx,%ecx
+[ ]*[a-f0-9]+: 00 d1 addb %dl,%cl
+[ ]*[a-f0-9]+: 02 ca addb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 01 d1 addw %dx,%cx
+[ ]*[a-f0-9]+: 66 03 ca addw.s %dx,%cx
+[ ]*[a-f0-9]+: 01 d1 addl %edx,%ecx
+[ ]*[a-f0-9]+: 03 ca addl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 01 d1 addq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 03 ca addq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 48 01 d1 addq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 03 ca addq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 10 d1 adcb %dl,%cl
+[ ]*[a-f0-9]+: 12 ca adcb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 11 d1 adcw %dx,%cx
+[ ]*[a-f0-9]+: 66 13 ca adcw.s %dx,%cx
+[ ]*[a-f0-9]+: 11 d1 adcl %edx,%ecx
+[ ]*[a-f0-9]+: 13 ca adcl.s %edx,%ecx
+[ ]*[a-f0-9]+: 10 d1 adcb %dl,%cl
+[ ]*[a-f0-9]+: 12 ca adcb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 11 d1 adcw %dx,%cx
+[ ]*[a-f0-9]+: 66 13 ca adcw.s %dx,%cx
+[ ]*[a-f0-9]+: 11 d1 adcl %edx,%ecx
+[ ]*[a-f0-9]+: 13 ca adcl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 11 d1 adcq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 13 ca adcq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 48 11 d1 adcq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 13 ca adcq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 20 d1 andb %dl,%cl
+[ ]*[a-f0-9]+: 22 ca andb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 21 d1 andw %dx,%cx
+[ ]*[a-f0-9]+: 66 23 ca andw.s %dx,%cx
+[ ]*[a-f0-9]+: 21 d1 andl %edx,%ecx
+[ ]*[a-f0-9]+: 23 ca andl.s %edx,%ecx
+[ ]*[a-f0-9]+: 20 d1 andb %dl,%cl
+[ ]*[a-f0-9]+: 22 ca andb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 21 d1 andw %dx,%cx
+[ ]*[a-f0-9]+: 66 23 ca andw.s %dx,%cx
+[ ]*[a-f0-9]+: 21 d1 andl %edx,%ecx
+[ ]*[a-f0-9]+: 23 ca andl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 21 d1 andq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 23 ca andq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 48 21 d1 andq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 23 ca andq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 38 d1 cmpb %dl,%cl
+[ ]*[a-f0-9]+: 3a ca cmpb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 39 d1 cmpw %dx,%cx
+[ ]*[a-f0-9]+: 66 3b ca cmpw.s %dx,%cx
+[ ]*[a-f0-9]+: 39 d1 cmpl %edx,%ecx
+[ ]*[a-f0-9]+: 3b ca cmpl.s %edx,%ecx
+[ ]*[a-f0-9]+: 38 d1 cmpb %dl,%cl
+[ ]*[a-f0-9]+: 3a ca cmpb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 39 d1 cmpw %dx,%cx
+[ ]*[a-f0-9]+: 66 3b ca cmpw.s %dx,%cx
+[ ]*[a-f0-9]+: 39 d1 cmpl %edx,%ecx
+[ ]*[a-f0-9]+: 3b ca cmpl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 39 d1 cmpq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 3b ca cmpq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 48 39 d1 cmpq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 3b ca cmpq.s %rdx,%rcx
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
@@ -23,6 +87,70 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 48 8b ca movq.s %rdx,%rcx
[ ]*[a-f0-9]+: 48 89 d1 movq %rdx,%rcx
[ ]*[a-f0-9]+: 48 8b ca movq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 08 d1 orb %dl,%cl
+[ ]*[a-f0-9]+: 0a ca orb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 09 d1 orw %dx,%cx
+[ ]*[a-f0-9]+: 66 0b ca orw.s %dx,%cx
+[ ]*[a-f0-9]+: 09 d1 orl %edx,%ecx
+[ ]*[a-f0-9]+: 0b ca orl.s %edx,%ecx
+[ ]*[a-f0-9]+: 08 d1 orb %dl,%cl
+[ ]*[a-f0-9]+: 0a ca orb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 09 d1 orw %dx,%cx
+[ ]*[a-f0-9]+: 66 0b ca orw.s %dx,%cx
+[ ]*[a-f0-9]+: 09 d1 orl %edx,%ecx
+[ ]*[a-f0-9]+: 0b ca orl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 09 d1 orq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 0b ca orq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 48 09 d1 orq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 0b ca orq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 18 d1 sbbb %dl,%cl
+[ ]*[a-f0-9]+: 1a ca sbbb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 19 d1 sbbw %dx,%cx
+[ ]*[a-f0-9]+: 66 1b ca sbbw.s %dx,%cx
+[ ]*[a-f0-9]+: 19 d1 sbbl %edx,%ecx
+[ ]*[a-f0-9]+: 1b ca sbbl.s %edx,%ecx
+[ ]*[a-f0-9]+: 18 d1 sbbb %dl,%cl
+[ ]*[a-f0-9]+: 1a ca sbbb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 19 d1 sbbw %dx,%cx
+[ ]*[a-f0-9]+: 66 1b ca sbbw.s %dx,%cx
+[ ]*[a-f0-9]+: 19 d1 sbbl %edx,%ecx
+[ ]*[a-f0-9]+: 1b ca sbbl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 19 d1 sbbq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 1b ca sbbq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 48 19 d1 sbbq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 1b ca sbbq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 28 d1 subb %dl,%cl
+[ ]*[a-f0-9]+: 2a ca subb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 29 d1 subw %dx,%cx
+[ ]*[a-f0-9]+: 66 2b ca subw.s %dx,%cx
+[ ]*[a-f0-9]+: 29 d1 subl %edx,%ecx
+[ ]*[a-f0-9]+: 2b ca subl.s %edx,%ecx
+[ ]*[a-f0-9]+: 28 d1 subb %dl,%cl
+[ ]*[a-f0-9]+: 2a ca subb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 29 d1 subw %dx,%cx
+[ ]*[a-f0-9]+: 66 2b ca subw.s %dx,%cx
+[ ]*[a-f0-9]+: 29 d1 subl %edx,%ecx
+[ ]*[a-f0-9]+: 2b ca subl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 29 d1 subq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 2b ca subq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 48 29 d1 subq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 2b ca subq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 30 d1 xorb %dl,%cl
+[ ]*[a-f0-9]+: 32 ca xorb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 31 d1 xorw %dx,%cx
+[ ]*[a-f0-9]+: 66 33 ca xorw.s %dx,%cx
+[ ]*[a-f0-9]+: 31 d1 xorl %edx,%ecx
+[ ]*[a-f0-9]+: 33 ca xorl.s %edx,%ecx
+[ ]*[a-f0-9]+: 30 d1 xorb %dl,%cl
+[ ]*[a-f0-9]+: 32 ca xorb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 31 d1 xorw %dx,%cx
+[ ]*[a-f0-9]+: 66 33 ca xorw.s %dx,%cx
+[ ]*[a-f0-9]+: 31 d1 xorl %edx,%ecx
+[ ]*[a-f0-9]+: 33 ca xorl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 31 d1 xorq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 33 ca xorq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 48 31 d1 xorq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 33 ca xorq.s %rdx,%rcx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6
@@ -73,6 +201,38 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s %xmm4,%xmm6,%xmm2
[ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4
[ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4
+[ ]*[a-f0-9]+: 00 d1 addb %dl,%cl
+[ ]*[a-f0-9]+: 02 ca addb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 01 d1 addw %dx,%cx
+[ ]*[a-f0-9]+: 66 03 ca addw.s %dx,%cx
+[ ]*[a-f0-9]+: 01 d1 addl %edx,%ecx
+[ ]*[a-f0-9]+: 03 ca addl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 01 d1 addq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 03 ca addq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 10 d1 adcb %dl,%cl
+[ ]*[a-f0-9]+: 12 ca adcb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 11 d1 adcw %dx,%cx
+[ ]*[a-f0-9]+: 66 13 ca adcw.s %dx,%cx
+[ ]*[a-f0-9]+: 11 d1 adcl %edx,%ecx
+[ ]*[a-f0-9]+: 13 ca adcl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 11 d1 adcq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 13 ca adcq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 20 d1 andb %dl,%cl
+[ ]*[a-f0-9]+: 22 ca andb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 21 d1 andw %dx,%cx
+[ ]*[a-f0-9]+: 66 23 ca andw.s %dx,%cx
+[ ]*[a-f0-9]+: 21 d1 andl %edx,%ecx
+[ ]*[a-f0-9]+: 23 ca andl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 21 d1 andq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 23 ca andq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 38 d1 cmpb %dl,%cl
+[ ]*[a-f0-9]+: 3a ca cmpb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 39 d1 cmpw %dx,%cx
+[ ]*[a-f0-9]+: 66 3b ca cmpw.s %dx,%cx
+[ ]*[a-f0-9]+: 39 d1 cmpl %edx,%ecx
+[ ]*[a-f0-9]+: 3b ca cmpl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 39 d1 cmpq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 3b ca cmpq.s %rdx,%rcx
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
@@ -81,6 +241,38 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
[ ]*[a-f0-9]+: 48 89 d1 movq %rdx,%rcx
[ ]*[a-f0-9]+: 48 8b ca movq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 08 d1 orb %dl,%cl
+[ ]*[a-f0-9]+: 0a ca orb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 09 d1 orw %dx,%cx
+[ ]*[a-f0-9]+: 66 0b ca orw.s %dx,%cx
+[ ]*[a-f0-9]+: 09 d1 orl %edx,%ecx
+[ ]*[a-f0-9]+: 0b ca orl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 09 d1 orq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 0b ca orq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 18 d1 sbbb %dl,%cl
+[ ]*[a-f0-9]+: 1a ca sbbb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 19 d1 sbbw %dx,%cx
+[ ]*[a-f0-9]+: 66 1b ca sbbw.s %dx,%cx
+[ ]*[a-f0-9]+: 19 d1 sbbl %edx,%ecx
+[ ]*[a-f0-9]+: 1b ca sbbl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 19 d1 sbbq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 1b ca sbbq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 28 d1 subb %dl,%cl
+[ ]*[a-f0-9]+: 2a ca subb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 29 d1 subw %dx,%cx
+[ ]*[a-f0-9]+: 66 2b ca subw.s %dx,%cx
+[ ]*[a-f0-9]+: 29 d1 subl %edx,%ecx
+[ ]*[a-f0-9]+: 2b ca subl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 29 d1 subq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 2b ca subq.s %rdx,%rcx
+[ ]*[a-f0-9]+: 30 d1 xorb %dl,%cl
+[ ]*[a-f0-9]+: 32 ca xorb.s %dl,%cl
+[ ]*[a-f0-9]+: 66 31 d1 xorw %dx,%cx
+[ ]*[a-f0-9]+: 66 33 ca xorw.s %dx,%cx
+[ ]*[a-f0-9]+: 31 d1 xorl %edx,%ecx
+[ ]*[a-f0-9]+: 33 ca xorl.s %edx,%ecx
+[ ]*[a-f0-9]+: 48 31 d1 xorq %rdx,%rcx
+[ ]*[a-f0-9]+: 48 33 ca xorq.s %rdx,%rcx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6
diff --git a/gas/testsuite/gas/i386/x86-64-opts.s b/gas/testsuite/gas/i386/x86-64-opts.s
index aa8e706..74c39f0 100644
--- a/gas/testsuite/gas/i386/x86-64-opts.s
+++ b/gas/testsuite/gas/i386/x86-64-opts.s
@@ -5,6 +5,70 @@
_start:
# Tests for op reg, reg
+ add %dl,%cl
+ add.s %dl,%cl
+ add %dx,%cx
+ add.s %dx,%cx
+ add %edx,%ecx
+ add.s %edx,%ecx
+ addb %dl,%cl
+ addb.s %dl,%cl
+ addw %dx,%cx
+ addw.s %dx,%cx
+ addl %edx,%ecx
+ addl.s %edx,%ecx
+ add %rdx,%rcx
+ add.s %rdx,%rcx
+ addq %rdx,%rcx
+ addq.s %rdx,%rcx
+ adc %dl,%cl
+ adc.s %dl,%cl
+ adc %dx,%cx
+ adc.s %dx,%cx
+ adc %edx,%ecx
+ adc.s %edx,%ecx
+ adcb %dl,%cl
+ adcb.s %dl,%cl
+ adcw %dx,%cx
+ adcw.s %dx,%cx
+ adcl %edx,%ecx
+ adcl.s %edx,%ecx
+ adc %rdx,%rcx
+ adc.s %rdx,%rcx
+ adcq %rdx,%rcx
+ adcq.s %rdx,%rcx
+ and %dl,%cl
+ and.s %dl,%cl
+ and %dx,%cx
+ and.s %dx,%cx
+ and %edx,%ecx
+ and.s %edx,%ecx
+ andb %dl,%cl
+ andb.s %dl,%cl
+ andw %dx,%cx
+ andw.s %dx,%cx
+ andl %edx,%ecx
+ andl.s %edx,%ecx
+ and %rdx,%rcx
+ and.s %rdx,%rcx
+ andq %rdx,%rcx
+ andq.s %rdx,%rcx
+ cmp %dl,%cl
+ cmp.s %dl,%cl
+ cmp %dx,%cx
+ cmp.s %dx,%cx
+ cmp %edx,%ecx
+ cmp.s %edx,%ecx
+ cmpb %dl,%cl
+ cmpb.s %dl,%cl
+ cmpw %dx,%cx
+ cmpw.s %dx,%cx
+ cmpl %edx,%ecx
+ cmpl.s %edx,%ecx
+ cmp %rdx,%rcx
+ cmp.s %rdx,%rcx
+ cmpq %rdx,%rcx
+ cmpq.s %rdx,%rcx
mov %dl,%cl
mov.s %dl,%cl
mov %dx,%cx
@@ -21,6 +85,70 @@ _start:
mov.s %rdx,%rcx
movq %rdx,%rcx
movq.s %rdx,%rcx
+ or %dl,%cl
+ or.s %dl,%cl
+ or %dx,%cx
+ or.s %dx,%cx
+ or %edx,%ecx
+ or.s %edx,%ecx
+ orb %dl,%cl
+ orb.s %dl,%cl
+ orw %dx,%cx
+ orw.s %dx,%cx
+ orl %edx,%ecx
+ orl.s %edx,%ecx
+ or %rdx,%rcx
+ or.s %rdx,%rcx
+ orq %rdx,%rcx
+ orq.s %rdx,%rcx
+ sbb %dl,%cl
+ sbb.s %dl,%cl
+ sbb %dx,%cx
+ sbb.s %dx,%cx
+ sbb %edx,%ecx
+ sbb.s %edx,%ecx
+ sbbb %dl,%cl
+ sbbb.s %dl,%cl
+ sbbw %dx,%cx
+ sbbw.s %dx,%cx
+ sbbl %edx,%ecx
+ sbbl.s %edx,%ecx
+ sbb %rdx,%rcx
+ sbb.s %rdx,%rcx
+ sbbq %rdx,%rcx
+ sbbq.s %rdx,%rcx
+ sub %dl,%cl
+ sub.s %dl,%cl
+ sub %dx,%cx
+ sub.s %dx,%cx
+ sub %edx,%ecx
+ sub.s %edx,%ecx
+ subb %dl,%cl
+ subb.s %dl,%cl
+ subw %dx,%cx
+ subw.s %dx,%cx
+ subl %edx,%ecx
+ subl.s %edx,%ecx
+ sub %rdx,%rcx
+ sub.s %rdx,%rcx
+ subq %rdx,%rcx
+ subq.s %rdx,%rcx
+ xor %dl,%cl
+ xor.s %dl,%cl
+ xor %dx,%cx
+ xor.s %dx,%cx
+ xor %edx,%ecx
+ xor.s %edx,%ecx
+ xorb %dl,%cl
+ xorb.s %dl,%cl
+ xorw %dx,%cx
+ xorw.s %dx,%cx
+ xorl %edx,%ecx
+ xorl.s %edx,%ecx
+ xor %rdx,%rcx
+ xor.s %rdx,%rcx
+ xorq %rdx,%rcx
+ xorq.s %rdx,%rcx
# Tests for op ymm, ymm
vmovapd %ymm4,%ymm6
@@ -83,6 +211,38 @@ _start:
.intel_syntax noprefix
# Tests for op reg, reg
+ add cl,dl
+ add.s cl,dl
+ add cx,dx
+ add.s cx,dx
+ add ecx,edx
+ add.s ecx,edx
+ add rcx,rdx
+ add.s rcx,rdx
+ adc cl,dl
+ adc.s cl,dl
+ adc cx,dx
+ adc.s cx,dx
+ adc ecx,edx
+ adc.s ecx,edx
+ adc rcx,rdx
+ adc.s rcx,rdx
+ and cl,dl
+ and.s cl,dl
+ and cx,dx
+ and.s cx,dx
+ and ecx,edx
+ and.s ecx,edx
+ and rcx,rdx
+ and.s rcx,rdx
+ cmp cl,dl
+ cmp.s cl,dl
+ cmp cx,dx
+ cmp.s cx,dx
+ cmp ecx,edx
+ cmp.s ecx,edx
+ cmp rcx,rdx
+ cmp.s rcx,rdx
mov cl,dl
mov.s cl,dl
mov cx,dx
@@ -91,6 +251,38 @@ _start:
mov.s ecx,edx
mov rcx,rdx
mov.s rcx,rdx
+ or cl,dl
+ or.s cl,dl
+ or cx,dx
+ or.s cx,dx
+ or ecx,edx
+ or.s ecx,edx
+ or rcx,rdx
+ or.s rcx,rdx
+ sbb cl,dl
+ sbb.s cl,dl
+ sbb cx,dx
+ sbb.s cx,dx
+ sbb ecx,edx
+ sbb.s ecx,edx
+ sbb rcx,rdx
+ sbb.s rcx,rdx
+ sub cl,dl
+ sub.s cl,dl
+ sub cx,dx
+ sub.s cx,dx
+ sub ecx,edx
+ sub.s ecx,edx
+ sub rcx,rdx
+ sub.s rcx,rdx
+ xor cl,dl
+ xor.s cl,dl
+ xor cx,dx
+ xor.s cx,dx
+ xor ecx,edx
+ xor.s ecx,edx
+ xor rcx,rdx
+ xor.s rcx,rdx
# Tests for op ymm, ymm
vmovapd ymm6,ymm4
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index ec0952e..f8ddf48 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,9 @@
+2009-01-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (dis386): Use EbS on addB, orB, adcB, sbbB, andB,
+ subB, xorB and cmpB. Use EvS on addS, orS, adcS, sbbS, andS,
+ subS, xorS and cmpS.
+
2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (cpu_flag_init): Replace CpuP4 and CpuK6 with
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 43119f8..434ecfc 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -1310,8 +1310,8 @@ static const struct dis386 dis386[] = {
/* 00 */
{ "addB", { Eb, Gb } },
{ "addS", { Ev, Gv } },
- { "addB", { Gb, Eb } },
- { "addS", { Gv, Ev } },
+ { "addB", { Gb, EbS } },
+ { "addS", { Gv, EvS } },
{ "addB", { AL, Ib } },
{ "addS", { eAX, Iv } },
{ X86_64_TABLE (X86_64_06) },
@@ -1319,8 +1319,8 @@ static const struct dis386 dis386[] = {
/* 08 */
{ "orB", { Eb, Gb } },
{ "orS", { Ev, Gv } },
- { "orB", { Gb, Eb } },
- { "orS", { Gv, Ev } },
+ { "orB", { Gb, EbS } },
+ { "orS", { Gv, EvS } },
{ "orB", { AL, Ib } },
{ "orS", { eAX, Iv } },
{ X86_64_TABLE (X86_64_0D) },
@@ -1328,8 +1328,8 @@ static const struct dis386 dis386[] = {
/* 10 */
{ "adcB", { Eb, Gb } },
{ "adcS", { Ev, Gv } },
- { "adcB", { Gb, Eb } },
- { "adcS", { Gv, Ev } },
+ { "adcB", { Gb, EbS } },
+ { "adcS", { Gv, EvS } },
{ "adcB", { AL, Ib } },
{ "adcS", { eAX, Iv } },
{ X86_64_TABLE (X86_64_16) },
@@ -1337,8 +1337,8 @@ static const struct dis386 dis386[] = {
/* 18 */
{ "sbbB", { Eb, Gb } },
{ "sbbS", { Ev, Gv } },
- { "sbbB", { Gb, Eb } },
- { "sbbS", { Gv, Ev } },
+ { "sbbB", { Gb, EbS } },
+ { "sbbS", { Gv, EvS } },
{ "sbbB", { AL, Ib } },
{ "sbbS", { eAX, Iv } },
{ X86_64_TABLE (X86_64_1E) },
@@ -1346,8 +1346,8 @@ static const struct dis386 dis386[] = {
/* 20 */
{ "andB", { Eb, Gb } },
{ "andS", { Ev, Gv } },
- { "andB", { Gb, Eb } },
- { "andS", { Gv, Ev } },
+ { "andB", { Gb, EbS } },
+ { "andS", { Gv, EvS } },
{ "andB", { AL, Ib } },
{ "andS", { eAX, Iv } },
{ "(bad)", { XX } }, /* SEG ES prefix */
@@ -1355,8 +1355,8 @@ static const struct dis386 dis386[] = {
/* 28 */
{ "subB", { Eb, Gb } },
{ "subS", { Ev, Gv } },
- { "subB", { Gb, Eb } },
- { "subS", { Gv, Ev } },
+ { "subB", { Gb, EbS } },
+ { "subS", { Gv, EvS } },
{ "subB", { AL, Ib } },
{ "subS", { eAX, Iv } },
{ "(bad)", { XX } }, /* SEG CS prefix */
@@ -1364,8 +1364,8 @@ static const struct dis386 dis386[] = {
/* 30 */
{ "xorB", { Eb, Gb } },
{ "xorS", { Ev, Gv } },
- { "xorB", { Gb, Eb } },
- { "xorS", { Gv, Ev } },
+ { "xorB", { Gb, EbS } },
+ { "xorS", { Gv, EvS } },
{ "xorB", { AL, Ib } },
{ "xorS", { eAX, Iv } },
{ "(bad)", { XX } }, /* SEG SS prefix */
@@ -1373,8 +1373,8 @@ static const struct dis386 dis386[] = {
/* 38 */
{ "cmpB", { Eb, Gb } },
{ "cmpS", { Ev, Gv } },
- { "cmpB", { Gb, Eb } },
- { "cmpS", { Gv, Ev } },
+ { "cmpB", { Gb, EbS } },
+ { "cmpS", { Gv, EvS } },
{ "cmpB", { AL, Ib } },
{ "cmpS", { eAX, Iv } },
{ "(bad)", { XX } }, /* SEG DS prefix */