This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Support .s on add, adc, and, cmp, or, sbb, sub and xor


I checked in this patch to support s on add, adc, and, cmp, or, sbb,
sub and xor in x86 disassembler.


H.J.
---
Index: gas/testsuite/ChangeLog
===================================================================
--- gas/testsuite/ChangeLog	(revision 4942)
+++ gas/testsuite/ChangeLog	(working copy)
@@ -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.
Index: gas/testsuite/gas/i386/opts-intel.d
===================================================================
--- gas/testsuite/gas/i386/opts-intel.d	(revision 4802)
+++ gas/testsuite/gas/i386/opts-intel.d	(working copy)
@@ -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
Index: gas/testsuite/gas/i386/opts.d
===================================================================
--- gas/testsuite/gas/i386/opts.d	(revision 4802)
+++ gas/testsuite/gas/i386/opts.d	(working copy)
@@ -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
Index: gas/testsuite/gas/i386/x86-64-opts.d
===================================================================
--- gas/testsuite/gas/i386/x86-64-opts.d	(revision 4802)
+++ gas/testsuite/gas/i386/x86-64-opts.d	(working copy)
@@ -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
Index: gas/testsuite/gas/i386/opts.s
===================================================================
--- gas/testsuite/gas/i386/opts.s	(revision 4802)
+++ gas/testsuite/gas/i386/opts.s	(working copy)
@@ -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
Index: gas/testsuite/gas/i386/x86-64-opts-intel.d
===================================================================
--- gas/testsuite/gas/i386/x86-64-opts-intel.d	(revision 4802)
+++ gas/testsuite/gas/i386/x86-64-opts-intel.d	(working copy)
@@ -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
Index: gas/testsuite/gas/i386/x86-64-opts.s
===================================================================
--- gas/testsuite/gas/i386/x86-64-opts.s	(revision 4802)
+++ gas/testsuite/gas/i386/x86-64-opts.s	(working copy)
@@ -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
Index: opcodes/ChangeLog
===================================================================
--- opcodes/ChangeLog	(revision 4942)
+++ opcodes/ChangeLog	(working copy)
@@ -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
Index: opcodes/i386-dis.c
===================================================================
--- opcodes/i386-dis.c	(revision 4942)
+++ opcodes/i386-dis.c	(working copy)
@@ -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 */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]