This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[rfc] nopl should not be output on -mtune=i686
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: binutils at sourceware dot org
- Cc: Quentin Neill <quentin dot neill dot gnu at gmail dot com>
- Date: Tue, 8 Feb 2011 18:10:44 +0100
- Subject: [rfc] nopl should not be output on -mtune=i686
Hi,
I do not fully understand the intention when to use / not use nopl.
https://bugzilla.redhat.com/show_bug.cgi?id=579838#c32
Nick Lowe wrote:
# The NOPL instruction is not supported by all i686 processors, the coded
# assumption was that they all did. This has been changed by the recent AMD
# patches linked to by Quentin Neill so that it is not assumed and it's
# specified as an extension where it is supported.
Current binutils HEAD:
-march | -mtune | nopl used? | after the attached patch: nopl used?
- | - | no | no
i686 | -/i686 | no | no
- | i686 | yes = BUG | no
core2 | -/core2 | yes | yes
- | core2 | yes = BUG | no
=> Currently suppressing -march now produces more advanced code output, this
does not seem correct to me.
After the patch code built with only `-mtune=i686' then remains compatible
with AMD Geode LX.
The flag `+nop' (such as `-march=i686+nop') does not work for me as expected
with HEAD and neither works with the patched code.
Thanks,
Jan
gas/
2011-02-08 Jan Kratochvil <jan.kratochvil@redhat.com>
* config/tc-i386.c
(i386_align_code) <fragP->tc_frag_data.isa == PROCESSOR_UNKNOWN>:
For PROCESSOR_PENTIUMPRO, PROCESSOR_PENTIUM4, PROCESSOR_NOCONA,
PROCESSOR_CORE, PROCESSOR_CORE2, PROCESSOR_COREI7, PROCESSOR_L1OM,
PROCESSOR_GENERIC64, PROCESSOR_K6, PROCESSOR_ATHLON, PROCESSOR_K8,
PROCESSOR_AMDFAM10 and PROCESSOR_BDVER1 use f32_patt if
tc_frag_data.isa_flags.bitfield.cpunop is not set.
gas/testsuite/
2011-02-08 Jan Kratochvil <jan.kratochvil@redhat.com>
* gas/i386/i386.exp: Add nops-1-i686-i686. Rename nops-3-i686 to
nops-3-core2. Rename nops-4-i686 to nops-4-core2.
* gas/i386/nops-1-bdver1.d: Use also -march=bdver1.
* gas/i386/nops-1-core2.d: Use also -march=core2.
* gas/i386/nops-1-i686-i686.d: New file.
* gas/i386/nops-1-i686.d: Replace nopl content with non-nopl content.
* gas/i386/nops-1-k8.d: Use also -march=k8.
* gas/i386/nops-3-i686.d: Rename to ...
* gas/i386/nops-3-core2.d: ... here, use -mcore2, drop mtune=i686.
* gas/i386/nops-4-i686.d: Rename to ...
* gas/i386/nops-4-core2.d: ... here, use -mcore2, drop mtune=i686.
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -78,6 +78,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
run_dump_test "nops-1"
run_dump_test "nops-1-i386"
run_dump_test "nops-1-i386-i686"
+ run_dump_test "nops-1-i686-i686"
run_dump_test "nops-1-i686"
run_dump_test "nops-1-k8"
run_dump_test "nops-1-core2"
@@ -87,10 +88,10 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
run_dump_test "nops-2-core2"
run_dump_test "nops-3"
run_dump_test "nops-3-i386"
- run_dump_test "nops-3-i686"
+ run_dump_test "nops-3-core2"
run_dump_test "nops-4"
run_dump_test "nops-4-i386"
- run_dump_test "nops-4-i686"
+ run_dump_test "nops-4-core2"
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -1053,13 +1053,6 @@ i386_align_code (fragS *fragP, int count)
switch (cpu_arch_tune)
{
case PROCESSOR_UNKNOWN:
- /* We use cpu_arch_isa_flags to check if we SHOULD
- optimize with nops. */
- if (fragP->tc_frag_data.isa_flags.bitfield.cpunop)
- patt = alt_long_patt;
- else
- patt = f32_patt;
- break;
case PROCESSOR_PENTIUMPRO:
case PROCESSOR_PENTIUM4:
case PROCESSOR_NOCONA:
@@ -1068,14 +1061,24 @@ i386_align_code (fragS *fragP, int count)
case PROCESSOR_COREI7:
case PROCESSOR_L1OM:
case PROCESSOR_GENERIC64:
- patt = alt_long_patt;
+ /* We use cpu_arch_isa_flags to check if we SHOULD
+ optimize with nops. */
+ if (fragP->tc_frag_data.isa_flags.bitfield.cpunop)
+ patt = alt_long_patt;
+ else
+ patt = f32_patt;
break;
case PROCESSOR_K6:
case PROCESSOR_ATHLON:
case PROCESSOR_K8:
case PROCESSOR_AMDFAM10:
case PROCESSOR_BDVER1:
- patt = alt_short_patt;
+ /* We use cpu_arch_isa_flags to check if we SHOULD
+ optimize with nops. */
+ if (fragP->tc_frag_data.isa_flags.bitfield.cpunop)
+ patt = alt_short_patt;
+ else
+ patt = f32_patt;
break;
case PROCESSOR_I386:
case PROCESSOR_I486:
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -78,6 +78,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
run_dump_test "nops-1"
run_dump_test "nops-1-i386"
run_dump_test "nops-1-i386-i686"
+ run_dump_test "nops-1-i686-i686"
run_dump_test "nops-1-i686"
run_dump_test "nops-1-k8"
run_dump_test "nops-1-core2"
@@ -87,10 +88,10 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
run_dump_test "nops-2-core2"
run_dump_test "nops-3"
run_dump_test "nops-3-i386"
- run_dump_test "nops-3-i686"
+ run_dump_test "nops-3-core2"
run_dump_test "nops-4"
run_dump_test "nops-4-i386"
- run_dump_test "nops-4-i686"
+ run_dump_test "nops-4-core2"
run_dump_test "nops-5"
run_dump_test "nops-5-i686"
run_dump_test "addr16"
--- a/gas/testsuite/gas/i386/nops-1-bdver1.d
+++ b/gas/testsuite/gas/i386/nops-1-bdver1.d
@@ -1,7 +1,7 @@
-#as: -mtune=bdver1
+#as: -march=bdver1 -mtune=bdver1
#source: nops-1.s
#objdump: -drw
-#name: i386 -mtune=bdver1 nops 1
+#name: i386 -march=bdver1 -mtune=bdver1 nops 1
.*: +file format .*
--- a/gas/testsuite/gas/i386/nops-1-core2.d
+++ b/gas/testsuite/gas/i386/nops-1-core2.d
@@ -1,7 +1,7 @@
-#as: -mtune=core2
+#as: -march=core2 -mtune=core2
#source: nops-1.s
#objdump: -drw
-#name: i386 -mtune=core2 nops 1
+#name: i386 -march=core2 -mtune=core2 nops 1
.*: +file format .*
--- /dev/null
+++ b/gas/testsuite/gas/i386/nops-1-i686-i686.d
@@ -0,0 +1,177 @@
+#as: -march=i686
+#source: nops-1.s
+#objdump: -drw
+#name: i386 nops -march=i686 nops 1
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+ <nop15>:
+[ ]*0:[ ]+90[ ]+nop[ ]*
+[ ]*1:[ ]+eb 0d[ ]+jmp[ ]+10[ ]+<nop14>
+[ ]*3:[ ]+90[ ]+nop[ ]*
+[ ]*4:[ ]+90[ ]+nop[ ]*
+[ ]*5:[ ]+90[ ]+nop[ ]*
+[ ]*6:[ ]+90[ ]+nop[ ]*
+[ ]*7:[ ]+90[ ]+nop[ ]*
+[ ]*8:[ ]+90[ ]+nop[ ]*
+[ ]*9:[ ]+90[ ]+nop[ ]*
+[ ]*a:[ ]+90[ ]+nop[ ]*
+[ ]*b:[ ]+90[ ]+nop[ ]*
+[ ]*c:[ ]+90[ ]+nop[ ]*
+[ ]*d:[ ]+90[ ]+nop[ ]*
+[ ]*e:[ ]+90[ ]+nop[ ]*
+[ ]*f:[ ]+90[ ]+nop[ ]*
+
+0+10 <nop14>:
+[ ]*10:[ ]+90[ ]+nop[ ]*
+[ ]*11:[ ]+90[ ]+nop[ ]*
+[ ]*12:[ ]+8d b4 26 00 00 00 00[ ]+lea[ ]+0x0\(%esi,%eiz,1\),%esi
+[ ]*19:[ ]+8d bc 27 00 00 00 00[ ]+lea[ ]+0x0\(%edi,%eiz,1\),%edi
+
+0+20 <nop13>:
+[ ]*20:[ ]+90[ ]+nop[ ]*
+[ ]*21:[ ]+90[ ]+nop[ ]*
+[ ]*22:[ ]+90[ ]+nop[ ]*
+[ ]*23:[ ]+8d b6 00 00 00 00[ ]+lea[ ]+0x0\(%esi\),%esi
+[ ]*29:[ ]+8d bc 27 00 00 00 00[ ]+lea[ ]+0x0\(%edi,%eiz,1\),%edi
+
+0+30 <nop12>:
+[ ]*30:[ ]+90[ ]+nop[ ]*
+[ ]*31:[ ]+90[ ]+nop[ ]*
+[ ]*32:[ ]+90[ ]+nop[ ]*
+[ ]*33:[ ]+90[ ]+nop[ ]*
+[ ]*34:[ ]+8d b6 00 00 00 00[ ]+lea[ ]+0x0\(%esi\),%esi
+[ ]*3a:[ ]+8d bf 00 00 00 00[ ]+lea[ ]+0x0\(%edi\),%edi
+
+0+40 <nop11>:
+[ ]*40:[ ]+90[ ]+nop[ ]*
+[ ]*41:[ ]+90[ ]+nop[ ]*
+[ ]*42:[ ]+90[ ]+nop[ ]*
+[ ]*43:[ ]+90[ ]+nop[ ]*
+[ ]*44:[ ]+90[ ]+nop[ ]*
+[ ]*45:[ ]+8d 74 26 00[ ]+lea[ ]+0x0\(%esi,%eiz,1\),%esi
+[ ]*49:[ ]+8d bc 27 00 00 00 00[ ]+lea[ ]+0x0\(%edi,%eiz,1\),%edi
+
+0+50 <nop10>:
+[ ]*50:[ ]+90[ ]+nop[ ]*
+[ ]*51:[ ]+90[ ]+nop[ ]*
+[ ]*52:[ ]+90[ ]+nop[ ]*
+[ ]*53:[ ]+90[ ]+nop[ ]*
+[ ]*54:[ ]+90[ ]+nop[ ]*
+[ ]*55:[ ]+90[ ]+nop[ ]*
+[ ]*56:[ ]+8d 76 00[ ]+lea[ ]+0x0\(%esi\),%esi
+[ ]*59:[ ]+8d bc 27 00 00 00 00[ ]+lea[ ]+0x0\(%edi,%eiz,1\),%edi
+
+0+60 <nop9>:
+[ ]*60:[ ]+90[ ]+nop[ ]*
+[ ]*61:[ ]+90[ ]+nop[ ]*
+[ ]*62:[ ]+90[ ]+nop[ ]*
+[ ]*63:[ ]+90[ ]+nop[ ]*
+[ ]*64:[ ]+90[ ]+nop[ ]*
+[ ]*65:[ ]+90[ ]+nop[ ]*
+[ ]*66:[ ]+90[ ]+nop[ ]*
+[ ]*67:[ ]+89 f6[ ]+mov[ ]+%esi,%esi
+[ ]*69:[ ]+8d bc 27 00 00 00 00[ ]+lea[ ]+0x0\(%edi,%eiz,1\),%edi
+
+0+70 <nop8>:
+[ ]*70:[ ]+90[ ]+nop[ ]*
+[ ]*71:[ ]+90[ ]+nop[ ]*
+[ ]*72:[ ]+90[ ]+nop[ ]*
+[ ]*73:[ ]+90[ ]+nop[ ]*
+[ ]*74:[ ]+90[ ]+nop[ ]*
+[ ]*75:[ ]+90[ ]+nop[ ]*
+[ ]*76:[ ]+90[ ]+nop[ ]*
+[ ]*77:[ ]+90[ ]+nop[ ]*
+[ ]*78:[ ]+90[ ]+nop[ ]*
+[ ]*79:[ ]+8d b4 26 00 00 00 00[ ]+lea[ ]+0x0\(%esi,%eiz,1\),%esi
+
+0+80 <nop7>:
+[ ]*80:[ ]+90[ ]+nop[ ]*
+[ ]*81:[ ]+90[ ]+nop[ ]*
+[ ]*82:[ ]+90[ ]+nop[ ]*
+[ ]*83:[ ]+90[ ]+nop[ ]*
+[ ]*84:[ ]+90[ ]+nop[ ]*
+[ ]*85:[ ]+90[ ]+nop[ ]*
+[ ]*86:[ ]+90[ ]+nop[ ]*
+[ ]*87:[ ]+90[ ]+nop[ ]*
+[ ]*88:[ ]+90[ ]+nop[ ]*
+[ ]*89:[ ]+8d b4 26 00 00 00 00[ ]+lea[ ]+0x0\(%esi,%eiz,1\),%esi
+
+0+90 <nop6>:
+[ ]*90:[ ]+90[ ]+nop[ ]*
+[ ]*91:[ ]+90[ ]+nop[ ]*
+[ ]*92:[ ]+90[ ]+nop[ ]*
+[ ]*93:[ ]+90[ ]+nop[ ]*
+[ ]*94:[ ]+90[ ]+nop[ ]*
+[ ]*95:[ ]+90[ ]+nop[ ]*
+[ ]*96:[ ]+90[ ]+nop[ ]*
+[ ]*97:[ ]+90[ ]+nop[ ]*
+[ ]*98:[ ]+90[ ]+nop[ ]*
+[ ]*99:[ ]+90[ ]+nop[ ]*
+[ ]*9a:[ ]+8d b6 00 00 00 00[ ]+lea[ ]+0x0\(%esi\),%esi
+
+0+a0 <nop5>:
+[ ]*a0:[ ]+90[ ]+nop[ ]*
+[ ]*a1:[ ]+90[ ]+nop[ ]*
+[ ]*a2:[ ]+90[ ]+nop[ ]*
+[ ]*a3:[ ]+90[ ]+nop[ ]*
+[ ]*a4:[ ]+90[ ]+nop[ ]*
+[ ]*a5:[ ]+90[ ]+nop[ ]*
+[ ]*a6:[ ]+90[ ]+nop[ ]*
+[ ]*a7:[ ]+90[ ]+nop[ ]*
+[ ]*a8:[ ]+90[ ]+nop[ ]*
+[ ]*a9:[ ]+90[ ]+nop[ ]*
+[ ]*aa:[ ]+90[ ]+nop[ ]*
+[ ]*ab:[ ]+90[ ]+nop[ ]*
+[ ]*ac:[ ]+8d 74 26 00[ ]+lea[ ]+0x0\(%esi,%eiz,1\),%esi
+
+0+b0 <nop4>:
+[ ]*b0:[ ]+90[ ]+nop[ ]*
+[ ]*b1:[ ]+90[ ]+nop[ ]*
+[ ]*b2:[ ]+90[ ]+nop[ ]*
+[ ]*b3:[ ]+90[ ]+nop[ ]*
+[ ]*b4:[ ]+90[ ]+nop[ ]*
+[ ]*b5:[ ]+90[ ]+nop[ ]*
+[ ]*b6:[ ]+90[ ]+nop[ ]*
+[ ]*b7:[ ]+90[ ]+nop[ ]*
+[ ]*b8:[ ]+90[ ]+nop[ ]*
+[ ]*b9:[ ]+90[ ]+nop[ ]*
+[ ]*ba:[ ]+90[ ]+nop[ ]*
+[ ]*bb:[ ]+90[ ]+nop[ ]*
+[ ]*bc:[ ]+8d 74 26 00[ ]+lea[ ]+0x0\(%esi,%eiz,1\),%esi
+
+0+c0 <nop3>:
+[ ]*c0:[ ]+90[ ]+nop[ ]*
+[ ]*c1:[ ]+90[ ]+nop[ ]*
+[ ]*c2:[ ]+90[ ]+nop[ ]*
+[ ]*c3:[ ]+90[ ]+nop[ ]*
+[ ]*c4:[ ]+90[ ]+nop[ ]*
+[ ]*c5:[ ]+90[ ]+nop[ ]*
+[ ]*c6:[ ]+90[ ]+nop[ ]*
+[ ]*c7:[ ]+90[ ]+nop[ ]*
+[ ]*c8:[ ]+90[ ]+nop[ ]*
+[ ]*c9:[ ]+90[ ]+nop[ ]*
+[ ]*ca:[ ]+90[ ]+nop[ ]*
+[ ]*cb:[ ]+90[ ]+nop[ ]*
+[ ]*cc:[ ]+90[ ]+nop[ ]*
+[ ]*cd:[ ]+8d 76 00[ ]+lea[ ]+0x0\(%esi\),%esi
+
+0+d0 <nop2>:
+[ ]*d0:[ ]+90[ ]+nop[ ]*
+[ ]*d1:[ ]+90[ ]+nop[ ]*
+[ ]*d2:[ ]+90[ ]+nop[ ]*
+[ ]*d3:[ ]+90[ ]+nop[ ]*
+[ ]*d4:[ ]+90[ ]+nop[ ]*
+[ ]*d5:[ ]+90[ ]+nop[ ]*
+[ ]*d6:[ ]+90[ ]+nop[ ]*
+[ ]*d7:[ ]+90[ ]+nop[ ]*
+[ ]*d8:[ ]+90[ ]+nop[ ]*
+[ ]*d9:[ ]+90[ ]+nop[ ]*
+[ ]*da:[ ]+90[ ]+nop[ ]*
+[ ]*db:[ ]+90[ ]+nop[ ]*
+[ ]*dc:[ ]+90[ ]+nop[ ]*
+[ ]*dd:[ ]+90[ ]+nop[ ]*
+[ ]*de:[ ]+66 90[ ]+xchg[ ]+%ax,%ax
+#pass
--- a/gas/testsuite/gas/i386/nops-1-i686.d
+++ b/gas/testsuite/gas/i386/nops-1-i686.d
@@ -5,153 +5,173 @@
.*: +file format .*
-
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\)
+[ ]*0:[ ]+90[ ]+nop[ ]*
+[ ]*1:[ ]+eb 0d[ ]+jmp[ ]+10[ ]+<nop14>
+[ ]*3:[ ]+90[ ]+nop[ ]*
+[ ]*4:[ ]+90[ ]+nop[ ]*
+[ ]*5:[ ]+90[ ]+nop[ ]*
+[ ]*6:[ ]+90[ ]+nop[ ]*
+[ ]*7:[ ]+90[ ]+nop[ ]*
+[ ]*8:[ ]+90[ ]+nop[ ]*
+[ ]*9:[ ]+90[ ]+nop[ ]*
+[ ]*a:[ ]+90[ ]+nop[ ]*
+[ ]*b:[ ]+90[ ]+nop[ ]*
+[ ]*c:[ ]+90[ ]+nop[ ]*
+[ ]*d:[ ]+90[ ]+nop[ ]*
+[ ]*e:[ ]+90[ ]+nop[ ]*
+[ ]*f:[ ]+90[ ]+nop[ ]*
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\)
+[ ]*10:[ ]+90[ ]+nop[ ]*
+[ ]*11:[ ]+90[ ]+nop[ ]*
+[ ]*12:[ ]+8d b4 26 00 00 00 00[ ]+lea[ ]+0x0\(%esi,%eiz,1\),%esi
+[ ]*19:[ ]+8d bc 27 00 00 00 00[ ]+lea[ ]+0x0\(%edi,%eiz,1\),%edi
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\)
+[ ]*20:[ ]+90[ ]+nop[ ]*
+[ ]*21:[ ]+90[ ]+nop[ ]*
+[ ]*22:[ ]+90[ ]+nop[ ]*
+[ ]*23:[ ]+8d b6 00 00 00 00[ ]+lea[ ]+0x0\(%esi\),%esi
+[ ]*29:[ ]+8d bc 27 00 00 00 00[ ]+lea[ ]+0x0\(%edi,%eiz,1\),%edi
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\)
+[ ]*30:[ ]+90[ ]+nop[ ]*
+[ ]*31:[ ]+90[ ]+nop[ ]*
+[ ]*32:[ ]+90[ ]+nop[ ]*
+[ ]*33:[ ]+90[ ]+nop[ ]*
+[ ]*34:[ ]+8d b6 00 00 00 00[ ]+lea[ ]+0x0\(%esi\),%esi
+[ ]*3a:[ ]+8d bf 00 00 00 00[ ]+lea[ ]+0x0\(%edi\),%edi
0+40 <nop11>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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 2e 0f 1f 84 00 00 00 00 00 data32 nopw %cs:0x0\(%eax,%eax,1\)
+[ ]*40:[ ]+90[ ]+nop[ ]*
+[ ]*41:[ ]+90[ ]+nop[ ]*
+[ ]*42:[ ]+90[ ]+nop[ ]*
+[ ]*43:[ ]+90[ ]+nop[ ]*
+[ ]*44:[ ]+90[ ]+nop[ ]*
+[ ]*45:[ ]+8d 74 26 00[ ]+lea[ ]+0x0\(%esi,%eiz,1\),%esi
+[ ]*49:[ ]+8d bc 27 00 00 00 00[ ]+lea[ ]+0x0\(%edi,%eiz,1\),%edi
0+50 <nop10>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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\)
+[ ]*50:[ ]+90[ ]+nop[ ]*
+[ ]*51:[ ]+90[ ]+nop[ ]*
+[ ]*52:[ ]+90[ ]+nop[ ]*
+[ ]*53:[ ]+90[ ]+nop[ ]*
+[ ]*54:[ ]+90[ ]+nop[ ]*
+[ ]*55:[ ]+90[ ]+nop[ ]*
+[ ]*56:[ ]+8d 76 00[ ]+lea[ ]+0x0\(%esi\),%esi
+[ ]*59:[ ]+8d bc 27 00 00 00 00[ ]+lea[ ]+0x0\(%edi,%eiz,1\),%edi
0+60 <nop9>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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\)
+[ ]*60:[ ]+90[ ]+nop[ ]*
+[ ]*61:[ ]+90[ ]+nop[ ]*
+[ ]*62:[ ]+90[ ]+nop[ ]*
+[ ]*63:[ ]+90[ ]+nop[ ]*
+[ ]*64:[ ]+90[ ]+nop[ ]*
+[ ]*65:[ ]+90[ ]+nop[ ]*
+[ ]*66:[ ]+90[ ]+nop[ ]*
+[ ]*67:[ ]+89 f6[ ]+mov[ ]+%esi,%esi
+[ ]*69:[ ]+8d bc 27 00 00 00 00[ ]+lea[ ]+0x0\(%edi,%eiz,1\),%edi
0+70 <nop8>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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\)
+[ ]*70:[ ]+90[ ]+nop[ ]*
+[ ]*71:[ ]+90[ ]+nop[ ]*
+[ ]*72:[ ]+90[ ]+nop[ ]*
+[ ]*73:[ ]+90[ ]+nop[ ]*
+[ ]*74:[ ]+90[ ]+nop[ ]*
+[ ]*75:[ ]+90[ ]+nop[ ]*
+[ ]*76:[ ]+90[ ]+nop[ ]*
+[ ]*77:[ ]+90[ ]+nop[ ]*
+[ ]*78:[ ]+90[ ]+nop[ ]*
+[ ]*79:[ ]+8d b4 26 00 00 00 00[ ]+lea[ ]+0x0\(%esi,%eiz,1\),%esi
0+80 <nop7>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%eax\)
+[ ]*80:[ ]+90[ ]+nop[ ]*
+[ ]*81:[ ]+90[ ]+nop[ ]*
+[ ]*82:[ ]+90[ ]+nop[ ]*
+[ ]*83:[ ]+90[ ]+nop[ ]*
+[ ]*84:[ ]+90[ ]+nop[ ]*
+[ ]*85:[ ]+90[ ]+nop[ ]*
+[ ]*86:[ ]+90[ ]+nop[ ]*
+[ ]*87:[ ]+90[ ]+nop[ ]*
+[ ]*88:[ ]+90[ ]+nop[ ]*
+[ ]*89:[ ]+8d b4 26 00 00 00 00[ ]+lea[ ]+0x0\(%esi,%eiz,1\),%esi
0+90 <nop6>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\)
+[ ]*90:[ ]+90[ ]+nop[ ]*
+[ ]*91:[ ]+90[ ]+nop[ ]*
+[ ]*92:[ ]+90[ ]+nop[ ]*
+[ ]*93:[ ]+90[ ]+nop[ ]*
+[ ]*94:[ ]+90[ ]+nop[ ]*
+[ ]*95:[ ]+90[ ]+nop[ ]*
+[ ]*96:[ ]+90[ ]+nop[ ]*
+[ ]*97:[ ]+90[ ]+nop[ ]*
+[ ]*98:[ ]+90[ ]+nop[ ]*
+[ ]*99:[ ]+90[ ]+nop[ ]*
+[ ]*9a:[ ]+8d b6 00 00 00 00[ ]+lea[ ]+0x0\(%esi\),%esi
0+a0 <nop5>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%eax,%eax,1\)
+[ ]*a0:[ ]+90[ ]+nop[ ]*
+[ ]*a1:[ ]+90[ ]+nop[ ]*
+[ ]*a2:[ ]+90[ ]+nop[ ]*
+[ ]*a3:[ ]+90[ ]+nop[ ]*
+[ ]*a4:[ ]+90[ ]+nop[ ]*
+[ ]*a5:[ ]+90[ ]+nop[ ]*
+[ ]*a6:[ ]+90[ ]+nop[ ]*
+[ ]*a7:[ ]+90[ ]+nop[ ]*
+[ ]*a8:[ ]+90[ ]+nop[ ]*
+[ ]*a9:[ ]+90[ ]+nop[ ]*
+[ ]*aa:[ ]+90[ ]+nop[ ]*
+[ ]*ab:[ ]+90[ ]+nop[ ]*
+[ ]*ac:[ ]+8d 74 26 00[ ]+lea[ ]+0x0\(%esi,%eiz,1\),%esi
0+b0 <nop4>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\)
+[ ]*b0:[ ]+90[ ]+nop[ ]*
+[ ]*b1:[ ]+90[ ]+nop[ ]*
+[ ]*b2:[ ]+90[ ]+nop[ ]*
+[ ]*b3:[ ]+90[ ]+nop[ ]*
+[ ]*b4:[ ]+90[ ]+nop[ ]*
+[ ]*b5:[ ]+90[ ]+nop[ ]*
+[ ]*b6:[ ]+90[ ]+nop[ ]*
+[ ]*b7:[ ]+90[ ]+nop[ ]*
+[ ]*b8:[ ]+90[ ]+nop[ ]*
+[ ]*b9:[ ]+90[ ]+nop[ ]*
+[ ]*ba:[ ]+90[ ]+nop[ ]*
+[ ]*bb:[ ]+90[ ]+nop[ ]*
+[ ]*bc:[ ]+8d 74 26 00[ ]+lea[ ]+0x0\(%esi,%eiz,1\),%esi
0+c0 <nop3>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%eax\)
+[ ]*c0:[ ]+90[ ]+nop[ ]*
+[ ]*c1:[ ]+90[ ]+nop[ ]*
+[ ]*c2:[ ]+90[ ]+nop[ ]*
+[ ]*c3:[ ]+90[ ]+nop[ ]*
+[ ]*c4:[ ]+90[ ]+nop[ ]*
+[ ]*c5:[ ]+90[ ]+nop[ ]*
+[ ]*c6:[ ]+90[ ]+nop[ ]*
+[ ]*c7:[ ]+90[ ]+nop[ ]*
+[ ]*c8:[ ]+90[ ]+nop[ ]*
+[ ]*c9:[ ]+90[ ]+nop[ ]*
+[ ]*ca:[ ]+90[ ]+nop[ ]*
+[ ]*cb:[ ]+90[ ]+nop[ ]*
+[ ]*cc:[ ]+90[ ]+nop[ ]*
+[ ]*cd:[ ]+8d 76 00[ ]+lea[ ]+0x0\(%esi\),%esi
0+d0 <nop2>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*d0:[ ]+90[ ]+nop[ ]*
+[ ]*d1:[ ]+90[ ]+nop[ ]*
+[ ]*d2:[ ]+90[ ]+nop[ ]*
+[ ]*d3:[ ]+90[ ]+nop[ ]*
+[ ]*d4:[ ]+90[ ]+nop[ ]*
+[ ]*d5:[ ]+90[ ]+nop[ ]*
+[ ]*d6:[ ]+90[ ]+nop[ ]*
+[ ]*d7:[ ]+90[ ]+nop[ ]*
+[ ]*d8:[ ]+90[ ]+nop[ ]*
+[ ]*d9:[ ]+90[ ]+nop[ ]*
+[ ]*da:[ ]+90[ ]+nop[ ]*
+[ ]*db:[ ]+90[ ]+nop[ ]*
+[ ]*dc:[ ]+90[ ]+nop[ ]*
+[ ]*dd:[ ]+90[ ]+nop[ ]*
+[ ]*de:[ ]+66 90[ ]+xchg[ ]+%ax,%ax
#pass
--- a/gas/testsuite/gas/i386/nops-1-k8.d
+++ b/gas/testsuite/gas/i386/nops-1-k8.d
@@ -1,7 +1,7 @@
-#as: -mtune=k8
+#as: -march=k8 -mtune=k8
#source: nops-1.s
#objdump: -drw
-#name: i386 -mtune=k8 nops 1
+#name: i386 -march=k8 -mtune=k8 nops 1
.*: +file format .*
--- /dev/null
+++ b/gas/testsuite/gas/i386/nops-3-core2.d
@@ -0,0 +1,17 @@
+#as: -march=core2
+#source: nops-3.s
+#objdump: -drw
+#name: i386 -march=core2 nops 3
+
+.*: +file format .*
+
+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\(%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]+: 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\(%eax,%eax,1\)
+#pass
--- a/gas/testsuite/gas/i386/nops-3-i686.d
+++ /dev/null
@@ -1,17 +0,0 @@
-#as: -mtune=i686
-#source: nops-3.s
-#objdump: -drw
-#name: i386 -mtune=i686 nops 3
-
-.*: +file format .*
-
-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\(%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]+: 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\(%eax,%eax,1\)
-#pass
--- /dev/null
+++ b/gas/testsuite/gas/i386/nops-4-core2.d
@@ -0,0 +1,210 @@
+#as: -march=core2
+#source: nops-4.s
+#objdump: -drw
+#name: i386 -march=core2 nops 4
+
+.*: +file format .*
+
+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\)
+
+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\)
+
+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\)
+
+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\)
+
+0+80 <nop27>:
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[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 66 66 66 2e 0f 1f 84 00 00 00 00 00 data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+
+0+a0 <nop26>:
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[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 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\)
+
+0+c0 <nop25>:
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[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\)
+
+0+e0 <nop24>:
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[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\)
+
+0+100 <nop23>:
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[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\)
+
+0+120 <nop22>:
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[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\)
+
+0+140 <nop21>:
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[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\)
+
+0+160 <nop20>:
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[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\)
+
+0+180 <nop19>:
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[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\)
+
+0+1a0 <nop18>:
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[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\)
+
+0+1c0 <nop17>:
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[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\)
+
+0+1e0 <nop16>:
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: 90 nop
+[ ]*[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 66 66 2e 0f 1f 84 00 00 00 00 00 data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
+#pass
--- a/gas/testsuite/gas/i386/nops-4-i686.d
+++ /dev/null
@@ -1,210 +0,0 @@
-#as: -mtune=i686
-#source: nops-4.s
-#objdump: -drw
-#name: i386 -mtune=i686 nops 4
-
-.*: +file format .*
-
-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\)
-
-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\)
-
-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\)
-
-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\)
-
-0+80 <nop27>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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 66 66 66 2e 0f 1f 84 00 00 00 00 00 data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
-
-0+a0 <nop26>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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 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\)
-
-0+c0 <nop25>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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\)
-
-0+e0 <nop24>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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\)
-
-0+100 <nop23>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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\)
-
-0+120 <nop22>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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\)
-
-0+140 <nop21>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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\)
-
-0+160 <nop20>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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\)
-
-0+180 <nop19>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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\)
-
-0+1a0 <nop18>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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\)
-
-0+1c0 <nop17>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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\)
-
-0+1e0 <nop16>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[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 66 66 2e 0f 1f 84 00 00 00 00 00 data32 data32 data32 data32 data32 nopw %cs:0x0\(%eax,%eax,1\)
-#pass