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] Properly display extra data/address size prefixes


X86 disassembler checks data and address size prefixes when displaying
instruction mnemonic and operands.  For the extra data and address size
prefixes, their names depend only on the address mode, not the data and
address size prefixes.  This patch changes x86 disassembler not to check
the data and address size prefix when printing extra data and address size
prefixes.  I checked it into master.


H.J.
---
gas/testsuite/

	* gas/i386/nops-1-core2.d: Replace data32 with data16.
	* gas/i386/nops-4a-i686.d: Likewise.
	* gas/i386/nops-5-i686.d: Likewise.
	* gas/i386/nops-5.d: Likewise.
	* gas/i386/x86-64-cbw-intel.d: Likewise.
	* gas/i386/x86-64-cbw.d: Likewise.
	* gas/i386/x86-64-io-intel.d: Likewise.
	* gas/i386/x86-64-io-suffix.d: Likewise.
	* gas/i386/x86-64-io.d: Likewise.
	* gas/i386/x86-64-nops-1-core2.d: Likewise.
	* gas/i386/x86-64-nops-1-g64.d: Likewise.
	* gas/i386/x86-64-nops-1-nocona.d: Likewise.
	* gas/i386/x86-64-nops-1.d: Likewise.
	* gas/i386/x86-64-nops-2.d: Likewise.
	* gas/i386/x86-64-nops-3.d: Likewise.
	* gas/i386/x86-64-nops-4-core2.d: Likewise.
	* gas/i386/x86-64-nops-4.d: Likewise.
	* gas/i386/x86-64-nops-5-k8.d: Likewise.
	* gas/i386/x86-64-nops-5.d: Likewise.
	* gas/i386/x86-64-stack-intel.d: Likewise.
	* gas/i386/x86-64-stack-suffix.d: Likewise.
	* gas/i386/x86-64-stack.d: Likewise.
	* gas/i386/ilp32/x86-64-cbw-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-cbw.d: Likewise.
	* gas/i386/ilp32/x86-64-io-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-io-suffix.d: Likewise.
	* gas/i386/ilp32/x86-64-io.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-1-core2.d:
	* gas/i386/ilp32/x86-64-nops-1-nocona.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-1.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-2.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-3.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-4-core2.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-4.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-5-k8.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-5.: Likewise.
	* gas/i386/ilp32/x86-64-stack-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-stack-suffix.: Likewise.
	* gas/i386/ilp32/x86-64-stack.d: Likewise.

ld/testsuite/

	* ld-x86-64/tlsbin.dd: Replace data32 with data16.
	* ld-x86-64/tlsdesc-nacl.pd: Likewise.
	* ld-x86-64/tlsgdesc.dd: Likewise.
	* ld-x86-64/tlsld1.dd: Likewise.
	* ld-x86-64/tlsld3.dd: Likewise.
	* ld-x86-64/tlspic.dd: Likewise.

opcodes/

2014-05-09  H.J. Lu  <hongjiu.lu@intel.com>

	* i386-dis.c (ADDR16_PREFIX): Removed.
	(ADDR32_PREFIX): Likewise.
	(DATA16_PREFIX): Likewise.
	(DATA32_PREFIX): Likewise.
	(prefix_name): Updated.
	(print_insn): Simplify data and address size prefixes processing.
---
 gas/testsuite/ChangeLog                            | 42 +++++++++++++
 gas/testsuite/gas/i386/ilp32/x86-64-cbw-intel.d    |  4 +-
 gas/testsuite/gas/i386/ilp32/x86-64-cbw.d          |  4 +-
 gas/testsuite/gas/i386/ilp32/x86-64-io-intel.d     |  8 +--
 gas/testsuite/gas/i386/ilp32/x86-64-io-suffix.d    |  8 +--
 gas/testsuite/gas/i386/ilp32/x86-64-io.d           |  8 +--
 gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d | 10 ++--
 .../gas/i386/ilp32/x86-64-nops-1-nocona.d          | 10 ++--
 gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d       | 10 ++--
 gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d       | 12 ++--
 gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d       |  6 +-
 gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d | 44 +++++++-------
 gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d       | 44 +++++++-------
 gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d    | 10 ++--
 gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d       | 10 ++--
 gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d  | 26 ++++-----
 gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d | 26 ++++-----
 gas/testsuite/gas/i386/ilp32/x86-64-stack.d        | 26 ++++-----
 gas/testsuite/gas/i386/nops-1-core2.d              | 10 ++--
 gas/testsuite/gas/i386/nops-4a-i686.d              | 44 +++++++-------
 gas/testsuite/gas/i386/nops-5-i686.d               | 10 ++--
 gas/testsuite/gas/i386/nops-5.d                    | 10 ++--
 gas/testsuite/gas/i386/x86-64-cbw-intel.d          |  4 +-
 gas/testsuite/gas/i386/x86-64-cbw.d                |  4 +-
 gas/testsuite/gas/i386/x86-64-io-intel.d           |  8 +--
 gas/testsuite/gas/i386/x86-64-io-suffix.d          |  8 +--
 gas/testsuite/gas/i386/x86-64-io.d                 |  8 +--
 gas/testsuite/gas/i386/x86-64-nops-1-core2.d       | 10 ++--
 gas/testsuite/gas/i386/x86-64-nops-1-g64.d         | 10 ++--
 gas/testsuite/gas/i386/x86-64-nops-1-nocona.d      | 10 ++--
 gas/testsuite/gas/i386/x86-64-nops-1.d             | 10 ++--
 gas/testsuite/gas/i386/x86-64-nops-2.d             | 12 ++--
 gas/testsuite/gas/i386/x86-64-nops-3.d             |  6 +-
 gas/testsuite/gas/i386/x86-64-nops-4-core2.d       | 44 +++++++-------
 gas/testsuite/gas/i386/x86-64-nops-4.d             | 44 +++++++-------
 gas/testsuite/gas/i386/x86-64-nops-5-k8.d          | 10 ++--
 gas/testsuite/gas/i386/x86-64-nops-5.d             | 10 ++--
 gas/testsuite/gas/i386/x86-64-stack-intel.d        | 26 ++++-----
 gas/testsuite/gas/i386/x86-64-stack-suffix.d       | 26 ++++-----
 gas/testsuite/gas/i386/x86-64-stack.d              | 26 ++++-----
 ld/testsuite/ChangeLog                             |  9 +++
 ld/testsuite/ld-x86-64/plt-nacl.pd                 | 12 ++--
 ld/testsuite/ld-x86-64/tlsbin.dd                   |  4 +-
 ld/testsuite/ld-x86-64/tlsdesc-nacl.pd             |  8 +--
 ld/testsuite/ld-x86-64/tlsgdesc.dd                 |  8 +--
 ld/testsuite/ld-x86-64/tlsld1.dd                   |  2 +-
 ld/testsuite/ld-x86-64/tlsld3.dd                   |  2 +-
 ld/testsuite/ld-x86-64/tlspic.dd                   | 16 ++---
 opcodes/ChangeLog                                  |  9 +++
 opcodes/i386-dis.c                                 | 68 +++++-----------------
 50 files changed, 407 insertions(+), 389 deletions(-)

diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 3c1be34..db8eb2e 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,45 @@
+2014-05-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* gas/i386/nops-1-core2.d: Replace data32 with data16.
+	* gas/i386/nops-4a-i686.d: Likewise.
+	* gas/i386/nops-5-i686.d: Likewise.
+	* gas/i386/nops-5.d: Likewise.
+	* gas/i386/x86-64-cbw-intel.d: Likewise.
+	* gas/i386/x86-64-cbw.d: Likewise.
+	* gas/i386/x86-64-io-intel.d: Likewise.
+	* gas/i386/x86-64-io-suffix.d: Likewise.
+	* gas/i386/x86-64-io.d: Likewise.
+	* gas/i386/x86-64-nops-1-core2.d: Likewise.
+	* gas/i386/x86-64-nops-1-g64.d: Likewise.
+	* gas/i386/x86-64-nops-1-nocona.d: Likewise.
+	* gas/i386/x86-64-nops-1.d: Likewise.
+	* gas/i386/x86-64-nops-2.d: Likewise.
+	* gas/i386/x86-64-nops-3.d: Likewise.
+	* gas/i386/x86-64-nops-4-core2.d: Likewise.
+	* gas/i386/x86-64-nops-4.d: Likewise.
+	* gas/i386/x86-64-nops-5-k8.d: Likewise.
+	* gas/i386/x86-64-nops-5.d: Likewise.
+	* gas/i386/x86-64-stack-intel.d: Likewise.
+	* gas/i386/x86-64-stack-suffix.d: Likewise.
+	* gas/i386/x86-64-stack.d: Likewise.
+	* gas/i386/ilp32/x86-64-cbw-intel.d: Likewise.
+	* gas/i386/ilp32/x86-64-cbw.d: Likewise.
+	* gas/i386/ilp32/x86-64-io-intel.d: Likewise.
+	* gas/i386/ilp32/x86-64-io-suffix.d: Likewise.
+	* gas/i386/ilp32/x86-64-io.d: Likewise.
+	* gas/i386/ilp32/x86-64-nops-1-core2.d:
+	* gas/i386/ilp32/x86-64-nops-1-nocona.d: Likewise.
+	* gas/i386/ilp32/x86-64-nops-1.d: Likewise.
+	* gas/i386/ilp32/x86-64-nops-2.d: Likewise.
+	* gas/i386/ilp32/x86-64-nops-3.d: Likewise.
+	* gas/i386/ilp32/x86-64-nops-4-core2.d: Likewise.
+	* gas/i386/ilp32/x86-64-nops-4.d: Likewise.
+	* gas/i386/ilp32/x86-64-nops-5-k8.d: Likewise.
+	* gas/i386/ilp32/x86-64-nops-5.: Likewise.
+	* gas/i386/ilp32/x86-64-stack-intel.d: Likewise.
+	* gas/i386/ilp32/x86-64-stack-suffix.: Likewise.
+	* gas/i386/ilp32/x86-64-stack.d: Likewise.
+
 2014-05-08  Matthew Fortune  <matthew.fortune@imgtec.com>
 
 	* gas/mips/attr-gnu-abi-fp-1.s: New.
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-cbw-intel.d b/gas/testsuite/gas/i386/ilp32/x86-64-cbw-intel.d
index 5b89548..6d955eb 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-cbw-intel.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-cbw-intel.d
@@ -12,7 +12,7 @@ Disassembly of section .text:
    3:	48 98                	cdqe   
    5:	66 40 98             	rex cbw 
    8:	40 98                	rex cwde 
-   a:	66 48 98             	data32 cdqe 
+   a:	66 48 98             	data16 cdqe 
 
 0+00d <_cwd>:
    d:	66 99                	cwd    
@@ -20,5 +20,5 @@ Disassembly of section .text:
   10:	48 99                	cqo    
   12:	66 40 99             	rex cwd 
   15:	40 99                	rex cdq 
-  17:	66 48 99             	data32 cqo 
+  17:	66 48 99             	data16 cqo 
 #pass
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-cbw.d b/gas/testsuite/gas/i386/ilp32/x86-64-cbw.d
index 1eeafaa..3cb0697 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-cbw.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-cbw.d
@@ -12,7 +12,7 @@ Disassembly of section .text:
    3:	48 98                	cltq   
    5:	66 40 98             	rex cbtw 
    8:	40 98                	rex cwtl 
-   a:	66 48 98             	data32 cltq 
+   a:	66 48 98             	data16 cltq 
 
 0+00d <_cwd>:
    d:	66 99                	cwtd   
@@ -20,5 +20,5 @@ Disassembly of section .text:
   10:	48 99                	cqto   
   12:	66 40 99             	rex cwtd 
   15:	40 99                	rex cltd 
-  17:	66 48 99             	data32 cqto 
+  17:	66 48 99             	data16 cqto 
 #pass
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-io-intel.d b/gas/testsuite/gas/i386/ilp32/x86-64-io-intel.d
index 67747b4..2cdcfde 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-io-intel.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-io-intel.d
@@ -8,17 +8,17 @@ Disassembly of section .text:
 
 0+000 <_in>:
    0:	48 ed                	rex.W in eax,dx
-   2:	66 48 ed             	data32 rex.W in eax,dx
+   2:	66 48 ed             	data16 rex.W in eax,dx
 
 0+005 <_out>:
    5:	48 ef                	rex.W out dx,eax
-   7:	66 48 ef             	data32 rex.W out dx,eax
+   7:	66 48 ef             	data16 rex.W out dx,eax
 
 0+00a <_ins>:
    a:	48 6d                	rex.W ins DWORD PTR es:\[rdi\],dx
-   c:	66 48 6d             	data32 rex.W ins DWORD PTR es:\[rdi\],dx
+   c:	66 48 6d             	data16 rex.W ins DWORD PTR es:\[rdi\],dx
 
 0+00f <_outs>:
    f:	48 6f                	rex.W outs dx,DWORD PTR ds:\[rsi\]
-  11:	66 48 6f             	data32 rex.W outs dx,DWORD PTR ds:\[rsi\]
+  11:	66 48 6f             	data16 rex.W outs dx,DWORD PTR ds:\[rsi\]
 #pass
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-io-suffix.d b/gas/testsuite/gas/i386/ilp32/x86-64-io-suffix.d
index 528bfdc..4f4c927 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-io-suffix.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-io-suffix.d
@@ -8,17 +8,17 @@ Disassembly of section .text:
 
 0+000 <_in>:
    0:	48 ed                	rex.W inl \(%dx\),%eax
-   2:	66 48 ed             	data32 rex.W inl \(%dx\),%eax
+   2:	66 48 ed             	data16 rex.W inl \(%dx\),%eax
 
 0+005 <_out>:
    5:	48 ef                	rex.W outl %eax,\(%dx\)
-   7:	66 48 ef             	data32 rex.W outl %eax,\(%dx\)
+   7:	66 48 ef             	data16 rex.W outl %eax,\(%dx\)
 
 0+00a <_ins>:
    a:	48 6d                	rex.W insl \(%dx\),%es:\(%rdi\)
-   c:	66 48 6d             	data32 rex.W insl \(%dx\),%es:\(%rdi\)
+   c:	66 48 6d             	data16 rex.W insl \(%dx\),%es:\(%rdi\)
 
 0+00f <_outs>:
    f:	48 6f                	rex.W outsl %ds:\(%rsi\),\(%dx\)
-  11:	66 48 6f             	data32 rex.W outsl %ds:\(%rsi\),\(%dx\)
+  11:	66 48 6f             	data16 rex.W outsl %ds:\(%rsi\),\(%dx\)
 #pass
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-io.d b/gas/testsuite/gas/i386/ilp32/x86-64-io.d
index fe86273..889e60e 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-io.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-io.d
@@ -8,17 +8,17 @@ Disassembly of section .text:
 
 0+000 <_in>:
    0:	48 ed                	rex.W in \(%dx\),%eax
-   2:	66 48 ed             	data32 rex.W in \(%dx\),%eax
+   2:	66 48 ed             	data16 rex.W in \(%dx\),%eax
 
 0+005 <_out>:
    5:	48 ef                	rex.W out %eax,\(%dx\)
-   7:	66 48 ef             	data32 rex.W out %eax,\(%dx\)
+   7:	66 48 ef             	data16 rex.W out %eax,\(%dx\)
 
 0+00a <_ins>:
    a:	48 6d                	rex.W insl \(%dx\),%es:\(%rdi\)
-   c:	66 48 6d             	data32 rex.W insl \(%dx\),%es:\(%rdi\)
+   c:	66 48 6d             	data16 rex.W insl \(%dx\),%es:\(%rdi\)
 
 0+00f <_outs>:
    f:	48 6f                	rex.W outsl %ds:\(%rsi\),\(%dx\)
-  11:	66 48 6f             	data32 rex.W outsl %ds:\(%rsi\),\(%dx\)
+  11:	66 48 6f             	data16 rex.W outsl %ds:\(%rsi\),\(%dx\)
 #pass
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d b/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d
index 2ae7580..a174c7d 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d
@@ -9,25 +9,25 @@ Disassembly of section .text:
 
 0+ <nop15>:
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+10 <nop14>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+20 <nop13>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+30 <nop12>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+40 <nop11>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -35,7 +35,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+50 <nop10>:
 [ 	]*[a-f0-9]+:	90                   	nop
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-nocona.d b/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-nocona.d
index ce8a6c7..dbd6f7a 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-nocona.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-nocona.d
@@ -9,25 +9,25 @@ Disassembly of section .text:
 
 0+ <nop15>:
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+10 <nop14>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+20 <nop13>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+30 <nop12>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+40 <nop11>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -35,7 +35,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+50 <nop10>:
 [ 	]*[a-f0-9]+:	90                   	nop
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d b/gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d
index 0b653a6..772fd3e 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d
@@ -9,25 +9,25 @@ Disassembly of section .text:
 
 0+ <nop15>:
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+10 <nop14>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+20 <nop13>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+30 <nop12>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+40 <nop11>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -35,7 +35,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+50 <nop10>:
 [ 	]*[a-f0-9]+:	90                   	nop
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d b/gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d
index 80aa944..551ceca 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d
@@ -9,29 +9,29 @@ Disassembly of section .text:
 
 0+ <nop>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+10 <nop15>:
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+20 <nop14>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+30 <nop13>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+40 <nop12>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+50 <nop11>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -39,7 +39,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+60 <nop10>:
 [ 	]*[a-f0-9]+:	90                   	nop
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d b/gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d
index ba65a5a..f59cd8a 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d
@@ -10,8 +10,8 @@ Disassembly of section .text:
 0+ <nop>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 [ 	]*[a-f0-9]+:	89 c3                	mov    %eax,%ebx
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 #pass
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d b/gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d
index 0417100..02a8a63 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d
@@ -10,29 +10,29 @@ Disassembly of section .text:
 0+ <nop31>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+20 <nop30>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+40 <nop29>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+60 <nop28>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+80 <nop27>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -40,8 +40,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+a0 <nop26>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -50,8 +50,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+c0 <nop25>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -62,7 +62,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 2e 0f 1f 84 00 00 00 00 00 	nopw   %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+e0 <nop24>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -74,7 +74,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 0f 1f 84 00 00 00 00 00 	nopw   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+100 <nop23>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -87,7 +87,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 84 00 00 00 00 00 	nopl   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+120 <nop22>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -101,7 +101,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 80 00 00 00 00 	nopl   0x0\(%rax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+140 <nop21>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -116,7 +116,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 0f 1f 44 00 00    	nopw   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+160 <nop20>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -132,7 +132,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 44 00 00       	nopl   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+180 <nop19>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -149,7 +149,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 40 00          	nopl   0x0\(%rax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+1a0 <nop18>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -167,7 +167,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 00             	nopl   \(%rax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+1c0 <nop17>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -186,7 +186,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 90                	xchg   %ax,%ax
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+1e0 <nop16>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -206,5 +206,5 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 #pass
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d b/gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d
index ca59e77..1419098 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d
@@ -10,29 +10,29 @@ Disassembly of section .text:
 0+ <nop31>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+20 <nop30>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+40 <nop29>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+60 <nop28>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+80 <nop27>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -40,8 +40,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+a0 <nop26>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -50,8 +50,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+c0 <nop25>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -62,7 +62,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 2e 0f 1f 84 00 00 00 00 00 	nopw   %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+e0 <nop24>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -74,7 +74,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 0f 1f 84 00 00 00 00 00 	nopw   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+100 <nop23>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -87,7 +87,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 84 00 00 00 00 00 	nopl   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+120 <nop22>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -101,7 +101,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 80 00 00 00 00 	nopl   0x0\(%rax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+140 <nop21>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -116,7 +116,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 0f 1f 44 00 00    	nopw   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+160 <nop20>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -132,7 +132,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 44 00 00       	nopl   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+180 <nop19>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -149,7 +149,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 40 00          	nopl   0x0\(%rax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+1a0 <nop18>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -167,7 +167,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 00             	nopl   \(%rax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+1c0 <nop17>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -186,7 +186,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 90                	xchg   %ax,%ax
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+1e0 <nop16>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -206,5 +206,5 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 #pass
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d b/gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d
index df2ef59..9044e99 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d
@@ -29,19 +29,19 @@ Disassembly of section .text:
 
 0+40 <pentium4>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+50 <nocona>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+60 <core>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+70 <core2>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+80 <k6>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
@@ -65,7 +65,7 @@ Disassembly of section .text:
 
 0+c0 <generic64>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+d0 <amdfam10>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d b/gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d
index 09a17a8..d1ec2c5 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d
@@ -28,19 +28,19 @@ Disassembly of section .text:
 
 0+40 <pentium4>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+50 <nocona>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+60 <core>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+70 <core2>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+80 <k6>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
@@ -64,7 +64,7 @@ Disassembly of section .text:
 
 0+c0 <generic64>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+d0 <amdfam10>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d b/gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d
index f98b8cd..8d684a9 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d
@@ -10,56 +10,56 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	50                   	push   rax
 [ 	]*[a-f0-9]+:	66 50                	push   ax
 [ 	]*[a-f0-9]+:	48 50                	rex.W push rax
-[ 	]*[a-f0-9]+:	66 48 50             	data32 rex.W push rax
+[ 	]*[a-f0-9]+:	66 48 50             	data16 rex.W push rax
 [ 	]*[a-f0-9]+:	58                   	pop    rax
 [ 	]*[a-f0-9]+:	66 58                	pop    ax
 [ 	]*[a-f0-9]+:	48 58                	rex.W pop rax
-[ 	]*[a-f0-9]+:	66 48 58             	data32 rex.W pop rax
+[ 	]*[a-f0-9]+:	66 48 58             	data16 rex.W pop rax
 [ 	]*[a-f0-9]+:	8f c0                	pop    rax
 [ 	]*[a-f0-9]+:	66 8f c0             	pop    ax
 [ 	]*[a-f0-9]+:	48 8f c0             	rex.W pop rax
-[ 	]*[a-f0-9]+:	66 48 8f c0          	data32 rex.W pop rax
+[ 	]*[a-f0-9]+:	66 48 8f c0          	data16 rex.W pop rax
 [ 	]*[a-f0-9]+:	8f 00                	pop    QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	66 8f 00             	pop    WORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	48 8f 00             	rex.W pop QWORD PTR \[rax\]
-[ 	]*[a-f0-9]+:	66 48 8f 00          	data32 rex.W pop QWORD PTR \[rax\]
+[ 	]*[a-f0-9]+:	66 48 8f 00          	data16 rex.W pop QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	ff d0                	call   rax
 [ 	]*[a-f0-9]+:	66 ff d0             	call   ax
 [ 	]*[a-f0-9]+:	48 ff d0             	rex.W call rax
-[ 	]*[a-f0-9]+:	66 48 ff d0          	data32 rex.W call rax
+[ 	]*[a-f0-9]+:	66 48 ff d0          	data16 rex.W call rax
 [ 	]*[a-f0-9]+:	ff 10                	call   QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	66 ff 10             	call   WORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	48 ff 10             	rex.W call QWORD PTR \[rax\]
-[ 	]*[a-f0-9]+:	66 48 ff 10          	data32 rex.W call QWORD PTR \[rax\]
+[ 	]*[a-f0-9]+:	66 48 ff 10          	data16 rex.W call QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	ff e0                	jmp    rax
 [ 	]*[a-f0-9]+:	66 ff e0             	jmp    ax
 [ 	]*[a-f0-9]+:	48 ff e0             	rex.W jmp rax
-[ 	]*[a-f0-9]+:	66 48 ff e0          	data32 rex.W jmp rax
+[ 	]*[a-f0-9]+:	66 48 ff e0          	data16 rex.W jmp rax
 [ 	]*[a-f0-9]+:	ff 20                	jmp    QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	66 ff 20             	jmp    WORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	48 ff 20             	rex.W jmp QWORD PTR \[rax\]
-[ 	]*[a-f0-9]+:	66 48 ff 20          	data32 rex.W jmp QWORD PTR \[rax\]
+[ 	]*[a-f0-9]+:	66 48 ff 20          	data16 rex.W jmp QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	ff f0                	push   rax
 [ 	]*[a-f0-9]+:	66 ff f0             	push   ax
 [ 	]*[a-f0-9]+:	48 ff f0             	rex.W push rax
-[ 	]*[a-f0-9]+:	66 48 ff f0          	data32 rex.W push rax
+[ 	]*[a-f0-9]+:	66 48 ff f0          	data16 rex.W push rax
 [ 	]*[a-f0-9]+:	ff 30                	push   QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	66 ff 30             	push   WORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	48 ff 30             	rex.W push QWORD PTR \[rax\]
-[ 	]*[a-f0-9]+:	66 48 ff 30          	data32 rex.W push QWORD PTR \[rax\]
+[ 	]*[a-f0-9]+:	66 48 ff 30          	data16 rex.W push QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	6a ff                	push   0xffffffffffffffff
 [ 	]*[a-f0-9]+:	66 6a ff             	pushw  0xffff
 [ 	]*[a-f0-9]+:	48 6a ff             	rex.W push 0xffffffffffffffff
-[ 	]*[a-f0-9]+:	66 48 6a ff          	data32 rex.W push 0xffffffffffffffff
+[ 	]*[a-f0-9]+:	66 48 6a ff          	data16 rex.W push 0xffffffffffffffff
 [ 	]*[a-f0-9]+:	68 01 02 03 04       	push   0x4030201
 [ 	]*[a-f0-9]+:	66 68 01 02          	pushw  0x201
 [ 	]*[a-f0-9]+:	03 04 48             	add    eax,DWORD PTR \[rax\+rcx\*2\]
 [ 	]*[a-f0-9]+:	68 01 02 03 04       	push   0x4030201
-[ 	]*[a-f0-9]+:	66 48 68 01 02 03 04 	data32 rex.W push 0x4030201
+[ 	]*[a-f0-9]+:	66 48 68 01 02 03 04 	data16 rex.W push 0x4030201
 [ 	]*[a-f0-9]+:	0f a8                	push   gs
 [ 	]*[a-f0-9]+:	66 0f a8             	pushw  gs
 [ 	]*[a-f0-9]+:	48 0f a8             	rex.W push gs
-[ 	]*[a-f0-9]+:	66 48 0f a8          	data32 rex.W push gs
+[ 	]*[a-f0-9]+:	66 48 0f a8          	data16 rex.W push gs
 [ 	]*[a-f0-9]+:	41 0f a8             	rex.B push gs
 [ 	]*[a-f0-9]+:	66 41 0f a8          	rex.B pushw gs
 [ 	]*[a-f0-9]+:	48                   	rex.W
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d b/gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d
index cecab6d..09d3702 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d
@@ -10,56 +10,56 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	50                   	pushq  %rax
 [ 	]*[a-f0-9]+:	66 50                	pushw  %ax
 [ 	]*[a-f0-9]+:	48 50                	rex.W pushq %rax
-[ 	]*[a-f0-9]+:	66 48 50             	data32 rex.W pushq %rax
+[ 	]*[a-f0-9]+:	66 48 50             	data16 rex.W pushq %rax
 [ 	]*[a-f0-9]+:	58                   	popq   %rax
 [ 	]*[a-f0-9]+:	66 58                	popw   %ax
 [ 	]*[a-f0-9]+:	48 58                	rex.W popq %rax
-[ 	]*[a-f0-9]+:	66 48 58             	data32 rex.W popq %rax
+[ 	]*[a-f0-9]+:	66 48 58             	data16 rex.W popq %rax
 [ 	]*[a-f0-9]+:	8f c0                	popq   %rax
 [ 	]*[a-f0-9]+:	66 8f c0             	popw   %ax
 [ 	]*[a-f0-9]+:	48 8f c0             	rex.W popq %rax
-[ 	]*[a-f0-9]+:	66 48 8f c0          	data32 rex.W popq %rax
+[ 	]*[a-f0-9]+:	66 48 8f c0          	data16 rex.W popq %rax
 [ 	]*[a-f0-9]+:	8f 00                	popq   \(%rax\)
 [ 	]*[a-f0-9]+:	66 8f 00             	popw   \(%rax\)
 [ 	]*[a-f0-9]+:	48 8f 00             	rex.W popq \(%rax\)
-[ 	]*[a-f0-9]+:	66 48 8f 00          	data32 rex.W popq \(%rax\)
+[ 	]*[a-f0-9]+:	66 48 8f 00          	data16 rex.W popq \(%rax\)
 [ 	]*[a-f0-9]+:	ff d0                	callq  \*%rax
 [ 	]*[a-f0-9]+:	66 ff d0             	callw  \*%ax
 [ 	]*[a-f0-9]+:	48 ff d0             	rex.W callq \*%rax
-[ 	]*[a-f0-9]+:	66 48 ff d0          	data32 rex.W callq \*%rax
+[ 	]*[a-f0-9]+:	66 48 ff d0          	data16 rex.W callq \*%rax
 [ 	]*[a-f0-9]+:	ff 10                	callq  \*\(%rax\)
 [ 	]*[a-f0-9]+:	66 ff 10             	callw  \*\(%rax\)
 [ 	]*[a-f0-9]+:	48 ff 10             	rex.W callq \*\(%rax\)
-[ 	]*[a-f0-9]+:	66 48 ff 10          	data32 rex.W callq \*\(%rax\)
+[ 	]*[a-f0-9]+:	66 48 ff 10          	data16 rex.W callq \*\(%rax\)
 [ 	]*[a-f0-9]+:	ff e0                	jmpq   \*%rax
 [ 	]*[a-f0-9]+:	66 ff e0             	jmpw   \*%ax
 [ 	]*[a-f0-9]+:	48 ff e0             	rex.W jmpq \*%rax
-[ 	]*[a-f0-9]+:	66 48 ff e0          	data32 rex.W jmpq \*%rax
+[ 	]*[a-f0-9]+:	66 48 ff e0          	data16 rex.W jmpq \*%rax
 [ 	]*[a-f0-9]+:	ff 20                	jmpq   \*\(%rax\)
 [ 	]*[a-f0-9]+:	66 ff 20             	jmpw   \*\(%rax\)
 [ 	]*[a-f0-9]+:	48 ff 20             	rex.W jmpq \*\(%rax\)
-[ 	]*[a-f0-9]+:	66 48 ff 20          	data32 rex.W jmpq \*\(%rax\)
+[ 	]*[a-f0-9]+:	66 48 ff 20          	data16 rex.W jmpq \*\(%rax\)
 [ 	]*[a-f0-9]+:	ff f0                	pushq  %rax
 [ 	]*[a-f0-9]+:	66 ff f0             	pushw  %ax
 [ 	]*[a-f0-9]+:	48 ff f0             	rex.W pushq %rax
-[ 	]*[a-f0-9]+:	66 48 ff f0          	data32 rex.W pushq %rax
+[ 	]*[a-f0-9]+:	66 48 ff f0          	data16 rex.W pushq %rax
 [ 	]*[a-f0-9]+:	ff 30                	pushq  \(%rax\)
 [ 	]*[a-f0-9]+:	66 ff 30             	pushw  \(%rax\)
 [ 	]*[a-f0-9]+:	48 ff 30             	rex.W pushq \(%rax\)
-[ 	]*[a-f0-9]+:	66 48 ff 30          	data32 rex.W pushq \(%rax\)
+[ 	]*[a-f0-9]+:	66 48 ff 30          	data16 rex.W pushq \(%rax\)
 [ 	]*[a-f0-9]+:	6a ff                	pushq  \$0xffffffffffffffff
 [ 	]*[a-f0-9]+:	66 6a ff             	pushw  \$0xffff
 [ 	]*[a-f0-9]+:	48 6a ff             	rex.W pushq \$0xffffffffffffffff
-[ 	]*[a-f0-9]+:	66 48 6a ff          	data32 rex.W pushq \$0xffffffffffffffff
+[ 	]*[a-f0-9]+:	66 48 6a ff          	data16 rex.W pushq \$0xffffffffffffffff
 [ 	]*[a-f0-9]+:	68 01 02 03 04       	pushq  \$0x4030201
 [ 	]*[a-f0-9]+:	66 68 01 02          	pushw  \$0x201
 [ 	]*[a-f0-9]+:	03 04 48             	addl   \(%rax,%rcx,2\),%eax
 [ 	]*[a-f0-9]+:	68 01 02 03 04       	pushq  \$0x4030201
-[ 	]*[a-f0-9]+:	66 48 68 01 02 03 04 	data32 rex.W pushq \$0x4030201
+[ 	]*[a-f0-9]+:	66 48 68 01 02 03 04 	data16 rex.W pushq \$0x4030201
 [ 	]*[a-f0-9]+:	0f a8                	pushq  %gs
 [ 	]*[a-f0-9]+:	66 0f a8             	pushw  %gs
 [ 	]*[a-f0-9]+:	48 0f a8             	rex.W pushq %gs
-[ 	]*[a-f0-9]+:	66 48 0f a8          	data32 rex.W pushq %gs
+[ 	]*[a-f0-9]+:	66 48 0f a8          	data16 rex.W pushq %gs
 [ 	]*[a-f0-9]+:	41 0f a8             	rex.B pushq %gs
 [ 	]*[a-f0-9]+:	66 41 0f a8          	rex.B pushw %gs
 [ 	]*[a-f0-9]+:	48                   	rex.W
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-stack.d b/gas/testsuite/gas/i386/ilp32/x86-64-stack.d
index fd649e2..2fe62aa 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-stack.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-stack.d
@@ -10,56 +10,56 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	50                   	push   %rax
 [ 	]*[a-f0-9]+:	66 50                	push   %ax
 [ 	]*[a-f0-9]+:	48 50                	rex.W push %rax
-[ 	]*[a-f0-9]+:	66 48 50             	data32 rex.W push %rax
+[ 	]*[a-f0-9]+:	66 48 50             	data16 rex.W push %rax
 [ 	]*[a-f0-9]+:	58                   	pop    %rax
 [ 	]*[a-f0-9]+:	66 58                	pop    %ax
 [ 	]*[a-f0-9]+:	48 58                	rex.W pop %rax
-[ 	]*[a-f0-9]+:	66 48 58             	data32 rex.W pop %rax
+[ 	]*[a-f0-9]+:	66 48 58             	data16 rex.W pop %rax
 [ 	]*[a-f0-9]+:	8f c0                	pop    %rax
 [ 	]*[a-f0-9]+:	66 8f c0             	pop    %ax
 [ 	]*[a-f0-9]+:	48 8f c0             	rex.W pop %rax
-[ 	]*[a-f0-9]+:	66 48 8f c0          	data32 rex.W pop %rax
+[ 	]*[a-f0-9]+:	66 48 8f c0          	data16 rex.W pop %rax
 [ 	]*[a-f0-9]+:	8f 00                	popq   \(%rax\)
 [ 	]*[a-f0-9]+:	66 8f 00             	popw   \(%rax\)
 [ 	]*[a-f0-9]+:	48 8f 00             	rex.W popq \(%rax\)
-[ 	]*[a-f0-9]+:	66 48 8f 00          	data32 rex.W popq \(%rax\)
+[ 	]*[a-f0-9]+:	66 48 8f 00          	data16 rex.W popq \(%rax\)
 [ 	]*[a-f0-9]+:	ff d0                	callq  \*%rax
 [ 	]*[a-f0-9]+:	66 ff d0             	callw  \*%ax
 [ 	]*[a-f0-9]+:	48 ff d0             	rex.W callq \*%rax
-[ 	]*[a-f0-9]+:	66 48 ff d0          	data32 rex.W callq \*%rax
+[ 	]*[a-f0-9]+:	66 48 ff d0          	data16 rex.W callq \*%rax
 [ 	]*[a-f0-9]+:	ff 10                	callq  \*\(%rax\)
 [ 	]*[a-f0-9]+:	66 ff 10             	callw  \*\(%rax\)
 [ 	]*[a-f0-9]+:	48 ff 10             	rex.W callq \*\(%rax\)
-[ 	]*[a-f0-9]+:	66 48 ff 10          	data32 rex.W callq \*\(%rax\)
+[ 	]*[a-f0-9]+:	66 48 ff 10          	data16 rex.W callq \*\(%rax\)
 [ 	]*[a-f0-9]+:	ff e0                	jmpq   \*%rax
 [ 	]*[a-f0-9]+:	66 ff e0             	jmpw   \*%ax
 [ 	]*[a-f0-9]+:	48 ff e0             	rex.W jmpq \*%rax
-[ 	]*[a-f0-9]+:	66 48 ff e0          	data32 rex.W jmpq \*%rax
+[ 	]*[a-f0-9]+:	66 48 ff e0          	data16 rex.W jmpq \*%rax
 [ 	]*[a-f0-9]+:	ff 20                	jmpq   \*\(%rax\)
 [ 	]*[a-f0-9]+:	66 ff 20             	jmpw   \*\(%rax\)
 [ 	]*[a-f0-9]+:	48 ff 20             	rex.W jmpq \*\(%rax\)
-[ 	]*[a-f0-9]+:	66 48 ff 20          	data32 rex.W jmpq \*\(%rax\)
+[ 	]*[a-f0-9]+:	66 48 ff 20          	data16 rex.W jmpq \*\(%rax\)
 [ 	]*[a-f0-9]+:	ff f0                	push   %rax
 [ 	]*[a-f0-9]+:	66 ff f0             	push   %ax
 [ 	]*[a-f0-9]+:	48 ff f0             	rex.W push %rax
-[ 	]*[a-f0-9]+:	66 48 ff f0          	data32 rex.W push %rax
+[ 	]*[a-f0-9]+:	66 48 ff f0          	data16 rex.W push %rax
 [ 	]*[a-f0-9]+:	ff 30                	pushq  \(%rax\)
 [ 	]*[a-f0-9]+:	66 ff 30             	pushw  \(%rax\)
 [ 	]*[a-f0-9]+:	48 ff 30             	rex.W pushq \(%rax\)
-[ 	]*[a-f0-9]+:	66 48 ff 30          	data32 rex.W pushq \(%rax\)
+[ 	]*[a-f0-9]+:	66 48 ff 30          	data16 rex.W pushq \(%rax\)
 [ 	]*[a-f0-9]+:	6a ff                	pushq  \$0xffffffffffffffff
 [ 	]*[a-f0-9]+:	66 6a ff             	pushw  \$0xffff
 [ 	]*[a-f0-9]+:	48 6a ff             	rex.W pushq \$0xffffffffffffffff
-[ 	]*[a-f0-9]+:	66 48 6a ff          	data32 rex.W pushq \$0xffffffffffffffff
+[ 	]*[a-f0-9]+:	66 48 6a ff          	data16 rex.W pushq \$0xffffffffffffffff
 [ 	]*[a-f0-9]+:	68 01 02 03 04       	pushq  \$0x4030201
 [ 	]*[a-f0-9]+:	66 68 01 02          	pushw  \$0x201
 [ 	]*[a-f0-9]+:	03 04 48             	add    \(%rax,%rcx,2\),%eax
 [ 	]*[a-f0-9]+:	68 01 02 03 04       	pushq  \$0x4030201
-[ 	]*[a-f0-9]+:	66 48 68 01 02 03 04 	data32 rex.W pushq \$0x4030201
+[ 	]*[a-f0-9]+:	66 48 68 01 02 03 04 	data16 rex.W pushq \$0x4030201
 [ 	]*[a-f0-9]+:	0f a8                	pushq  %gs
 [ 	]*[a-f0-9]+:	66 0f a8             	pushw  %gs
 [ 	]*[a-f0-9]+:	48 0f a8             	rex.W pushq %gs
-[ 	]*[a-f0-9]+:	66 48 0f a8          	data32 rex.W pushq %gs
+[ 	]*[a-f0-9]+:	66 48 0f a8          	data16 rex.W pushq %gs
 [ 	]*[a-f0-9]+:	41 0f a8             	rex.B pushq %gs
 [ 	]*[a-f0-9]+:	66 41 0f a8          	rex.B pushw %gs
 [ 	]*[a-f0-9]+:	48                   	rex.W
diff --git a/gas/testsuite/gas/i386/nops-1-core2.d b/gas/testsuite/gas/i386/nops-1-core2.d
index 4215408..f9e2d43 100644
--- a/gas/testsuite/gas/i386/nops-1-core2.d
+++ b/gas/testsuite/gas/i386/nops-1-core2.d
@@ -10,25 +10,25 @@ Disassembly of section .text:
 
 0+ <nop15>:
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+10 <nop14>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+20 <nop13>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+30 <nop12>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+40 <nop11>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -36,7 +36,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+50 <nop10>:
 [ 	]*[a-f0-9]+:	90                   	nop
diff --git a/gas/testsuite/gas/i386/nops-4a-i686.d b/gas/testsuite/gas/i386/nops-4a-i686.d
index b8ac733..14d88d4 100644
--- a/gas/testsuite/gas/i386/nops-4a-i686.d
+++ b/gas/testsuite/gas/i386/nops-4a-i686.d
@@ -10,29 +10,29 @@ Disassembly of section .text:
 0+ <nop31>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+20 <nop30>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+40 <nop29>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+60 <nop28>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+80 <nop27>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -40,8 +40,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+a0 <nop26>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -50,8 +50,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%eax,%eax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+c0 <nop25>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -62,7 +62,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 2e 0f 1f 84 00 00 00 00 00 	nopw   %cs:0x0\(%eax,%eax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+e0 <nop24>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -74,7 +74,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 0f 1f 84 00 00 00 00 00 	nopw   0x0\(%eax,%eax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+100 <nop23>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -87,7 +87,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 84 00 00 00 00 00 	nopl   0x0\(%eax,%eax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+120 <nop22>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -101,7 +101,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 80 00 00 00 00 	nopl   0x0\(%eax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+140 <nop21>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -116,7 +116,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 0f 1f 44 00 00    	nopw   0x0\(%eax,%eax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+160 <nop20>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -132,7 +132,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 44 00 00       	nopl   0x0\(%eax,%eax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+180 <nop19>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -149,7 +149,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 40 00          	nopl   0x0\(%eax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+1a0 <nop18>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -167,7 +167,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 00             	nopl   \(%eax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+1c0 <nop17>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -186,7 +186,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 90                	xchg   %ax,%ax
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+1e0 <nop16>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -206,5 +206,5 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 #pass
diff --git a/gas/testsuite/gas/i386/nops-5-i686.d b/gas/testsuite/gas/i386/nops-5-i686.d
index 1d42128..b018441 100644
--- a/gas/testsuite/gas/i386/nops-5-i686.d
+++ b/gas/testsuite/gas/i386/nops-5-i686.d
@@ -29,19 +29,19 @@ Disassembly of section .text:
 
 0+40 <pentium4>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+50 <nocona>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+60 <core>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+70 <core2>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+80 <k6>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
@@ -65,7 +65,7 @@ Disassembly of section .text:
 
 0+c0 <generic64>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+d0 <amdfam10>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
diff --git a/gas/testsuite/gas/i386/nops-5.d b/gas/testsuite/gas/i386/nops-5.d
index abff3cc..ff30708 100644
--- a/gas/testsuite/gas/i386/nops-5.d
+++ b/gas/testsuite/gas/i386/nops-5.d
@@ -27,19 +27,19 @@ Disassembly of section .text:
 
 0+40 <pentium4>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+50 <nocona>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+60 <core>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+70 <core2>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+80 <k6>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
@@ -63,7 +63,7 @@ Disassembly of section .text:
 
 0+c0 <generic64>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%eax,%eax,1\)
 
 0+d0 <amdfam10>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
diff --git a/gas/testsuite/gas/i386/x86-64-cbw-intel.d b/gas/testsuite/gas/i386/x86-64-cbw-intel.d
index 42ab039..df4173a 100644
--- a/gas/testsuite/gas/i386/x86-64-cbw-intel.d
+++ b/gas/testsuite/gas/i386/x86-64-cbw-intel.d
@@ -12,7 +12,7 @@ Disassembly of section .text:
    3:	48 98                	cdqe   
    5:	66 40 98             	rex cbw 
    8:	40 98                	rex cwde 
-   a:	66 48 98             	data32 cdqe 
+   a:	66 48 98             	data16 cdqe 
 
 0+00d <_cwd>:
    d:	66 99                	cwd    
@@ -20,5 +20,5 @@ Disassembly of section .text:
   10:	48 99                	cqo    
   12:	66 40 99             	rex cwd 
   15:	40 99                	rex cdq 
-  17:	66 48 99             	data32 cqo 
+  17:	66 48 99             	data16 cqo 
 #pass
diff --git a/gas/testsuite/gas/i386/x86-64-cbw.d b/gas/testsuite/gas/i386/x86-64-cbw.d
index 6b730d0..859ef9b 100644
--- a/gas/testsuite/gas/i386/x86-64-cbw.d
+++ b/gas/testsuite/gas/i386/x86-64-cbw.d
@@ -11,7 +11,7 @@ Disassembly of section .text:
    3:	48 98                	cltq   
    5:	66 40 98             	rex cbtw 
    8:	40 98                	rex cwtl 
-   a:	66 48 98             	data32 cltq 
+   a:	66 48 98             	data16 cltq 
 
 0+00d <_cwd>:
    d:	66 99                	cwtd   
@@ -19,5 +19,5 @@ Disassembly of section .text:
   10:	48 99                	cqto   
   12:	66 40 99             	rex cwtd 
   15:	40 99                	rex cltd 
-  17:	66 48 99             	data32 cqto 
+  17:	66 48 99             	data16 cqto 
 #pass
diff --git a/gas/testsuite/gas/i386/x86-64-io-intel.d b/gas/testsuite/gas/i386/x86-64-io-intel.d
index ad22c46..0555a47 100644
--- a/gas/testsuite/gas/i386/x86-64-io-intel.d
+++ b/gas/testsuite/gas/i386/x86-64-io-intel.d
@@ -8,17 +8,17 @@ Disassembly of section .text:
 
 0+000 <_in>:
    0:	48 ed                	rex.W in eax,dx
-   2:	66 48 ed             	data32 rex.W in eax,dx
+   2:	66 48 ed             	data16 rex.W in eax,dx
 
 0+005 <_out>:
    5:	48 ef                	rex.W out dx,eax
-   7:	66 48 ef             	data32 rex.W out dx,eax
+   7:	66 48 ef             	data16 rex.W out dx,eax
 
 0+00a <_ins>:
    a:	48 6d                	rex.W ins DWORD PTR es:\[rdi\],dx
-   c:	66 48 6d             	data32 rex.W ins DWORD PTR es:\[rdi\],dx
+   c:	66 48 6d             	data16 rex.W ins DWORD PTR es:\[rdi\],dx
 
 0+00f <_outs>:
    f:	48 6f                	rex.W outs dx,DWORD PTR ds:\[rsi\]
-  11:	66 48 6f             	data32 rex.W outs dx,DWORD PTR ds:\[rsi\]
+  11:	66 48 6f             	data16 rex.W outs dx,DWORD PTR ds:\[rsi\]
 #pass
diff --git a/gas/testsuite/gas/i386/x86-64-io-suffix.d b/gas/testsuite/gas/i386/x86-64-io-suffix.d
index 6b460dc..121a9ba 100644
--- a/gas/testsuite/gas/i386/x86-64-io-suffix.d
+++ b/gas/testsuite/gas/i386/x86-64-io-suffix.d
@@ -8,17 +8,17 @@ Disassembly of section .text:
 
 0+000 <_in>:
    0:	48 ed                	rex.W inl \(%dx\),%eax
-   2:	66 48 ed             	data32 rex.W inl \(%dx\),%eax
+   2:	66 48 ed             	data16 rex.W inl \(%dx\),%eax
 
 0+005 <_out>:
    5:	48 ef                	rex.W outl %eax,\(%dx\)
-   7:	66 48 ef             	data32 rex.W outl %eax,\(%dx\)
+   7:	66 48 ef             	data16 rex.W outl %eax,\(%dx\)
 
 0+00a <_ins>:
    a:	48 6d                	rex.W insl \(%dx\),%es:\(%rdi\)
-   c:	66 48 6d             	data32 rex.W insl \(%dx\),%es:\(%rdi\)
+   c:	66 48 6d             	data16 rex.W insl \(%dx\),%es:\(%rdi\)
 
 0+00f <_outs>:
    f:	48 6f                	rex.W outsl %ds:\(%rsi\),\(%dx\)
-  11:	66 48 6f             	data32 rex.W outsl %ds:\(%rsi\),\(%dx\)
+  11:	66 48 6f             	data16 rex.W outsl %ds:\(%rsi\),\(%dx\)
 #pass
diff --git a/gas/testsuite/gas/i386/x86-64-io.d b/gas/testsuite/gas/i386/x86-64-io.d
index 7310f1a..7056ac0 100644
--- a/gas/testsuite/gas/i386/x86-64-io.d
+++ b/gas/testsuite/gas/i386/x86-64-io.d
@@ -7,17 +7,17 @@ Disassembly of section .text:
 
 0+000 <_in>:
    0:	48 ed                	rex.W in \(%dx\),%eax
-   2:	66 48 ed             	data32 rex.W in \(%dx\),%eax
+   2:	66 48 ed             	data16 rex.W in \(%dx\),%eax
 
 0+005 <_out>:
    5:	48 ef                	rex.W out %eax,\(%dx\)
-   7:	66 48 ef             	data32 rex.W out %eax,\(%dx\)
+   7:	66 48 ef             	data16 rex.W out %eax,\(%dx\)
 
 0+00a <_ins>:
    a:	48 6d                	rex.W insl \(%dx\),%es:\(%rdi\)
-   c:	66 48 6d             	data32 rex.W insl \(%dx\),%es:\(%rdi\)
+   c:	66 48 6d             	data16 rex.W insl \(%dx\),%es:\(%rdi\)
 
 0+00f <_outs>:
    f:	48 6f                	rex.W outsl %ds:\(%rsi\),\(%dx\)
-  11:	66 48 6f             	data32 rex.W outsl %ds:\(%rsi\),\(%dx\)
+  11:	66 48 6f             	data16 rex.W outsl %ds:\(%rsi\),\(%dx\)
 #pass
diff --git a/gas/testsuite/gas/i386/x86-64-nops-1-core2.d b/gas/testsuite/gas/i386/x86-64-nops-1-core2.d
index 420230c..9240669 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-1-core2.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-1-core2.d
@@ -10,25 +10,25 @@ Disassembly of section .text:
 
 0+ <nop15>:
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+10 <nop14>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+20 <nop13>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+30 <nop12>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+40 <nop11>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -36,7 +36,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+50 <nop10>:
 [ 	]*[a-f0-9]+:	90                   	nop
diff --git a/gas/testsuite/gas/i386/x86-64-nops-1-g64.d b/gas/testsuite/gas/i386/x86-64-nops-1-g64.d
index 427189d..f197486 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-1-g64.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-1-g64.d
@@ -10,25 +10,25 @@ Disassembly of section .text:
 
 0+ <nop15>:
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+10 <nop14>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+20 <nop13>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+30 <nop12>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+40 <nop11>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -36,7 +36,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+50 <nop10>:
 [ 	]*[a-f0-9]+:	90                   	nop
diff --git a/gas/testsuite/gas/i386/x86-64-nops-1-nocona.d b/gas/testsuite/gas/i386/x86-64-nops-1-nocona.d
index 244d06b..d5cdd4c 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-1-nocona.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-1-nocona.d
@@ -9,25 +9,25 @@ Disassembly of section .text:
 
 0+ <nop15>:
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+10 <nop14>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+20 <nop13>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+30 <nop12>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+40 <nop11>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -35,7 +35,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+50 <nop10>:
 [ 	]*[a-f0-9]+:	90                   	nop
diff --git a/gas/testsuite/gas/i386/x86-64-nops-1.d b/gas/testsuite/gas/i386/x86-64-nops-1.d
index b385ab5..9b53ab2 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-1.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-1.d
@@ -9,25 +9,25 @@ Disassembly of section .text:
 
 0+ <nop15>:
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+10 <nop14>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+20 <nop13>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+30 <nop12>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+40 <nop11>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -35,7 +35,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+50 <nop10>:
 [ 	]*[a-f0-9]+:	90                   	nop
diff --git a/gas/testsuite/gas/i386/x86-64-nops-2.d b/gas/testsuite/gas/i386/x86-64-nops-2.d
index 72616f8..1fdd4f8 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-2.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-2.d
@@ -10,29 +10,29 @@ Disassembly of section .text:
 
 0+ <nop>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+10 <nop15>:
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+20 <nop14>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+30 <nop13>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+40 <nop12>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+50 <nop11>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -40,7 +40,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+60 <nop10>:
 [ 	]*[a-f0-9]+:	90                   	nop
diff --git a/gas/testsuite/gas/i386/x86-64-nops-3.d b/gas/testsuite/gas/i386/x86-64-nops-3.d
index a606f84..08f6d22 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-3.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-3.d
@@ -11,8 +11,8 @@ Disassembly of section .text:
 0+ <nop>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 [ 	]*[a-f0-9]+:	89 c3                	mov    %eax,%ebx
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 #pass
diff --git a/gas/testsuite/gas/i386/x86-64-nops-4-core2.d b/gas/testsuite/gas/i386/x86-64-nops-4-core2.d
index 4f2a3ed..f9143bf 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-4-core2.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-4-core2.d
@@ -11,29 +11,29 @@ Disassembly of section .text:
 0+ <nop31>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+20 <nop30>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+40 <nop29>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+60 <nop28>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+80 <nop27>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -41,8 +41,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+a0 <nop26>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -51,8 +51,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+c0 <nop25>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -63,7 +63,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 2e 0f 1f 84 00 00 00 00 00 	nopw   %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+e0 <nop24>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -75,7 +75,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 0f 1f 84 00 00 00 00 00 	nopw   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+100 <nop23>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -88,7 +88,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 84 00 00 00 00 00 	nopl   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+120 <nop22>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -102,7 +102,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 80 00 00 00 00 	nopl   0x0\(%rax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+140 <nop21>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -117,7 +117,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 0f 1f 44 00 00    	nopw   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+160 <nop20>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -133,7 +133,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 44 00 00       	nopl   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+180 <nop19>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -150,7 +150,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 40 00          	nopl   0x0\(%rax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+1a0 <nop18>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -168,7 +168,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 00             	nopl   \(%rax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+1c0 <nop17>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -187,7 +187,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 90                	xchg   %ax,%ax
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+1e0 <nop16>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -207,5 +207,5 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 #pass
diff --git a/gas/testsuite/gas/i386/x86-64-nops-4.d b/gas/testsuite/gas/i386/x86-64-nops-4.d
index 91afdc2..8c20c7f 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-4.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-4.d
@@ -11,29 +11,29 @@ Disassembly of section .text:
 0+ <nop31>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+20 <nop30>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+40 <nop29>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+60 <nop28>:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+80 <nop27>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -41,8 +41,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+a0 <nop26>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -51,8 +51,8 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data32 nopw %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 2e 0f 1f 84 00 00 00 00 00 	data16 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+c0 <nop25>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -63,7 +63,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 2e 0f 1f 84 00 00 00 00 00 	nopw   %cs:0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+e0 <nop24>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -75,7 +75,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 0f 1f 84 00 00 00 00 00 	nopw   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+100 <nop23>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -88,7 +88,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 84 00 00 00 00 00 	nopl   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+120 <nop22>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -102,7 +102,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 80 00 00 00 00 	nopl   0x0\(%rax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+140 <nop21>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -117,7 +117,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 0f 1f 44 00 00    	nopw   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+160 <nop20>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -133,7 +133,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 44 00 00       	nopl   0x0\(%rax,%rax,1\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+180 <nop19>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -150,7 +150,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 40 00          	nopl   0x0\(%rax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+1a0 <nop18>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -168,7 +168,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	0f 1f 00             	nopl   \(%rax\)
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+1c0 <nop17>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -187,7 +187,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	66 90                	xchg   %ax,%ax
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+1e0 <nop16>:
 [ 	]*[a-f0-9]+:	90                   	nop
@@ -207,5 +207,5 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
 [ 	]*[a-f0-9]+:	90                   	nop
-[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 #pass
diff --git a/gas/testsuite/gas/i386/x86-64-nops-5-k8.d b/gas/testsuite/gas/i386/x86-64-nops-5-k8.d
index ac86b27..add71bf 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-5-k8.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-5-k8.d
@@ -30,19 +30,19 @@ Disassembly of section .text:
 
 0+40 <pentium4>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+50 <nocona>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+60 <core>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+70 <core2>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+80 <k6>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
@@ -66,7 +66,7 @@ Disassembly of section .text:
 
 0+c0 <generic64>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+d0 <amdfam10>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
diff --git a/gas/testsuite/gas/i386/x86-64-nops-5.d b/gas/testsuite/gas/i386/x86-64-nops-5.d
index db65c51..664b010 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-5.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-5.d
@@ -29,19 +29,19 @@ Disassembly of section .text:
 
 0+40 <pentium4>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+50 <nocona>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+60 <core>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+70 <core2>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+80 <k6>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
@@ -65,7 +65,7 @@ Disassembly of section .text:
 
 0+c0 <generic64>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 
 0+d0 <amdfam10>:
 [ 	]*[a-f0-9]+:	0f be f0             	movsbl %al,%esi
diff --git a/gas/testsuite/gas/i386/x86-64-stack-intel.d b/gas/testsuite/gas/i386/x86-64-stack-intel.d
index 1902337..b392579 100644
--- a/gas/testsuite/gas/i386/x86-64-stack-intel.d
+++ b/gas/testsuite/gas/i386/x86-64-stack-intel.d
@@ -10,56 +10,56 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	50                   	push   rax
 [ 	]*[a-f0-9]+:	66 50                	push   ax
 [ 	]*[a-f0-9]+:	48 50                	rex.W push rax
-[ 	]*[a-f0-9]+:	66 48 50             	data32 rex.W push rax
+[ 	]*[a-f0-9]+:	66 48 50             	data16 rex.W push rax
 [ 	]*[a-f0-9]+:	58                   	pop    rax
 [ 	]*[a-f0-9]+:	66 58                	pop    ax
 [ 	]*[a-f0-9]+:	48 58                	rex.W pop rax
-[ 	]*[a-f0-9]+:	66 48 58             	data32 rex.W pop rax
+[ 	]*[a-f0-9]+:	66 48 58             	data16 rex.W pop rax
 [ 	]*[a-f0-9]+:	8f c0                	pop    rax
 [ 	]*[a-f0-9]+:	66 8f c0             	pop    ax
 [ 	]*[a-f0-9]+:	48 8f c0             	rex.W pop rax
-[ 	]*[a-f0-9]+:	66 48 8f c0          	data32 rex.W pop rax
+[ 	]*[a-f0-9]+:	66 48 8f c0          	data16 rex.W pop rax
 [ 	]*[a-f0-9]+:	8f 00                	pop    QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	66 8f 00             	pop    WORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	48 8f 00             	rex.W pop QWORD PTR \[rax\]
-[ 	]*[a-f0-9]+:	66 48 8f 00          	data32 rex.W pop QWORD PTR \[rax\]
+[ 	]*[a-f0-9]+:	66 48 8f 00          	data16 rex.W pop QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	ff d0                	call   rax
 [ 	]*[a-f0-9]+:	66 ff d0             	call   ax
 [ 	]*[a-f0-9]+:	48 ff d0             	rex.W call rax
-[ 	]*[a-f0-9]+:	66 48 ff d0          	data32 rex.W call rax
+[ 	]*[a-f0-9]+:	66 48 ff d0          	data16 rex.W call rax
 [ 	]*[a-f0-9]+:	ff 10                	call   QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	66 ff 10             	call   WORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	48 ff 10             	rex.W call QWORD PTR \[rax\]
-[ 	]*[a-f0-9]+:	66 48 ff 10          	data32 rex.W call QWORD PTR \[rax\]
+[ 	]*[a-f0-9]+:	66 48 ff 10          	data16 rex.W call QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	ff e0                	jmp    rax
 [ 	]*[a-f0-9]+:	66 ff e0             	jmp    ax
 [ 	]*[a-f0-9]+:	48 ff e0             	rex.W jmp rax
-[ 	]*[a-f0-9]+:	66 48 ff e0          	data32 rex.W jmp rax
+[ 	]*[a-f0-9]+:	66 48 ff e0          	data16 rex.W jmp rax
 [ 	]*[a-f0-9]+:	ff 20                	jmp    QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	66 ff 20             	jmp    WORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	48 ff 20             	rex.W jmp QWORD PTR \[rax\]
-[ 	]*[a-f0-9]+:	66 48 ff 20          	data32 rex.W jmp QWORD PTR \[rax\]
+[ 	]*[a-f0-9]+:	66 48 ff 20          	data16 rex.W jmp QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	ff f0                	push   rax
 [ 	]*[a-f0-9]+:	66 ff f0             	push   ax
 [ 	]*[a-f0-9]+:	48 ff f0             	rex.W push rax
-[ 	]*[a-f0-9]+:	66 48 ff f0          	data32 rex.W push rax
+[ 	]*[a-f0-9]+:	66 48 ff f0          	data16 rex.W push rax
 [ 	]*[a-f0-9]+:	ff 30                	push   QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	66 ff 30             	push   WORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	48 ff 30             	rex.W push QWORD PTR \[rax\]
-[ 	]*[a-f0-9]+:	66 48 ff 30          	data32 rex.W push QWORD PTR \[rax\]
+[ 	]*[a-f0-9]+:	66 48 ff 30          	data16 rex.W push QWORD PTR \[rax\]
 [ 	]*[a-f0-9]+:	6a ff                	push   0xffffffffffffffff
 [ 	]*[a-f0-9]+:	66 6a ff             	pushw  0xffff
 [ 	]*[a-f0-9]+:	48 6a ff             	rex.W push 0xffffffffffffffff
-[ 	]*[a-f0-9]+:	66 48 6a ff          	data32 rex.W push 0xffffffffffffffff
+[ 	]*[a-f0-9]+:	66 48 6a ff          	data16 rex.W push 0xffffffffffffffff
 [ 	]*[a-f0-9]+:	68 01 02 03 04       	push   0x4030201
 [ 	]*[a-f0-9]+:	66 68 01 02          	pushw  0x201
 [ 	]*[a-f0-9]+:	03 04 48             	add    eax,DWORD PTR \[rax\+rcx\*2\]
 [ 	]*[a-f0-9]+:	68 01 02 03 04       	push   0x4030201
-[ 	]*[a-f0-9]+:	66 48 68 01 02 03 04 	data32 rex.W push 0x4030201
+[ 	]*[a-f0-9]+:	66 48 68 01 02 03 04 	data16 rex.W push 0x4030201
 [ 	]*[a-f0-9]+:	0f a8                	push   gs
 [ 	]*[a-f0-9]+:	66 0f a8             	pushw  gs
 [ 	]*[a-f0-9]+:	48 0f a8             	rex.W push gs
-[ 	]*[a-f0-9]+:	66 48 0f a8          	data32 rex.W push gs
+[ 	]*[a-f0-9]+:	66 48 0f a8          	data16 rex.W push gs
 [ 	]*[a-f0-9]+:	41 0f a8             	rex.B push gs
 [ 	]*[a-f0-9]+:	66 41 0f a8          	rex.B pushw gs
 [ 	]*[a-f0-9]+:	48                   	rex.W
diff --git a/gas/testsuite/gas/i386/x86-64-stack-suffix.d b/gas/testsuite/gas/i386/x86-64-stack-suffix.d
index 1681d79..7c52e10 100644
--- a/gas/testsuite/gas/i386/x86-64-stack-suffix.d
+++ b/gas/testsuite/gas/i386/x86-64-stack-suffix.d
@@ -10,56 +10,56 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	50                   	pushq  %rax
 [ 	]*[a-f0-9]+:	66 50                	pushw  %ax
 [ 	]*[a-f0-9]+:	48 50                	rex.W pushq %rax
-[ 	]*[a-f0-9]+:	66 48 50             	data32 rex.W pushq %rax
+[ 	]*[a-f0-9]+:	66 48 50             	data16 rex.W pushq %rax
 [ 	]*[a-f0-9]+:	58                   	popq   %rax
 [ 	]*[a-f0-9]+:	66 58                	popw   %ax
 [ 	]*[a-f0-9]+:	48 58                	rex.W popq %rax
-[ 	]*[a-f0-9]+:	66 48 58             	data32 rex.W popq %rax
+[ 	]*[a-f0-9]+:	66 48 58             	data16 rex.W popq %rax
 [ 	]*[a-f0-9]+:	8f c0                	popq   %rax
 [ 	]*[a-f0-9]+:	66 8f c0             	popw   %ax
 [ 	]*[a-f0-9]+:	48 8f c0             	rex.W popq %rax
-[ 	]*[a-f0-9]+:	66 48 8f c0          	data32 rex.W popq %rax
+[ 	]*[a-f0-9]+:	66 48 8f c0          	data16 rex.W popq %rax
 [ 	]*[a-f0-9]+:	8f 00                	popq   \(%rax\)
 [ 	]*[a-f0-9]+:	66 8f 00             	popw   \(%rax\)
 [ 	]*[a-f0-9]+:	48 8f 00             	rex.W popq \(%rax\)
-[ 	]*[a-f0-9]+:	66 48 8f 00          	data32 rex.W popq \(%rax\)
+[ 	]*[a-f0-9]+:	66 48 8f 00          	data16 rex.W popq \(%rax\)
 [ 	]*[a-f0-9]+:	ff d0                	callq  \*%rax
 [ 	]*[a-f0-9]+:	66 ff d0             	callw  \*%ax
 [ 	]*[a-f0-9]+:	48 ff d0             	rex.W callq \*%rax
-[ 	]*[a-f0-9]+:	66 48 ff d0          	data32 rex.W callq \*%rax
+[ 	]*[a-f0-9]+:	66 48 ff d0          	data16 rex.W callq \*%rax
 [ 	]*[a-f0-9]+:	ff 10                	callq  \*\(%rax\)
 [ 	]*[a-f0-9]+:	66 ff 10             	callw  \*\(%rax\)
 [ 	]*[a-f0-9]+:	48 ff 10             	rex.W callq \*\(%rax\)
-[ 	]*[a-f0-9]+:	66 48 ff 10          	data32 rex.W callq \*\(%rax\)
+[ 	]*[a-f0-9]+:	66 48 ff 10          	data16 rex.W callq \*\(%rax\)
 [ 	]*[a-f0-9]+:	ff e0                	jmpq   \*%rax
 [ 	]*[a-f0-9]+:	66 ff e0             	jmpw   \*%ax
 [ 	]*[a-f0-9]+:	48 ff e0             	rex.W jmpq \*%rax
-[ 	]*[a-f0-9]+:	66 48 ff e0          	data32 rex.W jmpq \*%rax
+[ 	]*[a-f0-9]+:	66 48 ff e0          	data16 rex.W jmpq \*%rax
 [ 	]*[a-f0-9]+:	ff 20                	jmpq   \*\(%rax\)
 [ 	]*[a-f0-9]+:	66 ff 20             	jmpw   \*\(%rax\)
 [ 	]*[a-f0-9]+:	48 ff 20             	rex.W jmpq \*\(%rax\)
-[ 	]*[a-f0-9]+:	66 48 ff 20          	data32 rex.W jmpq \*\(%rax\)
+[ 	]*[a-f0-9]+:	66 48 ff 20          	data16 rex.W jmpq \*\(%rax\)
 [ 	]*[a-f0-9]+:	ff f0                	pushq  %rax
 [ 	]*[a-f0-9]+:	66 ff f0             	pushw  %ax
 [ 	]*[a-f0-9]+:	48 ff f0             	rex.W pushq %rax
-[ 	]*[a-f0-9]+:	66 48 ff f0          	data32 rex.W pushq %rax
+[ 	]*[a-f0-9]+:	66 48 ff f0          	data16 rex.W pushq %rax
 [ 	]*[a-f0-9]+:	ff 30                	pushq  \(%rax\)
 [ 	]*[a-f0-9]+:	66 ff 30             	pushw  \(%rax\)
 [ 	]*[a-f0-9]+:	48 ff 30             	rex.W pushq \(%rax\)
-[ 	]*[a-f0-9]+:	66 48 ff 30          	data32 rex.W pushq \(%rax\)
+[ 	]*[a-f0-9]+:	66 48 ff 30          	data16 rex.W pushq \(%rax\)
 [ 	]*[a-f0-9]+:	6a ff                	pushq  \$0xffffffffffffffff
 [ 	]*[a-f0-9]+:	66 6a ff             	pushw  \$0xffff
 [ 	]*[a-f0-9]+:	48 6a ff             	rex.W pushq \$0xffffffffffffffff
-[ 	]*[a-f0-9]+:	66 48 6a ff          	data32 rex.W pushq \$0xffffffffffffffff
+[ 	]*[a-f0-9]+:	66 48 6a ff          	data16 rex.W pushq \$0xffffffffffffffff
 [ 	]*[a-f0-9]+:	68 01 02 03 04       	pushq  \$0x4030201
 [ 	]*[a-f0-9]+:	66 68 01 02          	pushw  \$0x201
 [ 	]*[a-f0-9]+:	03 04 48             	addl   \(%rax,%rcx,2\),%eax
 [ 	]*[a-f0-9]+:	68 01 02 03 04       	pushq  \$0x4030201
-[ 	]*[a-f0-9]+:	66 48 68 01 02 03 04 	data32 rex.W pushq \$0x4030201
+[ 	]*[a-f0-9]+:	66 48 68 01 02 03 04 	data16 rex.W pushq \$0x4030201
 [ 	]*[a-f0-9]+:	0f a8                	pushq  %gs
 [ 	]*[a-f0-9]+:	66 0f a8             	pushw  %gs
 [ 	]*[a-f0-9]+:	48 0f a8             	rex.W pushq %gs
-[ 	]*[a-f0-9]+:	66 48 0f a8          	data32 rex.W pushq %gs
+[ 	]*[a-f0-9]+:	66 48 0f a8          	data16 rex.W pushq %gs
 [ 	]*[a-f0-9]+:	41 0f a8             	rex.B pushq %gs
 [ 	]*[a-f0-9]+:	66 41 0f a8          	rex.B pushw %gs
 [ 	]*[a-f0-9]+:	48                   	rex.W
diff --git a/gas/testsuite/gas/i386/x86-64-stack.d b/gas/testsuite/gas/i386/x86-64-stack.d
index 760d769..1b2458e 100644
--- a/gas/testsuite/gas/i386/x86-64-stack.d
+++ b/gas/testsuite/gas/i386/x86-64-stack.d
@@ -9,56 +9,56 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	50                   	push   %rax
 [ 	]*[a-f0-9]+:	66 50                	push   %ax
 [ 	]*[a-f0-9]+:	48 50                	rex.W push %rax
-[ 	]*[a-f0-9]+:	66 48 50             	data32 rex.W push %rax
+[ 	]*[a-f0-9]+:	66 48 50             	data16 rex.W push %rax
 [ 	]*[a-f0-9]+:	58                   	pop    %rax
 [ 	]*[a-f0-9]+:	66 58                	pop    %ax
 [ 	]*[a-f0-9]+:	48 58                	rex.W pop %rax
-[ 	]*[a-f0-9]+:	66 48 58             	data32 rex.W pop %rax
+[ 	]*[a-f0-9]+:	66 48 58             	data16 rex.W pop %rax
 [ 	]*[a-f0-9]+:	8f c0                	pop    %rax
 [ 	]*[a-f0-9]+:	66 8f c0             	pop    %ax
 [ 	]*[a-f0-9]+:	48 8f c0             	rex.W pop %rax
-[ 	]*[a-f0-9]+:	66 48 8f c0          	data32 rex.W pop %rax
+[ 	]*[a-f0-9]+:	66 48 8f c0          	data16 rex.W pop %rax
 [ 	]*[a-f0-9]+:	8f 00                	popq   \(%rax\)
 [ 	]*[a-f0-9]+:	66 8f 00             	popw   \(%rax\)
 [ 	]*[a-f0-9]+:	48 8f 00             	rex.W popq \(%rax\)
-[ 	]*[a-f0-9]+:	66 48 8f 00          	data32 rex.W popq \(%rax\)
+[ 	]*[a-f0-9]+:	66 48 8f 00          	data16 rex.W popq \(%rax\)
 [ 	]*[a-f0-9]+:	ff d0                	callq  \*%rax
 [ 	]*[a-f0-9]+:	66 ff d0             	callw  \*%ax
 [ 	]*[a-f0-9]+:	48 ff d0             	rex.W callq \*%rax
-[ 	]*[a-f0-9]+:	66 48 ff d0          	data32 rex.W callq \*%rax
+[ 	]*[a-f0-9]+:	66 48 ff d0          	data16 rex.W callq \*%rax
 [ 	]*[a-f0-9]+:	ff 10                	callq  \*\(%rax\)
 [ 	]*[a-f0-9]+:	66 ff 10             	callw  \*\(%rax\)
 [ 	]*[a-f0-9]+:	48 ff 10             	rex.W callq \*\(%rax\)
-[ 	]*[a-f0-9]+:	66 48 ff 10          	data32 rex.W callq \*\(%rax\)
+[ 	]*[a-f0-9]+:	66 48 ff 10          	data16 rex.W callq \*\(%rax\)
 [ 	]*[a-f0-9]+:	ff e0                	jmpq   \*%rax
 [ 	]*[a-f0-9]+:	66 ff e0             	jmpw   \*%ax
 [ 	]*[a-f0-9]+:	48 ff e0             	rex.W jmpq \*%rax
-[ 	]*[a-f0-9]+:	66 48 ff e0          	data32 rex.W jmpq \*%rax
+[ 	]*[a-f0-9]+:	66 48 ff e0          	data16 rex.W jmpq \*%rax
 [ 	]*[a-f0-9]+:	ff 20                	jmpq   \*\(%rax\)
 [ 	]*[a-f0-9]+:	66 ff 20             	jmpw   \*\(%rax\)
 [ 	]*[a-f0-9]+:	48 ff 20             	rex.W jmpq \*\(%rax\)
-[ 	]*[a-f0-9]+:	66 48 ff 20          	data32 rex.W jmpq \*\(%rax\)
+[ 	]*[a-f0-9]+:	66 48 ff 20          	data16 rex.W jmpq \*\(%rax\)
 [ 	]*[a-f0-9]+:	ff f0                	push   %rax
 [ 	]*[a-f0-9]+:	66 ff f0             	push   %ax
 [ 	]*[a-f0-9]+:	48 ff f0             	rex.W push %rax
-[ 	]*[a-f0-9]+:	66 48 ff f0          	data32 rex.W push %rax
+[ 	]*[a-f0-9]+:	66 48 ff f0          	data16 rex.W push %rax
 [ 	]*[a-f0-9]+:	ff 30                	pushq  \(%rax\)
 [ 	]*[a-f0-9]+:	66 ff 30             	pushw  \(%rax\)
 [ 	]*[a-f0-9]+:	48 ff 30             	rex.W pushq \(%rax\)
-[ 	]*[a-f0-9]+:	66 48 ff 30          	data32 rex.W pushq \(%rax\)
+[ 	]*[a-f0-9]+:	66 48 ff 30          	data16 rex.W pushq \(%rax\)
 [ 	]*[a-f0-9]+:	6a ff                	pushq  \$0xffffffffffffffff
 [ 	]*[a-f0-9]+:	66 6a ff             	pushw  \$0xffff
 [ 	]*[a-f0-9]+:	48 6a ff             	rex.W pushq \$0xffffffffffffffff
-[ 	]*[a-f0-9]+:	66 48 6a ff          	data32 rex.W pushq \$0xffffffffffffffff
+[ 	]*[a-f0-9]+:	66 48 6a ff          	data16 rex.W pushq \$0xffffffffffffffff
 [ 	]*[a-f0-9]+:	68 01 02 03 04       	pushq  \$0x4030201
 [ 	]*[a-f0-9]+:	66 68 01 02          	pushw  \$0x201
 [ 	]*[a-f0-9]+:	03 04 48             	add    \(%rax,%rcx,2\),%eax
 [ 	]*[a-f0-9]+:	68 01 02 03 04       	pushq  \$0x4030201
-[ 	]*[a-f0-9]+:	66 48 68 01 02 03 04 	data32 rex.W pushq \$0x4030201
+[ 	]*[a-f0-9]+:	66 48 68 01 02 03 04 	data16 rex.W pushq \$0x4030201
 [ 	]*[a-f0-9]+:	0f a8                	pushq  %gs
 [ 	]*[a-f0-9]+:	66 0f a8             	pushw  %gs
 [ 	]*[a-f0-9]+:	48 0f a8             	rex.W pushq %gs
-[ 	]*[a-f0-9]+:	66 48 0f a8          	data32 rex.W pushq %gs
+[ 	]*[a-f0-9]+:	66 48 0f a8          	data16 rex.W pushq %gs
 [ 	]*[a-f0-9]+:	41 0f a8             	rex.B pushq %gs
 [ 	]*[a-f0-9]+:	66 41 0f a8          	rex.B pushw %gs
 [ 	]*[a-f0-9]+:	48                   	rex.W
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 7564025..ed50efa 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2014-05-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* ld-x86-64/tlsbin.dd: Replace data32 with data16.
+	* ld-x86-64/tlsdesc-nacl.pd: Likewise.
+	* ld-x86-64/tlsgdesc.dd: Likewise.
+	* ld-x86-64/tlsld1.dd: Likewise.
+	* ld-x86-64/tlsld3.dd: Likewise.
+	* ld-x86-64/tlspic.dd: Likewise.
+
 2014-05-02  Max Filippov  <jcmvbkbc@gmail.com>
 
 	* ld-xtensa/diff_overflow.exp, * ld-xtensa/diff_overflow1.s,
diff --git a/ld/testsuite/ld-x86-64/plt-nacl.pd b/ld/testsuite/ld-x86-64/plt-nacl.pd
index 2f5bab5..b17bf71 100644
--- a/ld/testsuite/ld-x86-64/plt-nacl.pd
+++ b/ld/testsuite/ld-x86-64/plt-nacl.pd
@@ -16,10 +16,10 @@ Disassembly of section .plt:
  +[0-9a-f]+:	41 ff e3             	jmpq   \*%r11
  +[0-9a-f]+:	66 0f 1f 84 00 00 00 	nopw   0x0\(%rax,%rax,1\)
  +[0-9a-f]+:	00 00 *
- +[0-9a-f]+:	66 66 66 66 66 66 2e 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+:	66 66 66 66 66 66 2e 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
  +[0-9a-f]+:	0f 1f 84 00 00 00 00 *
  +[0-9a-f]+:	00 *
- +[0-9a-f]+:	66 66 66 66 66 66 2e 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+:	66 66 66 66 66 66 2e 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
  +[0-9a-f]+:	0f 1f 84 00 00 00 00 *
  +[0-9a-f]+:	00 *
  +[0-9a-f]+:	66 90                	xchg   %ax,%ax
@@ -29,12 +29,12 @@ Disassembly of section .plt:
  +[0-9a-f]+:	41 83 e3 e0          	and    \$0xffffffe0,%r11d
  +[0-9a-f]+:	4d 01 fb             	add    %r15,%r11
  +[0-9a-f]+:	41 ff e3             	jmpq   \*%r11
- +[0-9a-f]+:	66 66 66 66 66 66 2e 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+:	66 66 66 66 66 66 2e 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
  +[0-9a-f]+:	0f 1f 84 00 00 00 00 *
  +[0-9a-f]+:	00 *
  +[0-9a-f]+:	68 00 00 00 00       	pushq  \$0x0
  +[0-9a-f]+:	e9 ([0-9a-f]{2} ){4} *	jmpq   [0-9a-f]+ <fn1@plt-0x40>
- +[0-9a-f]+:	66 66 66 66 66 66 2e 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+:	66 66 66 66 66 66 2e 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
  +[0-9a-f]+:	0f 1f 84 00 00 00 00 *
  +[0-9a-f]+:	00 *
  +[0-9a-f]+:	0f 1f 80 00 00 00 00 	nopl   0x0\(%rax\)
@@ -44,12 +44,12 @@ Disassembly of section .plt:
  +[0-9a-f]+:	41 83 e3 e0          	and    \$0xffffffe0,%r11d
  +[0-9a-f]+:	4d 01 fb             	add    %r15,%r11
  +[0-9a-f]+:	41 ff e3             	jmpq   \*%r11
- +[0-9a-f]+:	66 66 66 66 66 66 2e 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+:	66 66 66 66 66 66 2e 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
  +[0-9a-f]+:	0f 1f 84 00 00 00 00 *
  +[0-9a-f]+:	00 *
  +[0-9a-f]+:	68 01 00 00 00       	pushq  \$0x1
  +[0-9a-f]+:	e9 ([0-9a-f]{2} ){4} *	jmpq   [0-9a-f]+ <fn1@plt-0x40>
- +[0-9a-f]+:	66 66 66 66 66 66 2e 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+:	66 66 66 66 66 66 2e 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
  +[0-9a-f]+:	0f 1f 84 00 00 00 00 *
  +[0-9a-f]+:	00 *
  +[0-9a-f]+:	0f 1f 80 00 00 00 00 	nopl   0x0\(%rax\)
diff --git a/ld/testsuite/ld-x86-64/tlsbin.dd b/ld/testsuite/ld-x86-64/tlsbin.dd
index a9b1227..c89e7ee 100644
--- a/ld/testsuite/ld-x86-64/tlsbin.dd
+++ b/ld/testsuite/ld-x86-64/tlsbin.dd
@@ -68,7 +68,7 @@ Disassembly of section .text:
  +[0-9a-f]+:	90[ 	]+nop *
  +[0-9a-f]+:	90[ 	]+nop *
 #  LD -> LE
- +[0-9a-f]+:	66 66 66 64 48 8b 04[ 	]+data32 data32 data32 mov %fs:0x0,%rax
+ +[0-9a-f]+:	66 66 66 64 48 8b 04[ 	]+data16 data16 data16 mov %fs:0x0,%rax
  +[0-9a-f]+:	25 00 00 00 00 *
  +[0-9a-f]+:	90[ 	]+nop *
  +[0-9a-f]+:	90[ 	]+nop *
@@ -83,7 +83,7 @@ Disassembly of section .text:
  +[0-9a-f]+:	90[ 	]+nop *
  +[0-9a-f]+:	90[ 	]+nop *
 #  LD -> LE against hidden variables
- +[0-9a-f]+:	66 66 66 64 48 8b 04[ 	]+data32 data32 data32 mov %fs:0x0,%rax
+ +[0-9a-f]+:	66 66 66 64 48 8b 04[ 	]+data16 data16 data16 mov %fs:0x0,%rax
  +[0-9a-f]+:	25 00 00 00 00 *
  +[0-9a-f]+:	90[ 	]+nop *
  +[0-9a-f]+:	90[ 	]+nop *
diff --git a/ld/testsuite/ld-x86-64/tlsdesc-nacl.pd b/ld/testsuite/ld-x86-64/tlsdesc-nacl.pd
index 61e6049..e2ba398 100644
--- a/ld/testsuite/ld-x86-64/tlsdesc-nacl.pd
+++ b/ld/testsuite/ld-x86-64/tlsdesc-nacl.pd
@@ -17,10 +17,10 @@ Disassembly of section .plt:
  +[0-9a-f]+:	41 ff e3             	jmpq   \*%r11
  +[0-9a-f]+:	66 0f 1f 84 00 00 00 	nopw   0x0\(%rax,%rax,1\)
  +[0-9a-f]+:	00 00 *
- +[0-9a-f]+:	66 66 66 66 66 66 2e 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+:	66 66 66 66 66 66 2e 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
  +[0-9a-f]+:	0f 1f 84 00 00 00 00 *
  +[0-9a-f]+:	00 *
- +[0-9a-f]+:	66 66 66 66 66 66 2e 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+:	66 66 66 66 66 66 2e 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
  +[0-9a-f]+:	0f 1f 84 00 00 00 00 *
  +[0-9a-f]+:	00 *
  +[0-9a-f]+:	66 90                	xchg   %ax,%ax
@@ -33,10 +33,10 @@ Disassembly of section .plt:
  +[0-9a-f]+:	41 ff e3             	jmpq   \*%r11
  +[0-9a-f]+:	66 0f 1f 84 00 00 00 	nopw   0x0\(%rax,%rax,1\)
  +[0-9a-f]+:	00 00 *
- +[0-9a-f]+:	66 66 66 66 66 66 2e 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+:	66 66 66 66 66 66 2e 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
  +[0-9a-f]+:	0f 1f 84 00 00 00 00 *
  +[0-9a-f]+:	00 *
- +[0-9a-f]+:	66 66 66 66 66 66 2e 	data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+:	66 66 66 66 66 66 2e 	data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
  +[0-9a-f]+:	0f 1f 84 00 00 00 00 *
  +[0-9a-f]+:	00 *
  +[0-9a-f]+:	66 90                	xchg   %ax,%ax
diff --git a/ld/testsuite/ld-x86-64/tlsgdesc.dd b/ld/testsuite/ld-x86-64/tlsgdesc.dd
index 635974c..85b219f 100644
--- a/ld/testsuite/ld-x86-64/tlsgdesc.dd
+++ b/ld/testsuite/ld-x86-64/tlsgdesc.dd
@@ -38,10 +38,10 @@ Disassembly of section .text:
  +[0-9a-f]+:	90[ 	]+nop *
  +[0-9a-f]+:	90[ 	]+nop *
 # GD, gd first
- +[0-9a-f]+:	66 48 8d 3d ([0-9a-f]{2} ){3}[ 	]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x180>
+ +[0-9a-f]+:	66 48 8d 3d ([0-9a-f]{2} ){3}[ 	]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x180>
  +[0-9a-f]+:	[0-9a-f]{2} *
 #				-> R_X86_64_DTPMOD64	sG1
- +[0-9a-f]+:	66 66 48 e8 ([0-9a-f]{2} ){3}[ 	]+data32 data32 callq [0-9a-f]+ <__tls_get_addr@plt>
+ +[0-9a-f]+:	66 66 48 e8 ([0-9a-f]{2} ){3}[ 	]+data16 data16 callq [0-9a-f]+ <__tls_get_addr@plt>
  +[0-9a-f]+:	[0-9a-f]{2} *
 #				-> R_X86_64_JUMP_SLOT	__tls_get_addr
  +[0-9a-f]+:	90[ 	]+nop *
@@ -63,10 +63,10 @@ Disassembly of section .text:
  +[0-9a-f]+:	90[ 	]+nop *
  +[0-9a-f]+:	90[ 	]+nop *
  +[0-9a-f]+:	90[ 	]+nop *
- +[0-9a-f]+:	66 48 8d 3d ([0-9a-f]{2} ){3}[ 	]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x160>
+ +[0-9a-f]+:	66 48 8d 3d ([0-9a-f]{2} ){3}[ 	]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x160>
  +[0-9a-f]+:	[0-9a-f]{2} *
 #				-> R_X86_64_DTPMOD64	sG2
- +[0-9a-f]+:	66 66 48 e8 ([0-9a-f]{2} ){3}[ 	]+data32 data32 callq [0-9a-f]+ <__tls_get_addr@plt>
+ +[0-9a-f]+:	66 66 48 e8 ([0-9a-f]{2} ){3}[ 	]+data16 data16 callq [0-9a-f]+ <__tls_get_addr@plt>
  +[0-9a-f]+:	[0-9a-f]{2} *
 #				-> R_X86_64_JUMP_SLOT	__tls_get_addr
  +[0-9a-f]+:	90[ 	]+nop *
diff --git a/ld/testsuite/ld-x86-64/tlsld1.dd b/ld/testsuite/ld-x86-64/tlsld1.dd
index e91ce08..ec7467a 100644
--- a/ld/testsuite/ld-x86-64/tlsld1.dd
+++ b/ld/testsuite/ld-x86-64/tlsld1.dd
@@ -9,5 +9,5 @@
 Disassembly of section .text:
 
 [a-f0-9]+ <_start>:
-[ 	]*[a-f0-9]+:	66 66 66 64 48 8b 04 25 00 00 00 00 	data32 data32 data32 mov %fs:0x0,%rax
+[ 	]*[a-f0-9]+:	66 66 66 64 48 8b 04 25 00 00 00 00 	data16 data16 data16 mov %fs:0x0,%rax
 #pass
diff --git a/ld/testsuite/ld-x86-64/tlsld3.dd b/ld/testsuite/ld-x86-64/tlsld3.dd
index 0b639c6..f9c8de2 100644
--- a/ld/testsuite/ld-x86-64/tlsld3.dd
+++ b/ld/testsuite/ld-x86-64/tlsld3.dd
@@ -14,7 +14,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	53                   	push   %rbx
 [ 	]*[a-f0-9]+:	48 8d 1d ed ff ff ff 	lea    -0x13\(%rip\),%rbx        # [0-9a-f]+ <_start>
 [ 	]*[a-f0-9]+:	4c 01 db             	add    %r11,%rbx
-[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ 	]*[a-f0-9]+:	66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
 [ 	]*[a-f0-9]+:	64 48 8b 04 25 00 00 00 00 	mov    %fs:0x0,%rax
 [ 	]*[a-f0-9]+:	8b 80 fc ff ff ff    	mov    -0x4\(%rax\),%eax
 [ 	]*[a-f0-9]+:	5b                   	pop    %rbx
diff --git a/ld/testsuite/ld-x86-64/tlspic.dd b/ld/testsuite/ld-x86-64/tlspic.dd
index 2f85586..26d83e9 100644
--- a/ld/testsuite/ld-x86-64/tlspic.dd
+++ b/ld/testsuite/ld-x86-64/tlspic.dd
@@ -17,10 +17,10 @@ Disassembly of section .text:
  +1006:	90[ 	]+nop *
  +1007:	90[ 	]+nop *
 #  GD
- +1008:	66 48 8d 3d ([0-9a-f]{2} ){3}[ 	]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x180>
+ +1008:	66 48 8d 3d ([0-9a-f]{2} ){3}[ 	]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x180>
  +100f:	[0-9a-f 	]+
 #				-> R_X86_64_DTPMOD64	sg1
- +1010:	66 66 48 e8 [0-9a-f 	]+data32 data32 callq [0-9a-f]+ <.*>
+ +1010:	66 66 48 e8 [0-9a-f 	]+data16 data16 callq [0-9a-f]+ <.*>
 #				-> R_X86_64_JUMP_SLOT	__tls_get_addr
  +1017:	[0-9a-f 	]+
  +1018:	90[ 	]+nop *
@@ -37,10 +37,10 @@ Disassembly of section .text:
  +102e:	90[ 	]+nop *
  +102f:	90[ 	]+nop *
 #  GD against local variable
- +1030:	66 48 8d 3d ([0-9a-f]{2} ){3}[ 	]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x130>
+ +1030:	66 48 8d 3d ([0-9a-f]{2} ){3}[ 	]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x130>
  +1037:	[0-9a-f 	]+
 #				-> R_X86_64_DTPMOD64	[0 0x2000000000000000]
- +1038:	66 66 48 e8 [0-9a-f 	]+data32 data32 callq [0-9a-f]+ <.*>
+ +1038:	66 66 48 e8 [0-9a-f 	]+data16 data16 callq [0-9a-f]+ <.*>
 #				-> R_X86_64_JUMP_SLOT	__tls_get_addr
  +103f:	[0-9a-f 	]+
  +1040:	90[ 	]+nop *
@@ -57,10 +57,10 @@ Disassembly of section .text:
  +1056:	90[ 	]+nop *
  +1057:	90[ 	]+nop *
 #  GD against hidden and local variable
- +1058:	66 48 8d 3d ([0-9a-f]{2} ){3}[ 	]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x1a8>
+ +1058:	66 48 8d 3d ([0-9a-f]{2} ){3}[ 	]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x1a8>
  +105f:	[0-9a-f 	]+
 #				-> R_X86_64_DTPMOD64	[0 0x4000000000000000]
- +1060:	66 66 48 e8 [0-9a-f 	]+data32 data32 callq [0-9a-f]+ <.*>
+ +1060:	66 66 48 e8 [0-9a-f 	]+data16 data16 callq [0-9a-f]+ <.*>
 #				-> R_X86_64_JUMP_SLOT	__tls_get_addr
  +1067:	[0-9a-f 	]+
  +1068:	90[ 	]+nop *
@@ -77,10 +77,10 @@ Disassembly of section .text:
  +107e:	90[ 	]+nop *
  +107f:	90[ 	]+nop *
 #  GD against hidden but not local variable
- +1080:	66 48 8d 3d ([0-9a-f]{2} ){3}[ 	]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x160>
+ +1080:	66 48 8d 3d ([0-9a-f]{2} ){3}[ 	]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x160>
  +1087:	[0-9a-f 	]+
 #				-> R_X86_64_DTPMOD64	[0 0x6000000000000000]
- +1088:	66 66 48 e8 [0-9a-f 	]+data32 data32 callq [0-9a-f]+ <.*>
+ +1088:	66 66 48 e8 [0-9a-f 	]+data16 data16 callq [0-9a-f]+ <.*>
 #				-> R_X86_64_JUMP_SLOT	__tls_get_addr
  +108f:	[0-9a-f 	]+
  +1090:	90[ 	]+nop *
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index d335baa..939f4f6 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,12 @@
+2014-05-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-dis.c (ADDR16_PREFIX): Removed.
+	(ADDR32_PREFIX): Likewise.
+	(DATA16_PREFIX): Likewise.
+	(DATA32_PREFIX): Likewise.
+	(prefix_name): Updated.
+	(print_insn): Simplify data and address size prefixes processing.
+
 2014-05-08  Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
 
 	* or1k-desc.c: Regenerated.
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 0ec27ca..3c48428 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -11610,10 +11610,6 @@ static const struct dis386 rm_table[][8] = {
 
 /* We use the high bit to indicate different name for the same
    prefix.  */
-#define ADDR16_PREFIX	(0x67 | 0x100)
-#define ADDR32_PREFIX	(0x67 | 0x200)
-#define DATA16_PREFIX	(0x66 | 0x100)
-#define DATA32_PREFIX	(0x66 | 0x200)
 #define REP_PREFIX	(0xf3 | 0x100)
 #define XACQUIRE_PREFIX	(0xf2 | 0x200)
 #define XRELEASE_PREFIX	(0xf3 | 0x400)
@@ -11826,14 +11822,6 @@ prefix_name (int pref, int sizeflag)
 	return (sizeflag & AFLAG) ? "addr16" : "addr32";
     case FWAIT_OPCODE:
       return "fwait";
-    case ADDR16_PREFIX:
-      return "addr16";
-    case ADDR32_PREFIX:
-      return "addr32";
-    case DATA16_PREFIX:
-      return "data16";
-    case DATA32_PREFIX:
-      return "data32";
     case REP_PREFIX:
       return "rep";
     case XACQUIRE_PREFIX:
@@ -12383,11 +12371,10 @@ print_insn (bfd_vma pc, disassemble_info *info)
   int i;
   char *op_txt[MAX_OPERANDS];
   int needcomma;
-  int sizeflag;
+  int sizeflag, orig_sizeflag;
   const char *p;
   struct dis_private priv;
   int prefix_length;
-  int default_prefixes;
 
   priv.orig_sizeflag = AFLAG | DFLAG;
   if ((info->mach & bfd_mach_i386_i386) != 0)
@@ -12609,39 +12596,14 @@ print_insn (bfd_vma pc, disassemble_info *info)
       codep++;
     }
 
-  default_prefixes = 0;
+  /* Save sizeflag for printing the extra prefixes later before updating
+     it for mnemonic and operand processing.  The prefix names depend
+     only on the address mode.  */
+  orig_sizeflag = sizeflag;
   if (prefixes & PREFIX_ADDR)
-    {
-      sizeflag ^= AFLAG;
-      if (dp->op[2].bytemode != loop_jcxz_mode || intel_syntax)
-	{
-	  if ((sizeflag & AFLAG) || address_mode == mode_64bit)
-	    all_prefixes[last_addr_prefix] = ADDR32_PREFIX;
-	  else
-	    all_prefixes[last_addr_prefix] = ADDR16_PREFIX;
-	  default_prefixes |= PREFIX_ADDR;
-	}
-    }
-
+    sizeflag ^= AFLAG;
   if ((prefixes & PREFIX_DATA))
-    {
-      sizeflag ^= DFLAG;
-      if (dp->op[2].bytemode == cond_jump_mode
-	  && dp->op[0].bytemode == v_mode
-	  && !intel_syntax)
-	{
-	  if (sizeflag & DFLAG)
-	    all_prefixes[last_data_prefix] = DATA32_PREFIX;
-	  else
-	    all_prefixes[last_data_prefix] = DATA16_PREFIX;
-	  default_prefixes |= PREFIX_DATA;
-	}
-      else if (rex & REX_W)
-	{
-	  /* REX_W will override PREFIX_DATA.  */
-	  default_prefixes |= PREFIX_DATA;
-	}
-    }
+    sizeflag ^= DFLAG;
 
   end_codep = codep;
   if (need_modrm)
@@ -12707,22 +12669,18 @@ print_insn (bfd_vma pc, disassemble_info *info)
       && (used_prefixes & PREFIX_ADDR) != 0)
     all_prefixes[last_addr_prefix] = 0;
 
-  /* Check if the DATA prefix is used.  Restore the DFLAG bit in
-     sizeflag if the DATA prefix is unused.  */
-  if ((prefixes & PREFIX_DATA) != 0)
-    {
-      if ((used_prefixes & PREFIX_DATA) != 0)
-	all_prefixes[last_data_prefix] = 0;
-      else if ((default_prefixes & PREFIX_DATA) == 0)
-	sizeflag ^= DFLAG;
-    }
+  /* Check if the DATA prefix is used.  */
+  if ((prefixes & PREFIX_DATA) != 0
+      && (used_prefixes & PREFIX_DATA) != 0)
+    all_prefixes[last_data_prefix] = 0;
 
+  /* Print the extra prefixes.  */
   prefix_length = 0;
   for (i = 0; i < (int) ARRAY_SIZE (all_prefixes); i++)
     if (all_prefixes[i])
       {
 	const char *name;
-	name = prefix_name (all_prefixes[i], sizeflag);
+	name = prefix_name (all_prefixes[i], orig_sizeflag);
 	if (name == NULL)
 	  abort ();
 	prefix_length += strlen (name) + 1;
-- 
1.9.0



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