From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1039) id 8D7F93858417; Thu, 11 Apr 2024 03:29:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8D7F93858417 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1712806199; bh=sqWuORhGgeggkK46lk3If7fG9Ka8VerM29pYNXhZNtQ=; h=From:To:Subject:Date:From; b=ppDf8kQL1r1kzWOqshLTcHcdCdC1Je90zgkOD2fjST7rCy9UhtFn95KekOLo3VcKR SxcAu9agEbu8pqtlOwE63wGOhLljVnMjnE98xXDhYEfg8rN7xstcKA2LU4f5AbyWoH Jw9TbWZ1aAWBppQu+hOCESn2n3u8sgRscgzKuNj8= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: H.J. Lu To: binutils-cvs@sourceware.org Subject: [binutils-gdb] x86-64: Use long NOPs for Intel Core processors X-Act-Checkin: binutils-gdb X-Git-Author: H.J. Lu X-Git-Refname: refs/heads/master X-Git-Oldrev: 533da9536e6e4d65f0623ede93365f7229779f54 X-Git-Newrev: bf649e72d3d5bc0784080438f550095d71769904 Message-Id: <20240411032959.8D7F93858417@sourceware.org> Date: Thu, 11 Apr 2024 03:29:59 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3Dbf649e72d3d5= bc0784080438f550095d71769904 commit bf649e72d3d5bc0784080438f550095d71769904 Author: H.J. Lu Date: Mon Apr 1 10:03:11 2024 -0700 x86-64: Use long NOPs for Intel Core processors =20 Use long NOPs for Intel Core processors since they are faster than multiple NOPs. Don't use them for 64-bit processors by default since Intel Atom processors can only decode 4 prefixes in 1 cycle. =20 * config/tc-i386.c (alt64_9): New. (alt64_10): Likewise. (alt64_11): Likewise. (alt64_12): Likewise. (alt64_13): Likewise. (alt64_14): Likewise. (alt64_15): Likewise. (alt64_patt): Likewise. (i386_generate_nops): Use alt64_patt for Intel Core processors in 64-bit mode. * testsuite/gas/i386/x86-64-nops-1-core2.d: Expect long NOPs. * testsuite/gas/i386/x86-64-nops-4-core2.d: Likewise. * testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d: Replace ../x86-64-nops-1.d with ../x86-64-nops-1-core2.d. * testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d: Replace ../x86-64-nops-4.d with ../x86-64-nops-4-core2.d. Diff: --- gas/config/tc-i386.c | 40 +++- gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d | 2 +- gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d | 2 +- gas/testsuite/gas/i386/x86-64-nops-1-core2.d | 154 ++++++++++++++- gas/testsuite/gas/i386/x86-64-nops-4-core2.d | 208 +++++++++++++++++= +++- 5 files changed, 397 insertions(+), 9 deletions(-) diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 8f6337b34af..56b2431b1bc 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1356,6 +1356,25 @@ static const unsigned char *const alt_patt[] =3D { f32_1, f32_2, alt_3, alt_4, alt_5, alt_6, alt_7, alt_8, alt_9, alt_10, alt_11 }; +#define alt64_9 (alt64_15 + 6) /* nopq 0L(%rax,%rax,1) */ +#define alt64_10 (alt64_15 + 5) /* cs nopq 0L(%rax,%rax,1) */ +/* data16 cs nopq 0L(%rax,%rax,1) */ +#define alt64_11 (alt64_15 + 4) +/* data16 data16 cs nopq 0L(%rax,%rax,1) */ +#define alt64_12 (alt64_15 + 3) +/* data16 data16 data16 cs nopq 0L(%rax,%rax,1) */ +#define alt64_13 (alt64_15 + 2) +/* data16 data16 data16 data16 cs nopq 0L(%rax,%rax,1) */ +#define alt64_14 (alt64_15 + 1) +/* data16 data16 data16 data16 data16 cs nopq 0L(%rax,%rax,1) */ +static const unsigned char alt64_15[] =3D + {0x66,0x66,0x66,0x66,0x66,0x2e,0x48, + 0x0f,0x1f,0x84,0x00,0x00,0x00,0x00,0x00}; +/* Long 64-bit NOPs patterns. */ +static const unsigned char *const alt64_patt[] =3D { + f32_1, f32_2, alt_3, alt_4, alt_5, alt_6, alt_7, alt_8, + alt64_9, alt64_10, alt64_11,alt64_12, alt64_13, alt64_14, alt64_15 +}; =20 /* Genenerate COUNT bytes of NOPs to WHERE from PATT with the maximum size of a single NOP instruction MAX_SINGLE_NOP_SIZE. */ @@ -1466,12 +1485,21 @@ i386_generate_nops (fragS *fragP, char *where, offs= etT count, int limit) patt =3D alt_patt; break; =20 - case PROCESSOR_PENTIUMPRO: - case PROCESSOR_PENTIUM4: - case PROCESSOR_NOCONA: case PROCESSOR_CORE: case PROCESSOR_CORE2: case PROCESSOR_COREI7: + if (fragP->tc_frag_data.cpunop) + { + if (fragP->tc_frag_data.code =3D=3D CODE_64BIT) + patt =3D alt64_patt; + else + patt =3D alt_patt; + } + break; + + case PROCESSOR_PENTIUMPRO: + case PROCESSOR_PENTIUM4: + case PROCESSOR_NOCONA: case PROCESSOR_GENERIC64: case PROCESSOR_K6: case PROCESSOR_ATHLON: @@ -1517,7 +1545,7 @@ i386_generate_nops (fragS *fragP, char *where, offset= T count, int limit) } } =20 - if (patt !=3D alt_patt) + if (patt !=3D alt_patt && patt !=3D alt64_patt) { max_single_nop_size =3D patt =3D=3D f32_patt ? ARRAY_SIZE (f32_patt) : ARRAY_SIZE (f64_patt); @@ -1526,7 +1554,9 @@ i386_generate_nops (fragS *fragP, char *where, offset= T count, int limit) } else { - max_single_nop_size =3D sizeof (alt_patt) / sizeof (alt_patt[0]); + max_single_nop_size =3D patt =3D=3D alt_patt + ? ARRAY_SIZE (alt_patt) + : ARRAY_SIZE (alt64_patt); /* Limit number of NOPs to 7 for newer processors. */ max_number_of_nops =3D 7; } diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d b/gas/tests= uite/gas/i386/ilp32/x86-64-nops-1-core2.d index aec0817e292..81aa9dc8353 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 @@ -2,4 +2,4 @@ #as: -mtune=3Dcore2 #objdump: -drw #name: x86-64 (ILP32) -mtune=3Dcore2 nops 1 -#dump: ../x86-64-nops-1.d +#dump: ../x86-64-nops-1-core2.d diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d b/gas/tests= uite/gas/i386/ilp32/x86-64-nops-4-core2.d index 324267a501e..246c7e8c0b0 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 @@ -2,4 +2,4 @@ #as: -mtune=3Dcore2 #objdump: -drw #name: x86-64 (ILP32) nops -mtune=3Dcore2 4 -#dump: ../x86-64-nops-4.d +#dump: ../x86-64-nops-4-core2.d diff --git a/gas/testsuite/gas/i386/x86-64-nops-1-core2.d b/gas/testsuite/g= as/i386/x86-64-nops-1-core2.d index ec632b29cf5..3fe7f3f6f31 100644 --- a/gas/testsuite/gas/i386/x86-64-nops-1-core2.d +++ b/gas/testsuite/gas/i386/x86-64-nops-1-core2.d @@ -2,4 +2,156 @@ #source: nops-1.s #objdump: -drw #name: x86-64 -mtune=3Dcore2 nops 1 -#dump: x86-64-nops-1.d + +.*: +file format .* + + +Disassembly of section .text: + +0+ : + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +0+10 : + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data= 16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +0+20 : + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 = cs nopq (0x)?0\(%rax,%rax,1\) + +0+30 : + +[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 48 0f 1f 84 00 00 00 00 00 data16 data16 cs nopq (0= x)?0\(%rax,%rax,1\) + +0+40 : + +[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 48 0f 1f 84 00 00 00 00 00 data16 cs nopq (0x)?0\(%rax= ,%rax,1\) + +0+50 : + +[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]+: 2e 48 0f 1f 84 00 00 00 00 00 cs nopq (0x)?0\(%rax,%rax,1\) + +0+60 : + +[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]+: 48 0f 1f 84 00 00 00 00 00 nopq (0x)?0\(%rax,%rax,1\) + +0+70 : + +[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 (0x)?0\(%rax,%rax,1\) + +0+80 : + +[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 (0x)?0\(%rax\) + +0+90 : + +[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 (0x)?0\(%rax,%rax,1\) + +0+a0 : + +[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 (0x)?0\(%rax,%rax,1\) + +0+b0 : + +[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 (0x)?0\(%rax\) + +0+c0 : + +[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 \(%rax\) + +0+d0 : + +[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 +#pass diff --git a/gas/testsuite/gas/i386/x86-64-nops-4-core2.d b/gas/testsuite/g= as/i386/x86-64-nops-4-core2.d index 010b686db2f..8154ca9eb6b 100644 --- a/gas/testsuite/gas/i386/x86-64-nops-4-core2.d +++ b/gas/testsuite/gas/i386/x86-64-nops-4-core2.d @@ -2,4 +2,210 @@ #source: nops-4.s #objdump: -drw #name: x86-64 nops -mtune=3Dcore2 4 -#dump: x86-64-nops-4.d + +.*: +file format .* + + +Disassembly of section .text: + +0+ : + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 90 nop + +0+20 : + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +0+40 : + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 90 nop + +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data= 16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +0+60 : + +[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 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 = cs nopq (0x)?0\(%rax,%rax,1\) + +0+80 : + +[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 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 cs nopq (0= x)?0\(%rax,%rax,1\) + +0+a0 : + +[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 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 66 2e 48 0f 1f 84 00 00 00 00 00 data16 cs nopq (0x)?0\(%rax= ,%rax,1\) + +0+c0 : + +[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 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 2e 48 0f 1f 84 00 00 00 00 00 cs nopq (0x)?0\(%rax,%rax,1\) + +0+e0 : + +[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 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 48 0f 1f 84 00 00 00 00 00 nopq (0x)?0\(%rax,%rax,1\) + +0+100 : + +[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 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl (0x)?0\(%rax,%rax,1\) + +0+120 : + +[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 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl (0x)?0\(%rax\) + +0+140 : + +[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 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 66 0f 1f 44 00 00 nopw (0x)?0\(%rax,%rax,1\) + +0+160 : + +[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 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 0f 1f 44 00 00 nopl (0x)?0\(%rax,%rax,1\) + +0+180 : + +[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 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 0f 1f 40 00 nopl (0x)?0\(%rax\) + +0+1a0 : + +[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 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) + +0+1c0 : + +[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 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 66 90 xchg %ax,%ax + +0+1e0 : + +[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 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 d= ata16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\) + +[a-f0-9]+: 90 nop +#pass