From fa94de6b5c193ccfe743efa63720647f63417032 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 13 Mar 2012 16:59:57 +0000 Subject: [PATCH] gas/ 2012-03-12 Roland McGrath * config/tc-arm.c (arm_frag_max_var): New function. * config/tc-arm.h: Declare it. (md_frag_max_var): New macro. * config/tc-i386.c (i386_frag_max_var): New function. * config/tc-i386.h: Declare it. (md_frag_max_var): New macro. * doc/as.texinfo (Bundle directives): New node. (Pseudo Ops): Add it to the menu. * NEWS: Mention new feature. * read.c [md_frag_max_var] (HANDLE_BUNDLE): New macro. [HANDLE_BUNDLE] (bundle_align_p2): New variable. [HANDLE_BUNDLE] (bundle_lock_frchain, bundle_lock_frag): New variables. [HANDLE_BUNDLE] (start_bundle, pending_bundle_size, finish_bundle): New functions. (assemble_one): New function if [HANDLE_BUNDLE], #define directly to md_assembly if not. (read_a_source_file): Call assemble_one in place of md_assemble. (read_a_source_file) [HANDLE_BUNDLE]: Check for unterminated .bundle_lock at end of processing. [HANDLE_BUNDLE] (s_bundle_align_mode, s_bundle_lock, s_bundle_unlock): New functions. [HANDLE_BUNDLE] (potable): Add their entries. * read.h: Declare new functions. gas/testsuite/ 2012-03-12 Roland McGrath * gas/i386/bundle-bad.s: New file. * gas/i386/bundle-bad.d: New file. * gas/i386/bundle-bad.l: New file. * gas/i386/i386.exp: Run it. * gas/arm/bundle.s: New file. * gas/arm/bundle.d: New file. * gas/arm/bundle-lock.s: New file. * gas/arm/bundle-lock.d: New file. * gas/i386/bundle.s: New file. * gas/i386/bundle.d: New file. * gas/i386/x86-64-bundle.s: New file. * gas/i386/x86-64-bundle.d: New file. * gas/i386/bundle-lock.s: New file. * gas/i386/bundle-lock.d: New file. * gas/i386/i386.exp: Run them. --- gas/ChangeLog | 28 + gas/NEWS | 69 +- gas/config/tc-arm.c | 96 +- gas/config/tc-arm.h | 3 + gas/config/tc-i386.c | 12 + gas/config/tc-i386.h | 3 + gas/doc/as.texinfo | 56 +- gas/read.c | 260 +- gas/read.h | 5 +- gas/testsuite/ChangeLog | 20 + gas/testsuite/gas/arm/bundle-lock.d | 247 ++ gas/testsuite/gas/arm/bundle-lock.s | 64 + gas/testsuite/gas/arm/bundle.d | 96 + gas/testsuite/gas/arm/bundle.s | 74 + gas/testsuite/gas/i386/bundle-bad.d | 2 + gas/testsuite/gas/i386/bundle-bad.l | 11 + gas/testsuite/gas/i386/bundle-bad.s | 47 + gas/testsuite/gas/i386/bundle-lock.d | 3055 ++++++++++++++++++++++++ gas/testsuite/gas/i386/bundle-lock.s | 93 + gas/testsuite/gas/i386/bundle.d | 2193 +++++++++++++++++ gas/testsuite/gas/i386/bundle.s | 158 ++ gas/testsuite/gas/i386/i386.exp | 4 + gas/testsuite/gas/i386/x86-64-bundle.d | 2281 ++++++++++++++++++ gas/testsuite/gas/i386/x86-64-bundle.s | 162 ++ 24 files changed, 8953 insertions(+), 86 deletions(-) create mode 100644 gas/testsuite/gas/arm/bundle-lock.d create mode 100644 gas/testsuite/gas/arm/bundle-lock.s create mode 100644 gas/testsuite/gas/arm/bundle.d create mode 100644 gas/testsuite/gas/arm/bundle.s create mode 100644 gas/testsuite/gas/i386/bundle-bad.d create mode 100644 gas/testsuite/gas/i386/bundle-bad.l create mode 100644 gas/testsuite/gas/i386/bundle-bad.s create mode 100644 gas/testsuite/gas/i386/bundle-lock.d create mode 100644 gas/testsuite/gas/i386/bundle-lock.s create mode 100644 gas/testsuite/gas/i386/bundle.d create mode 100644 gas/testsuite/gas/i386/bundle.s create mode 100644 gas/testsuite/gas/i386/x86-64-bundle.d create mode 100644 gas/testsuite/gas/i386/x86-64-bundle.s diff --git a/gas/ChangeLog b/gas/ChangeLog index 236e702446..ebd2565067 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,31 @@ +2012-03-12 Roland McGrath + + * config/tc-arm.c (arm_frag_max_var): New function. + * config/tc-arm.h: Declare it. + (md_frag_max_var): New macro. + + * config/tc-i386.c (i386_frag_max_var): New function. + * config/tc-i386.h: Declare it. + (md_frag_max_var): New macro. + + * doc/as.texinfo (Bundle directives): New node. + (Pseudo Ops): Add it to the menu. + * NEWS: Mention new feature. + * read.c [md_frag_max_var] (HANDLE_BUNDLE): New macro. + [HANDLE_BUNDLE] (bundle_align_p2): New variable. + [HANDLE_BUNDLE] (bundle_lock_frchain, bundle_lock_frag): New variables. + [HANDLE_BUNDLE] (start_bundle, pending_bundle_size, finish_bundle): + New functions. + (assemble_one): New function if [HANDLE_BUNDLE], #define directly + to md_assembly if not. + (read_a_source_file): Call assemble_one in place of md_assemble. + (read_a_source_file) [HANDLE_BUNDLE]: Check for unterminated + .bundle_lock at end of processing. + [HANDLE_BUNDLE] (s_bundle_align_mode, s_bundle_lock, s_bundle_unlock): + New functions. + [HANDLE_BUNDLE] (potable): Add their entries. + * read.h: Declare new functions. + 2012-03-10 Edmar Wienskoski * config/tc-ppc.c (md_show_usage): Document -me5500 and -me6500. diff --git a/gas/NEWS b/gas/NEWS index 01bba64869..6e2abffc2d 100644 --- a/gas/NEWS +++ b/gas/NEWS @@ -1,5 +1,8 @@ -*- text -*- +* Add support for .bundle_align_mode, .bundle_lock, and .bundle_unlock + directives. These are currently available only for x86 and ARM targets. + * Add support for the Renesas RL78 architecture. * Add support for the Adapteva EPIPHANY architecture. @@ -48,10 +51,10 @@ Changes in 2.20: indicate that if the symbol is the target of a relocation, its value should not be use. Instead the function should be invoked and its result used as the value. - + * Add support for Lattice Mico32 (lm32) architecture. -* Add support for Xilinx MicroBlaze architecture. +* Add support for Xilinx MicroBlaze architecture. Changes in 2.19: @@ -110,7 +113,7 @@ Changes in 2.17: * The SH target supports a new command line switch --enable-reg-prefix which, if enabled, will allow register names to be optionally prefixed with a $ character. This allows register names to be distinguished from label names. - + * Macros with a variable number of arguments are now supported. See the documentation for how this works. @@ -123,7 +126,7 @@ Changes in 2.17: known to cause problems in certain sources when the respective target uses characters inconsistently, and thus macro parameter references may no longer be recognized as such (see the documentation for details). - + * Support the .f_floating, .d_floating, .g_floating and .h_floating directives for the VAX target in order to be more compatible with the VAX MACRO assembler. @@ -189,7 +192,7 @@ Changes in 2.15: * Added --gstabs+ switch to enable the generation of STABS debug format information with GNU extensions. - + * Added support for MIPS64 Release 2. * Added support for v850e1. @@ -212,14 +215,14 @@ Changes in 2.14: * An assembler test generator has been contributed and an example file that uses it (gas/testsuite/gas/all/test-gen.c and test-exmaple.c). - + * Support for SH2E added. * GASP has now been removed. * Support for Texas Instruments TMS320C4x and TMS320C3x series of DSP's contributed by Michael Hayes and Svein E. Seldal. - + * Support for the Ubicom IP2xxx microcontroller added. Changes in 2.13: @@ -242,8 +245,8 @@ Changes in 2.12: * Support for the OpenRISC 32-bit embedded processor by OpenCores. -* The ARM assembler now accepts -march=..., -mcpu=... and -mfpu=... for - specifying the target instruction set. The old method of specifying the +* The ARM assembler now accepts -march=..., -mcpu=... and -mfpu=... for + specifying the target instruction set. The old method of specifying the target processor has been deprecated, but is still accepted for compatibility. @@ -256,7 +259,7 @@ Changes in 2.12: * The MIPS assembler now accepts -march/-mtune. -mcpu has been deprecated but still works for compatability. -* The MIPS assembler no longer issues a warning by default when it +* The MIPS assembler no longer issues a warning by default when it generates a nop instruction from a macro. The new command line option -n will turn on the warning. @@ -307,7 +310,7 @@ Changes in 2.10: * Motorola MCore 210 processor support added. -* A new pseudo-op .intel_syntax has been implemented to allow gas to parse i386 +* A new pseudo-op .intel_syntax has been implemented to allow gas to parse i386 assembly programs with intel syntax. * New pseudo-ops .func,.endfunc to aid in debugging user-written assembler code. @@ -316,7 +319,7 @@ Changes in 2.10: * Full 16-bit mode support for i386. -* Greatly improved instruction operand checking for i386. This change will +* Greatly improved instruction operand checking for i386. This change will produce errors or warnings on incorrect assembly code that previous versions of gas accepted. If you get unexpected messages from code that worked with older versions of gas, please double check the code before reporting a bug. @@ -335,12 +338,12 @@ Changes in 2.9: * Texas Instruments c30 (tms320c30) support added. -* The assembler now optimizes the exception frame information generated by egcs +* The assembler now optimizes the exception frame information generated by egcs and gcc 2.8. The new --traditional-format option disables this optimization. * Added --gstabs option to generate stabs debugging information. -* The -a option takes a new suboption, m (e.g., -alm) to expand macros in a +* The -a option takes a new suboption, m (e.g., -alm) to expand macros in a listing. * Added -MD option to print dependencies. @@ -390,7 +393,7 @@ Changes in 2.7: * SCO ELF support added. For OpenServer 5 targets (i386-unknown-sco3.2v5) the default is to build COFF-only support. To get a set of tools that generate - ELF (they'll understand both COFF and ELF), you must configure with + ELF (they'll understand both COFF and ELF), you must configure with target=i386-unknown-sco3.2v5elf. * m88k-motorola-sysv3* support added. @@ -421,18 +424,18 @@ Changes in 2.4: * Support for the control registers in the 68060. * Handles (ignores) a new directive ".this_GCC_requires_the_GNU_assembler", to - provide for possible future gcc changes, for targets where gas provides some - features not available in the native assembler. If the native assembler is + provide for possible future gcc changes, for targets where gas provides some + features not available in the native assembler. If the native assembler is used, it should become obvious pretty quickly what the problem is. * Usage message is available with "--help". -* The GNU Assembler Preprocessor (gasp) is included. (Actually, it was in 2.3 +* The GNU Assembler Preprocessor (gasp) is included. (Actually, it was in 2.3 also, but didn't get into the NEWS file.) * Weak symbol support for a.out. -* A bug in the listing code which could cause an infinite loop has been fixed. +* A bug in the listing code which could cause an infinite loop has been fixed. Bugs in listings when generating a COFF object file have also been fixed. * Initial i386-svr4 PIC implementation from Eric Youngdale, based on code by @@ -454,7 +457,7 @@ Changes in 2.3: again too. * HP-PA work, by Jeff Law. Note, for the PA, gas-2.3 has been designed to work - with gdb-4.12 and gcc-2.6. As gcc-2.6 has not been released yet, a special + with gdb-4.12 and gcc-2.6. As gcc-2.6 has not been released yet, a special version of gcc-2.5.8 has been patched to work with gas-2.3. You can retrieve this special version of gcc-2.5.8 via anonymous ftp from jaguar.cs.utah.edu in the "dist" directory. @@ -463,18 +466,18 @@ Changes in 2.3: simple tests okay. I haven't put it through extensive testing. (GNU make is currently required for BSD 4.3 builds.) -* Support for the DEC Alpha, running OSF/1 (ECOFF format). The gas support is +* Support for the DEC Alpha, running OSF/1 (ECOFF format). The gas support is based on code donated by CMU, which used an a.out-based format. I'm afraid the alpha-a.out support is pretty badly mangled, and much of it removed; making it work will require rewriting it as BFD support for the format anyways. * Irix 5 support. -* The test suites have been fixed up a bit, so that they should work with a +* The test suites have been fixed up a bit, so that they should work with a couple different versions of expect and dejagnu. -* Symbols' values are now handled internally as expressions, permitting more - flexibility in evaluating them in some cases. Some details of relocation +* Symbols' values are now handled internally as expressions, permitting more + flexibility in evaluating them in some cases. Some details of relocation handling have also changed, and simple constant pool management has been added, to make the Alpha port easier. @@ -487,17 +490,17 @@ Changes in 2.2: * RS/6000 AIX and MIPS SGI Irix 5 support has been added. -* Configurations that are still in development (and therefore are convenient to - have listed in configure.in) still get rejected without a minor change to +* Configurations that are still in development (and therefore are convenient to + have listed in configure.in) still get rejected without a minor change to gas/Makefile.in, so people not doing development work shouldn't get the impression that support for such configurations is actually believed to be reliable. -* The program name (usually "as") is printed when a fatal error message is +* The program name (usually "as") is printed when a fatal error message is displayed. This should prevent some confusion about the source of occasional messages about "internal errors". -* ELF support is falling into place. Support for the 386 should be working. +* ELF support is falling into place. Support for the 386 should be working. Support for SPARC Solaris is in. HPPA support from Utah is being integrated. * Symbol values are maintained as expressions instead of being immediately @@ -506,22 +509,22 @@ Changes in 2.2: known. * DBX-style debugging info ("stabs") is now supported for COFF formats. - If any stabs directives are seen in the source, GAS will create two new - sections: a ".stab" and a ".stabstr" section. The format of the .stab + If any stabs directives are seen in the source, GAS will create two new + sections: a ".stab" and a ".stabstr" section. The format of the .stab section is nearly identical to the a.out symbol format, and .stabstr is its string table. For this to be useful, you must have configured GCC to generate stabs (by defining DBX_DEBUGGING_INFO), and must have a GDB that can use the stab sections (4.11 or later). -* LynxOS, on i386 and m68k platforms, is now supported. SPARC LynxOS +* LynxOS, on i386 and m68k platforms, is now supported. SPARC LynxOS support is in progress. Changes in 2.1: -* Several small fixes for i386-aix (PS/2) support from Minh Tran-Le have been +* Several small fixes for i386-aix (PS/2) support from Minh Tran-Le have been incorporated, but not well tested yet. -* Altered the opcode table split for m68k; it should require less VM to compile +* Altered the opcode table split for m68k; it should require less VM to compile with gcc now. * Some minor adjustments to add (Convergent Technologies') Miniframe support, diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 02a63a6e3c..b2e0d86d6e 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -1,6 +1,6 @@ /* tc-arm.c -- Assemble for the ARM Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, - 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 + 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org) Modified by David Taylor (dtaylor@armltd.co.uk) @@ -98,7 +98,7 @@ enum arm_float_abi /* Types of processor to assemble for. */ #ifndef CPU_DEFAULT /* The code that was here used to select a default CPU depending on compiler - pre-defines which were only present when doing native builds, thus + pre-defines which were only present when doing native builds, thus changing gas' default behaviour depending upon the build host. If you have a target that requires a default CPU option then the you @@ -5064,7 +5064,7 @@ parse_shifter_operand_group_reloc (char **str, int i) /* Parse a Neon alignment expression. Information is written to inst.operands[i]. We assume the initial ':' has been skipped. - + align .imm = align << 8, .immisalign=1, .preind=0 */ static parse_operand_result parse_neon_alignment (char **str, int i) @@ -5177,7 +5177,7 @@ parse_address_main (char **str, int i, int group_relocations, code before we get to see it here. This may be subject to change. */ parse_operand_result result = parse_neon_alignment (&p, i); - + if (result != PARSE_OPERAND_SUCCESS) return result; } @@ -5265,7 +5265,7 @@ parse_address_main (char **str, int i, int group_relocations, /* FIXME: '@' should be used here, but it's filtered out by generic code before we get to see it here. This may be subject to change. */ parse_operand_result result = parse_neon_alignment (&p, i); - + if (result != PARSE_OPERAND_SUCCESS) return result; } @@ -5448,7 +5448,7 @@ parse_psr (char **str, bfd_boolean lhs) { if (m_profile) goto unsupported_psr; - + psr_field = SPSR_BIT; } else if (strncasecmp (p, "CPSR", 4) == 0) @@ -5521,7 +5521,7 @@ check_suffix: unsigned int nzcvq_bits = 0; unsigned int g_bit = 0; char *bit; - + for (bit = start; bit != p; bit++) { switch (TOLOWER (*bit)) @@ -5541,24 +5541,24 @@ check_suffix: case 'v': nzcvq_bits |= (nzcvq_bits & 0x08) ? 0x20 : 0x08; break; - + case 'q': nzcvq_bits |= (nzcvq_bits & 0x10) ? 0x20 : 0x10; break; - + case 'g': g_bit |= (g_bit & 0x1) ? 0x2 : 0x1; break; - + default: inst.error = _("unexpected bit specified after APSR"); return FAIL; } } - + if (nzcvq_bits == 0x1f) psr_field |= PSR_f; - + if (g_bit == 0x1) { if (!ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_v6_dsp)) @@ -5570,7 +5570,7 @@ check_suffix: psr_field |= PSR_s; } - + if ((nzcvq_bits & 0x20) != 0 || (nzcvq_bits != 0x1f && nzcvq_bits != 0) || (g_bit & 0x2) != 0) @@ -6063,7 +6063,7 @@ enum operand_parse_code OP_RRnpc, /* ARM register, not r15 */ OP_RRnpcsp, /* ARM register, neither r15 nor r13 (a.k.a. 'BadReg') */ OP_RRnpcb, /* ARM register, not r15, in square brackets */ - OP_RRnpctw, /* ARM register, not r15 in Thumb-state or with writeback, + OP_RRnpctw, /* ARM register, not r15 in Thumb-state or with writeback, optional trailing ! */ OP_RRw, /* ARM register, not r15, optional trailing ! */ OP_RCP, /* Coprocessor number */ @@ -6620,7 +6620,7 @@ parse_operands (char *str, const unsigned int *pattern, bfd_boolean thumb) goto failure; break; - case OP_wPSR: + case OP_wPSR: case OP_rPSR: po_reg_or_goto (REG_TYPE_RNB, try_psr); if (!ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_virt)) @@ -6780,8 +6780,8 @@ parse_operands (char *str, const unsigned int *pattern, bfd_boolean thumb) break; case OP_RRnpctw: - if (inst.operands[i].isreg - && inst.operands[i].reg == REG_PC + if (inst.operands[i].isreg + && inst.operands[i].reg == REG_PC && (inst.operands[i].writeback || thumb)) inst.error = BAD_PC; break; @@ -8088,7 +8088,7 @@ static void do_vmrs (void) { unsigned Rt = inst.operands[0].reg; - + if (thumb_mode && inst.operands[0].reg == REG_SP) { inst.error = BAD_SP; @@ -8112,7 +8112,7 @@ static void do_vmsr (void) { unsigned Rt = inst.operands[1].reg; - + if (thumb_mode) reject_bad_reg (Rt); else if (Rt == REG_PC) @@ -8812,14 +8812,14 @@ vfp_conv (int srcsize) { int immbits = srcsize - inst.operands[1].imm; - if (srcsize == 16 && !(immbits >= 0 && immbits <= srcsize)) - { + if (srcsize == 16 && !(immbits >= 0 && immbits <= srcsize)) + { /* If srcsize is 16, inst.operands[1].imm must be in the range 0-16. i.e. immbits must be in range 0 - 16. */ inst.error = _("immediate value out of range, expected range [0, 16]"); return; } - else if (srcsize == 32 && !(immbits >= 0 && immbits < srcsize)) + else if (srcsize == 32 && !(immbits >= 0 && immbits < srcsize)) { /* If srcsize is 32, inst.operands[1].imm must be in the range 1-32. i.e. immbits must be in range 0 - 31. */ @@ -10046,7 +10046,7 @@ do_t_branch23 (void) { set_it_insn_type_last (); encode_branch (BFD_RELOC_THUMB_PCREL_BRANCH23); - + /* md_apply_fix blows up with 'bl foo(PLT)' where foo is defined in this file. We used to simply ignore the PLT reloc type here -- the branch encoding is now needed to deal with TLSCALL relocs. @@ -10353,11 +10353,11 @@ do_t_ldmstm (void) /* First, record an error for Case 3. */ if (inst.operands[1].imm & mask && inst.operands[0].writeback) - inst.error = + inst.error = _("having the base register in the register list when " "using write back is UNPREDICTABLE"); - - opcode = (inst.instruction == T_MNEM_stmia ? T_MNEM_str + + opcode = (inst.instruction == T_MNEM_stmia ? T_MNEM_str : T_MNEM_ldr); inst.instruction = THUMB_OP16 (opcode); inst.instruction |= inst.operands[0].reg << 3; @@ -10369,7 +10369,7 @@ do_t_ldmstm (void) { if (inst.operands[0].writeback) { - inst.instruction = + inst.instruction = THUMB_OP16 (inst.instruction == T_MNEM_stmia ? T_MNEM_push : T_MNEM_pop); inst.instruction |= inst.operands[1].imm; @@ -10377,7 +10377,7 @@ do_t_ldmstm (void) } else if ((inst.operands[1].imm & (inst.operands[1].imm-1)) == 0) { - inst.instruction = + inst.instruction = THUMB_OP16 (inst.instruction == T_MNEM_stmia ? T_MNEM_str_sp : T_MNEM_ldr_sp); inst.instruction |= ((ffs (inst.operands[1].imm)-1) << 8); @@ -10934,7 +10934,7 @@ do_t_mov_cmp (void) constraint (!ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6), "MOV Rd, Rs with two low registers is not " "permitted on this architecture"); - ARM_MERGE_FEATURE_SETS (thumb_arch_used, thumb_arch_used, + ARM_MERGE_FEATURE_SETS (thumb_arch_used, thumb_arch_used, arm_ext_v6); } @@ -15256,7 +15256,7 @@ do_neon_ldr_str (void) /* Use of PC in vstr in ARM mode is deprecated in ARMv7. And is UNPREDICTABLE in thumb mode. */ - if (!is_ldr + if (!is_ldr && inst.operands[1].reg == REG_PC && ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_v7)) { @@ -16713,7 +16713,7 @@ static const struct reg_entry reg_names[] = SPLRBANK(12,MON,RNB), SPLRBANK(12,mon,RNB), REGDEF(elr_hyp,768|(14<<16),RNB), REGDEF(ELR_hyp,768|(14<<16),RNB), REGDEF(sp_hyp,768|(15<<16),RNB), REGDEF(SP_hyp,768|(15<<16),RNB), - REGDEF(spsr_hyp,768|(14<<16)|SPSR_BIT,RNB), + REGDEF(spsr_hyp,768|(14<<16)|SPSR_BIT,RNB), REGDEF(SPSR_hyp,768|(14<<16)|SPSR_BIT,RNB), /* FPA registers. */ @@ -18998,6 +18998,26 @@ md_chars_to_number (char * buf, int n) /* MD interface: Sections. */ +/* Calculate the maximum variable size (i.e., excluding fr_fix) + that an rs_machine_dependent frag may reach. */ + +unsigned int +arm_frag_max_var (fragS *fragp) +{ + /* We only use rs_machine_dependent for variable-size Thumb instructions, + which are either THUMB_SIZE (2) or INSN_SIZE (4). + + Note that we generate relaxable instructions even for cases that don't + really need it, like an immediate that's a trivial constant. So we're + overestimating the instruction size for some of those cases. Rather + than putting more intelligence here, it would probably be better to + avoid generating a relaxation frag in the first place when it can be + determined up front that a short instruction will suffice. */ + + gas_assert (fragp->fr_type == rs_machine_dependent); + return INSN_SIZE; +} + /* Estimate the size of a frag before relaxing. Assume everything fits in 2 bytes. */ @@ -19569,7 +19589,7 @@ arm_frag_align_code (int n, int max) { char err_msg[128]; - sprintf (err_msg, + sprintf (err_msg, _("alignments greater than %d bytes not supported in .text sections."), MAX_MEM_FOR_RS_ALIGN_CODE + 1); as_fatal ("%s", err_msg); @@ -20474,7 +20494,7 @@ encode_thumb2_b_bl_offset (char * buf, offsetT value) I1 = (value >> 23) & 0x01; I2 = (value >> 22) & 0x01; hi = (value >> 12) & 0x3ff; - lo = (value >> 1) & 0x7ff; + lo = (value >> 1) & 0x7ff; newval = md_chars_to_number (buf, THUMB_SIZE); newval2 = md_chars_to_number (buf + THUMB_SIZE, THUMB_SIZE); newval |= (S << 10) | hi; @@ -20591,7 +20611,7 @@ md_apply_fix (fixS * fixP, break; } } - + newimm = encode_arm_immediate (value); temp = md_chars_to_number (buf, INSN_SIZE); @@ -23217,10 +23237,10 @@ arm_parse_extension (char *str, const arm_feature_set **opt_p) xmalloc (sizeof (arm_feature_set)); /* We insist on extensions being specified in alphabetical order, and with - extensions being added before being removed. We achieve this by having - the global ARM_EXTENSIONS table in alphabetical order, and using the + extensions being added before being removed. We achieve this by having + the global ARM_EXTENSIONS table in alphabetical order, and using the ADDING_VALUE variable to indicate whether we are adding an extension (1) - or removing it (0) and only allowing it to change in the order + or removing it (0) and only allowing it to change in the order -1 -> 1 -> 0. */ const struct arm_option_extension_value_table * opt = NULL; int adding_value = -1; @@ -23803,7 +23823,7 @@ aeabi_set_public_attributes (void) aeabi_set_attribute_int (Tag_Advanced_SIMD_arch, (ARM_CPU_HAS_FEATURE (flags, fpu_neon_ext_fma) ? 2 : 1)); - + /* Tag_VFP_HP_extension (formerly Tag_NEON_FP16_arch). */ if (ARM_CPU_HAS_FEATURE (flags, fpu_vfp_fp16)) aeabi_set_attribute_int (Tag_VFP_HP_extension, 1); diff --git a/gas/config/tc-arm.h b/gas/config/tc-arm.h index b6b7a04e39..4425d75448 100644 --- a/gas/config/tc-arm.h +++ b/gas/config/tc-arm.h @@ -84,6 +84,9 @@ struct fix; #define TC_FORCE_RELOCATION(FIX) arm_force_relocation (FIX) +extern unsigned int arm_frag_max_var (struct frag *); +#define md_frag_max_var arm_frag_max_var + #define md_relax_frag(segment, fragp, stretch) \ arm_relax_frag (segment, fragp, stretch) extern int arm_relax_frag (asection *, struct frag *, long); diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 144883e878..ae0b436b7b 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -7715,6 +7715,18 @@ i386_att_operand (char *operand_string) return 1; /* Normal return. */ } +/* Calculate the maximum variable size (i.e., excluding fr_fix) + that an rs_machine_dependent frag may reach. */ + +unsigned int +i386_frag_max_var (fragS *frag) +{ + /* The only relaxable frags are for jumps. + Unconditional jumps can grow by 4 bytes and others by 5 bytes. */ + gas_assert (frag->fr_type == rs_machine_dependent); + return TYPE_FROM_RELAX_STATE (frag->fr_subtype) == UNCOND_JUMP ? 4 : 5; +} + /* md_estimate_size_before_relax() Called just before relax() for rs_machine_dependent frags. The x86 diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h index cc86c9d206..599d0bf516 100644 --- a/gas/config/tc-i386.h +++ b/gas/config/tc-i386.h @@ -215,6 +215,9 @@ if (fragP->fr_type == rs_align_code) \ void i386_print_statistics (FILE *); #define tc_print_statistics i386_print_statistics +extern unsigned int i386_frag_max_var (fragS *); +#define md_frag_max_var i386_frag_max_var + #define md_number_to_chars number_to_chars_littleendian enum processor_type diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo index 45405b81e0..2f892e22de 100644 --- a/gas/doc/as.texinfo +++ b/gas/doc/as.texinfo @@ -3970,6 +3970,7 @@ Some machine configurations provide additional directives. * Ascii:: @code{.ascii "@var{string}"}@dots{} * Asciz:: @code{.asciz "@var{string}"}@dots{} * Balign:: @code{.balign @var{abs-expr} , @var{abs-expr}} +* Bundle directives:: @code{.bundle_align_mode @var{abs-expr}}, @code{.bundle_lock}, @code{.bundle_unlock} * Byte:: @code{.byte @var{expressions}} * CFI directives:: @code{.cfi_startproc [simple]}, @code{.cfi_endproc}, etc. * Comm:: @code{.comm @var{symbol} , @var{length} } @@ -4292,6 +4293,59 @@ filled in with the value 0x368d (the exact placement of the bytes depends upon the endianness of the processor). If it skips 1 or 3 bytes, the fill value is undefined. +@node Bundle directives +@section @code{.bundle_align_mode @var{abs-expr}} +@cindex @code{bundle_align_mode} directive +@cindex bundle +@cindex instruction bundle +@cindex aligned instruction bundle +@code{.bundle_align_mode} enables or disables @defn{aligned instruction +bundle} mode. In this mode, sequences of adjacent instructions are grouped +into fixed-sized @defn{bundles}. If the argument is zero, this mode is +disabled (which is the default state). If the argument it not zero, it +gives the size of an instruction bundle as a power of two (as for the +@code{.p2align} directive, @pxref{P2align}). + +For some targets, it's an ABI requirement that no instruction may span a +certain aligned boundary. A @defn{bundle} is simply a sequence of +instructions that starts on an aligned boundary. For example, if +@var{abs-expr} is @code{5} then the bundle size is 32, so each aligned +chunk of 32 bytes is a bundle. When aligned instruction bundle mode is in +effect, no single instruction may span a boundary between bundles. If an +instruction would start too close to the end of a bundle for the length of +that particular instruction to fit within the bundle, then the space at the +end of that bundle is filled with no-op instructions so the instruction +starts in the next bundle. As a corollary, it's an error if any single +instruction's encoding is longer than the bundle size. + +@section @code{.bundle_lock} and @code{.bundle_unlock} +@cindex @code{bundle_lock} directive +@cindex @code{bundle_unlock} directive +The @code{.bundle_lock} and directive @code{.bundle_unlock} directives +allow explicit control over instruction bundle padding. These directives +are only valid when @code{.bundle_align_mode} has been used to enable +aligned instruction bundle mode. It's an error if they appear when +@code{.bundle_align_mode} has not been used at all, or when the last +directive was @w{@code{.bundle_align_mode 0}}. + +@cindex bundle-locked +For some targets, it's an ABI requirement that certain instructions may +appear only as part of specified permissible sequences of multiple +instructions, all within the same bundle. A pair of @code{.bundle_lock} +and @code{.bundle_unlock} directives define a @defn{bundle-locked} +instruction sequence. For purposes of aligned instruction bundle mode, a +sequence starting with @code{.bundle_lock} and ending with +@code{.bundle_unlock} is treated as a single instruction. That is, the +entire sequence must fit into a single bundle and may not span a bundle +boundary. If necessary, no-op instructions will be inserted before the +first instruction of the sequence so that the whole sequence starts on an +aligned bundle boundary. It's an error if the sequence is longer than the +bundle size. + +Bundle-locked sequences do not nest. It's an error if two +@code{.bundle_lock} directives appear without an intervening +@code{.bundle_unlock} directive. + @node Byte @section @code{.byte @var{expressions}} @@ -5521,7 +5575,7 @@ hence @emph{octa}-word for 16 bytes. Set the location counter to @var{loc} in the absolute section. @var{loc} must be an absolute expression. This directive may be useful for defining symbols with absolute values. Do not confuse it with the @code{.org} -directive. +directive. @node Org @section @code{.org @var{new-lc} , @var{fill}} diff --git a/gas/read.c b/gas/read.c index 445caa1489..b47c74a088 100644 --- a/gas/read.c +++ b/gas/read.c @@ -1,7 +1,7 @@ /* read.c - read a source file - Copyright 1986, 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, - 2010, 2011 Free Software Foundation, Inc. + 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -209,6 +209,31 @@ static int dwarf_file_string; #endif #endif +/* If the target defines the md_frag_max_var hook then we know + enough to implement the .bundle_align_mode features. */ +#ifdef md_frag_max_var +# define HANDLE_BUNDLE +#endif + +#ifdef HANDLE_BUNDLE +/* .bundle_align_mode sets this. Normally it's zero. When nonzero, + it's the exponent of the bundle size, and aligned instruction bundle + mode is in effect. */ +static unsigned int bundle_align_p2; + +/* These are set by .bundle_lock and .bundle_unlock. .bundle_lock sets + bundle_lock_frag to frag_now and then starts a new frag with + frag_align_code. At the same time, bundle_lock_frain gets frchain_now, + so that .bundle_unlock can verify that we didn't change segments. + .bundle_unlock resets both to NULL. If we detect a bundling violation, + then we reset bundle_lock_frchain to NULL as an indicator that we've + already diagnosed the error with as_bad and don't need a cascade of + redundant errors, but bundle_lock_frag remains set to indicate that + we are expecting to see .bundle_unlock. */ +static fragS *bundle_lock_frag; +static frchainS *bundle_lock_frchain; +#endif + static void do_s_func (int end_p, const char *default_prefix); static void do_align (int, char *, int, int); static void s_align (int, int); @@ -277,6 +302,11 @@ static const pseudo_typeS potable[] = { {"balignw", s_align_bytes, -2}, {"balignl", s_align_bytes, -4}, /* block */ +#ifdef HANDLE_BUNDLE + {"bundle_align_mode", s_bundle_align_mode, 0}, + {"bundle_lock", s_bundle_lock, 0}, + {"bundle_unlock", s_bundle_unlock, 0}, +#endif {"byte", cons, 1}, {"comm", s_comm, 0}, {"common", s_mri_common, 0}, @@ -583,6 +613,128 @@ try_macro (char term, const char *line) return 0; } +#ifdef HANDLE_BUNDLE +/* Start a new instruction bundle. Returns the rs_align_code frag that + will be used to align the new bundle. */ +static fragS * +start_bundle (void) +{ + fragS *frag = frag_now; + + frag_align_code (0, 0); + + while (frag->fr_type != rs_align_code) + frag = frag->fr_next; + + gas_assert (frag != frag_now); + + return frag; +} + +/* Calculate the maximum size after relaxation of the region starting + at the given frag and extending through frag_now (which is unfinished). */ +static unsigned int +pending_bundle_size (fragS *frag) +{ + unsigned int offset = frag->fr_fix; + unsigned int size = 0; + + gas_assert (frag != frag_now); + gas_assert (frag->fr_type == rs_align_code); + + while (frag != frag_now) + { + /* This should only happen in what will later become an error case. */ + if (frag == NULL) + return 0; + + size += frag->fr_fix; + if (frag->fr_type == rs_machine_dependent) + size += md_frag_max_var (frag); + + frag = frag->fr_next; + } + + gas_assert (frag == frag_now); + size += frag_now_fix (); + if (frag->fr_type == rs_machine_dependent) + size += md_frag_max_var (frag); + + gas_assert (size >= offset); + + return size - offset; +} + +/* Finish off the frag created to ensure bundle alignment. */ +static void +finish_bundle (fragS *frag, unsigned int size) +{ + gas_assert (bundle_align_p2 > 0); + gas_assert (frag->fr_type == rs_align_code); + + if (size > 1) + { + /* If there is more than a single byte, then we need to set up the + alignment frag. Otherwise we leave it at its initial state from + calling frag_align_code (0, 0), so that it does nothing. */ + frag->fr_offset = bundle_align_p2; + frag->fr_subtype = size - 1; + } + + /* We do this every time rather than just in s_bundle_align_mode + so that we catch any affected section without needing hooks all + over for all paths that do section changes. It's cheap enough. */ + record_alignment (now_seg, bundle_align_p2 - OCTETS_PER_BYTE_POWER); +} + +/* Assemble one instruction. This takes care of the bundle features + around calling md_assemble. */ +static void +assemble_one (char *line) +{ + fragS *insn_start_frag; + + if (bundle_lock_frchain != NULL && bundle_lock_frchain != frchain_now) + { + as_bad (_("cannot change section or subsection inside .bundle_lock")); + /* Clearing this serves as a marker that we have already complained. */ + bundle_lock_frchain = NULL; + } + + if (bundle_lock_frchain == NULL && bundle_align_p2 > 0) + insn_start_frag = start_bundle (); + + md_assemble (line); + + if (bundle_lock_frchain != NULL) + { + /* Make sure this hasn't pushed the locked sequence + past the bundle size. */ + unsigned int bundle_size = pending_bundle_size (bundle_lock_frag); + if (bundle_size > (1U << bundle_align_p2)) + as_bad (_("\ +.bundle_lock sequence at %u bytes but .bundle_align_mode limit is %u bytes"), + bundle_size, 1U << bundle_align_p2); + } + else if (bundle_align_p2 > 0) + { + unsigned int insn_size = pending_bundle_size (insn_start_frag); + + if (insn_size > (1U << bundle_align_p2)) + as_bad (_("\ +single instruction is %u bytes long but .bundle_align_mode limit is %u"), + (unsigned int) insn_size, 1U << bundle_align_p2); + + finish_bundle (insn_start_frag, insn_size); + } +} + +#else /* !HANDLE_BUNDLE */ + +# define assemble_one(line) md_assemble(line) + +#endif /* HANDLE_BUNDLE */ + /* We read the file, putting things into a web that represents what we have been reading. */ void @@ -795,7 +947,7 @@ read_a_source_file (char *name) /* Input_line_pointer->after ':'. */ SKIP_WHITESPACE (); } - else if ((c == '=' && input_line_pointer[1] == '=') + else if ((c == '=' && input_line_pointer[1] == '=') || ((c == ' ' || c == '\t') && input_line_pointer[1] == '=' && input_line_pointer[2] == '=')) @@ -803,13 +955,13 @@ read_a_source_file (char *name) equals (s, -1); demand_empty_rest_of_line (); } - else if ((c == '=' - || ((c == ' ' || c == '\t') - && input_line_pointer[1] == '=')) + else if ((c == '=' + || ((c == ' ' || c == '\t') + && input_line_pointer[1] == '=')) #ifdef TC_EQUAL_IN_INSN - && !TC_EQUAL_IN_INSN (c, s) + && !TC_EQUAL_IN_INSN (c, s) #endif - ) + ) { equals (s, 1); demand_empty_rest_of_line (); @@ -947,7 +1099,7 @@ read_a_source_file (char *name) } } - md_assemble (s); /* Assemble 1 instruction. */ + assemble_one (s); /* Assemble 1 instruction. */ *input_line_pointer++ = c; @@ -1128,6 +1280,16 @@ read_a_source_file (char *name) quit: symbol_set_value_now (&dot_symbol); +#ifdef HANDLE_BUNDLE + if (bundle_lock_frag != NULL) + { + as_bad_where (bundle_lock_frag->fr_file, bundle_lock_frag->fr_line, + _(".bundle_lock with no matching .bundle_unlock")); + bundle_lock_frag = NULL; + bundle_lock_frchain = NULL; + } +#endif + #ifdef md_cleanup md_cleanup (); #endif @@ -1734,7 +1896,7 @@ s_app_line (int appline) Besides, it's silly. GCC however will generate a line number of zero when it is pre-processing builtins for assembler-with-cpp files: - # 0 "" + # 0 "" We do not want to barf on this, especially since such files are used in the GCC and GDB testsuites. So we check for negative line numbers @@ -1763,7 +1925,7 @@ s_app_line (int appline) /* From GCC's cpp documentation: 1: start of a new file. 2: returning to a file after having included - another file. + another file. 3: following text comes from a system header file. 4: following text should be treated as extern "C". @@ -3606,7 +3768,7 @@ demand_empty_rest_of_line (void) *input_line_pointer); ignore_rest_of_line (); } - + /* Return pointing just after end-of-line. */ know (is_end_of_line[(unsigned char) input_line_pointer[-1]]); } @@ -3852,7 +4014,7 @@ cons_worker (int nbytes, /* 1=.byte, 2=.word, 4=.long. */ parse_mri_cons (&exp, (unsigned int) nbytes); else #endif - { + { if (*input_line_pointer == '"') { as_bad (_("unexpected `\"' in expression")); @@ -5691,7 +5853,7 @@ s_include (int arg ATTRIBUTE_UNUSED) demand_empty_rest_of_line (); path = (char *) xmalloc ((unsigned long) i - + include_dir_maxlen + 5 /* slop */ ); + + include_dir_maxlen + 5 /* slop */ ); for (i = 0; i < include_dir_count; i++) { @@ -5867,6 +6029,78 @@ do_s_func (int end_p, const char *default_prefix) demand_empty_rest_of_line (); } +#ifdef HANDLE_BUNDLE + +void +s_bundle_align_mode (int arg ATTRIBUTE_UNUSED) +{ + unsigned int align = get_absolute_expression (); + SKIP_WHITESPACE (); + demand_empty_rest_of_line (); + + if (align > (unsigned int) TC_ALIGN_LIMIT) + as_fatal (_(".bundle_align_mode alignment too large (maximum %u)"), + (unsigned int) TC_ALIGN_LIMIT); + + if (bundle_lock_frag != NULL) + { + as_bad (_("cannot change .bundle_align_mode inside .bundle_lock")); + return; + } + + bundle_align_p2 = align; +} + +void +s_bundle_lock (int arg ATTRIBUTE_UNUSED) +{ + demand_empty_rest_of_line (); + + if (bundle_align_p2 == 0) + { + as_bad (_(".bundle_lock is meaningless without .bundle_align_mode")); + return; + } + + if (bundle_lock_frag != NULL) + { + as_bad (_("second .bundle_lock without .bundle_unlock")); + return; + } + + bundle_lock_frchain = frchain_now; + bundle_lock_frag = start_bundle (); +} + +void +s_bundle_unlock (int arg ATTRIBUTE_UNUSED) +{ + unsigned int size; + + demand_empty_rest_of_line (); + + if (bundle_lock_frag == NULL) + { + as_bad (_(".bundle_unlock without preceding .bundle_lock")); + return; + } + + gas_assert (bundle_align_p2 > 0); + + size = pending_bundle_size (bundle_lock_frag); + + if (size > (1U << bundle_align_p2)) + as_bad (_(".bundle_lock sequence is %u bytes, but bundle size only %u"), + size, 1 << bundle_align_p2); + else + finish_bundle (bundle_lock_frag, size); + + bundle_lock_frag = NULL; + bundle_lock_frchain = NULL; +} + +#endif /* HANDLE_BUNDLE */ + void s_ignore (int arg ATTRIBUTE_UNUSED) { diff --git a/gas/read.h b/gas/read.h index 82ccc759ee..4e5d1bbd2d 100644 --- a/gas/read.h +++ b/gas/read.h @@ -1,6 +1,6 @@ /* read.h - of read.c Copyright 1986, 1990, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009 + 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2012 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -143,6 +143,9 @@ extern symbolS *s_lcomm_internal (int, symbolS *, addressT); extern void s_app_file_string (char *, int); extern void s_app_file (int); extern void s_app_line (int); +extern void s_bundle_align_mode (int); +extern void s_bundle_lock (int); +extern void s_bundle_unlock (int); extern void s_comm (int); extern void s_data (int); extern void s_desc (int); diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 718f942d5d..04c1ceeb34 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,23 @@ +2012-03-12 Roland McGrath + + * gas/i386/bundle-bad.s: New file. + * gas/i386/bundle-bad.d: New file. + * gas/i386/bundle-bad.l: New file. + * gas/i386/i386.exp: Run it. + + * gas/arm/bundle.s: New file. + * gas/arm/bundle.d: New file. + * gas/arm/bundle-lock.s: New file. + * gas/arm/bundle-lock.d: New file. + + * gas/i386/bundle.s: New file. + * gas/i386/bundle.d: New file. + * gas/i386/x86-64-bundle.s: New file. + * gas/i386/x86-64-bundle.d: New file. + * gas/i386/bundle-lock.s: New file. + * gas/i386/bundle-lock.d: New file. + * gas/i386/i386.exp: Run them. + 2012-03-10 Edmar Wienskoski * gas/ppc/e500mc64_nop.s: New test case for e500mc family diff --git a/gas/testsuite/gas/arm/bundle-lock.d b/gas/testsuite/gas/arm/bundle-lock.d new file mode 100644 index 0000000000..d335833ae6 --- /dev/null +++ b/gas/testsuite/gas/arm/bundle-lock.d @@ -0,0 +1,247 @@ +#name: ARM .bundle_lock +#as: -march=armv7-a +#objdump: -drw + +.*: +file format .*arm.* + +Disassembly of section \.text: + +# This is testing the .bundle_lock feature, with 16-byte bundles. To keep +# this file simple, we just verify that every 16-byte boundary appears in +# the disassembly as either bkpt (what we use for padding to the chosen +# offset) or adds (what we use at the beginning of each bundle-locked +# sequence). + +0+0000 : +#... + *0:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *10:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *20:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *30:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *40:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *50:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *60:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *70:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *80:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *90:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *a0:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *b0:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *c0:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *d0:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *e0:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *f0:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *100:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *110:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *120:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *130:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *140:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... + *150:\s+(e1200070\s+bkpt|e0900001\s+adds)\s+.+ +#... +0+160 : + *160:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *170:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *180:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *190:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *1a0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *1b0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *1c0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *1d0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *1e0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *1f0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *200:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *210:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *220:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *230:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *240:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *250:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *260:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *270:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *280:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *290:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *2a0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *2b0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *2c0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *2d0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *2e0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *2f0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *300:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *310:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *320:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *330:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *340:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *350:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *360:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *370:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *380:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *390:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *3a0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *3b0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *3c0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *3d0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *3e0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *3f0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *400:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *410:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *420:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *430:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *440:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *450:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *460:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *470:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *480:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *490:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *4a0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *4b0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *4c0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *4d0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *4e0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *4f0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *500:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *510:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *520:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *530:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *540:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *550:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *560:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *570:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *580:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *590:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *5a0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *5b0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *5c0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *5d0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *5e0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *5f0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *600:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *610:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *620:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *630:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *640:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *650:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *660:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *670:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *680:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *690:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *6a0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *6b0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *6c0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *6d0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *6e0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *6f0:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *700:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *710:\s+(be00\s+bkpt|1840\s+adds)\s+.+ +#... + *720:\s+e1200070\s+bkpt\s+.+ +#... diff --git a/gas/testsuite/gas/arm/bundle-lock.s b/gas/testsuite/gas/arm/bundle-lock.s new file mode 100644 index 0000000000..b8fa38f679 --- /dev/null +++ b/gas/testsuite/gas/arm/bundle-lock.s @@ -0,0 +1,64 @@ + .syntax unified + .bundle_align_mode 4 + +# We use these macros to test each pattern at every offset from +# bundle alignment, i.e. [0,16) by 2 or 4. + + size_arm = 4 + size_thumb = 2 + +.macro offset_sequence which, size, offset + .p2align 4 +\which\()_sequence_\size\()_offset_\offset\(): + .rept \offset / size_\which + bkpt + .endr + test_sequence \size +.endm + +.macro test_offsets_arm size + .arm + offset_sequence arm, \size, 0 + offset_sequence arm, \size, 4 + offset_sequence arm, \size, 8 + offset_sequence arm, \size, 12 +.endm + +.macro test_offsets_thumb size + .thumb + offset_sequence thumb, \size, 0 + offset_sequence thumb, \size, 2 + offset_sequence thumb, \size, 4 + offset_sequence thumb, \size, 6 + offset_sequence thumb, \size, 8 + offset_sequence thumb, \size, 10 + offset_sequence thumb, \size, 12 + offset_sequence thumb, \size, 14 +.endm + +.macro test_sequence size + .bundle_lock + adds r0, r1 + .rept \size - 1 + subs r0, r1 + .endr + .bundle_unlock +.endm + + test_offsets_arm 1 + test_offsets_arm 2 + test_offsets_arm 3 + test_offsets_arm 4 + + test_offsets_thumb 1 + test_offsets_thumb 2 + test_offsets_thumb 3 + test_offsets_thumb 4 + test_offsets_thumb 5 + test_offsets_thumb 6 + test_offsets_thumb 7 + test_offsets_thumb 8 + + .arm +.p2align 4 + bkpt diff --git a/gas/testsuite/gas/arm/bundle.d b/gas/testsuite/gas/arm/bundle.d new file mode 100644 index 0000000000..1c5e5a24ed --- /dev/null +++ b/gas/testsuite/gas/arm/bundle.d @@ -0,0 +1,96 @@ +#name: ARM .bundle_align_mode +#as: -march=armv7-a +#objdump: -drw + +.*: +file format .*arm.* + +Disassembly of section \.text: + +# This is testing the basic bundling features, with 16-byte bundles. +# To keep this file simple, we just verify that every 16-byte boundary +# appears in the disassembly as the start of an instruction. +0+0000 : + *0:\s+[0-9a-f]{8}\s+[a-z].+ +#... + *10:\s+[0-9a-f]{8}\s+[a-z].+ +#... + *20:\s+[0-9a-f]{8}\s+[a-z].+ +#... + *30:\s+[0-9a-f]{8}\s+[a-z].+ +#... +0+0040 : +#... + *40:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *50:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *60:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *70:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *80:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *90:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *a0:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *b0:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *c0:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *d0:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *e0:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *f0:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *100:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *110:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *120:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *130:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *140:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *150:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *160:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *170:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *180:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *190:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *1a0:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *1b0:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *1c0:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *1d0:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *1e0:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *1f0:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *200:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *210:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *220:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *230:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *240:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *250:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *260:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... + *270:\s+([0-9a-f]{4} ){1,2}\s+[a-z].+ +#... +[0-9a-f]+ : +#... diff --git a/gas/testsuite/gas/arm/bundle.s b/gas/testsuite/gas/arm/bundle.s new file mode 100644 index 0000000000..9ec833752f --- /dev/null +++ b/gas/testsuite/gas/arm/bundle.s @@ -0,0 +1,74 @@ + .syntax unified + .bundle_align_mode 4 + +# We use these macros to test each pattern at every offset from +# bundle alignment, i.e. [0,16) by 2 or 4. + +.macro offset_insn insn_name, offset, size + .p2align 4 +\insn_name\()_offset_\offset\(): + .rept \offset / \size + bkpt + .endr + \insn_name +.endm + +.macro test_offsets_arm insn_name + .arm + offset_insn \insn_name, 0, 4 + offset_insn \insn_name, 4, 4 + offset_insn \insn_name, 8, 4 + offset_insn \insn_name, 12, 4 +.endm + +.macro test_offsets_thumb insn_name + .thumb + offset_insn \insn_name, 0, 2 + offset_insn \insn_name, 2, 2 + offset_insn \insn_name, 4, 2 + offset_insn \insn_name, 6, 2 + offset_insn \insn_name, 8, 2 + offset_insn \insn_name, 10, 2 + offset_insn \insn_name, 12, 2 + offset_insn \insn_name, 14, 2 +.endm + +.macro test_arm + add r0, r1 +.endm + +.macro test_thumb_2 + adds r0, r1 +.endm +.macro test_thumb_4 + adds r8, r9 +.endm + +test_offsets_arm test_arm +test_offsets_thumb test_thumb_2 +test_offsets_thumb test_thumb_4 + +# There are many relaxation cases for Thumb instructions. +# But we use as representative the simple branch cases. + +.macro test_thumb_b_2 + b 0f + bkpt 1 +0: bkpt 2 +.endm +.macro test_thumb_b_4 + b far_target +.endm + +test_offsets_thumb test_thumb_b_2 +test_offsets_thumb test_thumb_b_4 + +# This is to set up a branch target surely too far for a short branch. +pad_for_far_target: + .rept 1025 + bkpt 1 + .endr +far_target: + bkpt 2 +.p2align 4 + bkpt diff --git a/gas/testsuite/gas/i386/bundle-bad.d b/gas/testsuite/gas/i386/bundle-bad.d new file mode 100644 index 0000000000..ba56f32b1e --- /dev/null +++ b/gas/testsuite/gas/i386/bundle-bad.d @@ -0,0 +1,2 @@ +#name: .bundle_align_mode diagnostics +#error-output: bundle-bad.l diff --git a/gas/testsuite/gas/i386/bundle-bad.l b/gas/testsuite/gas/i386/bundle-bad.l new file mode 100644 index 0000000000..ece5d7ef7b --- /dev/null +++ b/gas/testsuite/gas/i386/bundle-bad.l @@ -0,0 +1,11 @@ +[^:]*: Assembler messages: +[^:]*:4:.*\.bundle_lock is meaningless without \.bundle_align_mode +[^:]*:6:.*\.bundle_unlock without preceding \.bundle_lock +[^:]*:11:.*single instruction is [0-9]+ bytes long but \.bundle_align_mode limit is [0-9]+ +[^:]*:18:.*\.bundle_lock sequence at [0-9]+ bytes but \.bundle_align_mode limit is [0-9]+ bytes +[^:]*:19:.*\.bundle_lock sequence is [0-9]+ bytes, but bundle size only [0-9]+ +[^:]*:26:.*cannot change section or subsection inside \.bundle_lock +[^:]*:31:.*cannot change \.bundle_align_mode inside \.bundle_lock +[^:]*:36:.*\.bundle_unlock without preceding \.bundle_lock +[^:]*:41:.*second \.bundle_lock without \.bundle_unlock +[^:]*:46:.*\.bundle_lock with no matching \.bundle_unlock diff --git a/gas/testsuite/gas/i386/bundle-bad.s b/gas/testsuite/gas/i386/bundle-bad.s new file mode 100644 index 0000000000..0974d30616 --- /dev/null +++ b/gas/testsuite/gas/i386/bundle-bad.s @@ -0,0 +1,47 @@ + .text + + # Using .bundle_lock without the mode enabled. + .bundle_lock + hlt + .bundle_unlock + + .bundle_align_mode 3 + + # This instruction is 9 bytes long, exceeding the 8-byte bundle size. + lock addl $0xaabbccdd,%fs:0x10(%esi) + + hlt + + # This locked sequence exceeds the bundle size. + .bundle_lock + mov $0xaabbccdd,%eax + mov $0xaabbccdd,%eax + .bundle_unlock + + # Test changing subsection inside .bundle_lock. + .text 0 + .bundle_lock + clc + .text 1 + cld + .bundle_unlock + + # Trying to change the setting inside .bundle_lock. + .bundle_lock + .bundle_align_mode 0 + .bundle_unlock + + # Spurious .bundle_unlock. + hlt + .bundle_unlock + + # Nested .bundle_lock. + .bundle_lock + clc + .bundle_lock + cld + .bundle_unlock + + # End of input with dangling .bundle_lock. + .bundle_lock + hlt diff --git a/gas/testsuite/gas/i386/bundle-lock.d b/gas/testsuite/gas/i386/bundle-lock.d new file mode 100644 index 0000000000..cf619432ff --- /dev/null +++ b/gas/testsuite/gas/i386/bundle-lock.d @@ -0,0 +1,3055 @@ +#objdump: -drw +#name: i386 .bundle_lock + +.*: +file format .*i386.* + +Disassembly of section \.text: + +# This is testing the .bundle_lock feature, with 32-byte bundles. To keep +# this file simple, we just verify that every 32-byte boundary appears in +# the disassembly as either hlt (what we use for padding to the chosen +# offset) or clc (what we use at the beginning of each bundle-locked +# sequence). + +0+0000 : + *0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *100:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *120:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *140:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *160:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *180:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *200:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *220:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *240:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *260:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *280:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *300:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *320:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *340:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *360:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *380:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *400:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *420:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *440:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *460:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *480:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *500:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *520:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *540:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *560:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *580:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *600:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *620:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *640:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *660:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *680:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *700:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *720:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *740:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *760:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *780:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *800:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *820:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *840:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *860:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *880:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *900:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *920:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *940:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *960:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *980:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ac0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ae0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ba0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *be0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *c00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *c20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *c40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *c60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *c80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ca0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *cc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ce0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *d00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *d20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *d40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *d60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *d80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *da0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *dc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *de0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *e00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *e20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *e40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *e60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *e80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ea0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ec0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ee0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *f00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *f20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *f40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *f60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *f80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *fa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *fc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *fe0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1000:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1020:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1040:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1060:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1080:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *10a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *10c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *10e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1100:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1120:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1140:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1160:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1180:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *11a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *11c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *11e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1200:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1220:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1240:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1260:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1280:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *12a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *12c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *12e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1300:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1320:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1340:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1360:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1380:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *13a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *13c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *13e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1400:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1420:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1440:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1460:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1480:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *14a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *14c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *14e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1500:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1520:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1540:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1560:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1580:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *15a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *15c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *15e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1600:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1620:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1640:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1660:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1680:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *16a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *16c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *16e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1700:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1720:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1740:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1760:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1780:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *17a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *17c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *17e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1800:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1820:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1840:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1860:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1880:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *18a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *18c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *18e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1900:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1920:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1940:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1960:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1980:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *19a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *19c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *19e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1a00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1a20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1a40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1a60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1a80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1aa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1ac0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1ae0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1b00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1b20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1b40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1b60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1b80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1ba0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1bc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1be0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1c00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1c20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1c40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1c60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1c80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1ca0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1cc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1ce0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1d00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1d20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1d40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1d60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1d80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1da0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1dc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1de0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1e00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1e20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1e40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1e60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1e80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1ea0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1ec0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1ee0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1f00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1f20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1f40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1f60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1f80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1fa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1fc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *1fe0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2000:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2020:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2040:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2060:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2080:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *20a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *20c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *20e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2100:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2120:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2140:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2160:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2180:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *21a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *21c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *21e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2200:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2220:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2240:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2260:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2280:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *22a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *22c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *22e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2300:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2320:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2340:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2360:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2380:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *23a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *23c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *23e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2400:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2420:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2440:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2460:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2480:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *24a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *24c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *24e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2500:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2520:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2540:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2560:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2580:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *25a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *25c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *25e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2600:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2620:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2640:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2660:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2680:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *26a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *26c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *26e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2700:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2720:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2740:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2760:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2780:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *27a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *27c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *27e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2800:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2820:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2840:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2860:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2880:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *28a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *28c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *28e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2900:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2920:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2940:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2960:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2980:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *29a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *29c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *29e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2a00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2a20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2a40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2a60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2a80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2aa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2ac0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2ae0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2b00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2b20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2b40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2b60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2b80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2ba0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2bc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2be0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2c00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2c20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2c40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2c60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2c80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2ca0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2cc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2ce0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2d00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2d20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2d40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2d60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2d80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2da0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2dc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2de0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2e00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2e20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2e40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2e60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2e80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2ea0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2ec0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2ee0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2f00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2f20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2f40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2f60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2f80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2fa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2fc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *2fe0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3000:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3020:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3040:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3060:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3080:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *30a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *30c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *30e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3100:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3120:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3140:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3160:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3180:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *31a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *31c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *31e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3200:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3220:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3240:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3260:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3280:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *32a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *32c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *32e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3300:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3320:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3340:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3360:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3380:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *33a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *33c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *33e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3400:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3420:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3440:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3460:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3480:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *34a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *34c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *34e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3500:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3520:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3540:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3560:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3580:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *35a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *35c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *35e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3600:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3620:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3640:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3660:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3680:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *36a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *36c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *36e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3700:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3720:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3740:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3760:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3780:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *37a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *37c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *37e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3800:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3820:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3840:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3860:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3880:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *38a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *38c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *38e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3900:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3920:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3940:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3960:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3980:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *39a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *39c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *39e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3a00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3a20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3a40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3a60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3a80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3aa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3ac0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3ae0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3b00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3b20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3b40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3b60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3b80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3ba0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3bc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3be0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3c00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3c20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3c40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3c60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3c80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3ca0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3cc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3ce0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3d00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3d20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3d40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3d60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3d80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3da0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3dc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3de0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3e00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3e20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3e40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3e60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3e80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3ea0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3ec0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3ee0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3f00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3f20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3f40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3f60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3f80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3fa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3fc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *3fe0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4000:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4020:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4040:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4060:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4080:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *40a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *40c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *40e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4100:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4120:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4140:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4160:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4180:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *41a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *41c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *41e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4200:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4220:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4240:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4260:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4280:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *42a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *42c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *42e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4300:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4320:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4340:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4360:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4380:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *43a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *43c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *43e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4400:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4420:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4440:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4460:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4480:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *44a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *44c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *44e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4500:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4520:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4540:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4560:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4580:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *45a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *45c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *45e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4600:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4620:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4640:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4660:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4680:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *46a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *46c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *46e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4700:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4720:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4740:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4760:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4780:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *47a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *47c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *47e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4800:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4820:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4840:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4860:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4880:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *48a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *48c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *48e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4900:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4920:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4940:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4960:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4980:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *49a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *49c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *49e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4a00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4a20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4a40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4a60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4a80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4aa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4ac0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4ae0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4b00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4b20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4b40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4b60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4b80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4ba0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4bc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4be0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4c00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4c20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4c40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4c60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4c80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4ca0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4cc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4ce0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4d00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4d20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4d40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4d60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4d80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4da0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4dc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4de0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4e00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4e20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4e40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4e60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4e80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4ea0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4ec0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4ee0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4f00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4f20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4f40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4f60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4f80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4fa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4fc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *4fe0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5000:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5020:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5040:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5060:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5080:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *50a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *50c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *50e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5100:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5120:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5140:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5160:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5180:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *51a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *51c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *51e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5200:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5220:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5240:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5260:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5280:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *52a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *52c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *52e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5300:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5320:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5340:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5360:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5380:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *53a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *53c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *53e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5400:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5420:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5440:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5460:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5480:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *54a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *54c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *54e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5500:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5520:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5540:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5560:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5580:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *55a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *55c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *55e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5600:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5620:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5640:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5660:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5680:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *56a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *56c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *56e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5700:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5720:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5740:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5760:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5780:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *57a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *57c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *57e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5800:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5820:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5840:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5860:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5880:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *58a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *58c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *58e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5900:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5920:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5940:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5960:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5980:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *59a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *59c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *59e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5a00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5a20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5a40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5a60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5a80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5aa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5ac0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5ae0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5b00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5b20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5b40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5b60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5b80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5ba0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5bc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5be0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5c00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5c20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5c40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5c60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5c80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5ca0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5cc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5ce0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5d00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5d20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5d40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5d60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5d80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5da0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5dc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5de0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5e00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5e20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5e40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5e60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5e80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5ea0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5ec0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5ee0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5f00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5f20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5f40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5f60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5f80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5fa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5fc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *5fe0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6000:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6020:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6040:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6060:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6080:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *60a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *60c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *60e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6100:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6120:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6140:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6160:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6180:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *61a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *61c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *61e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6200:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6220:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6240:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6260:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6280:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *62a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *62c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *62e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6300:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6320:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6340:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6360:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6380:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *63a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *63c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *63e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6400:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6420:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6440:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6460:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6480:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *64a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *64c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *64e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6500:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6520:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6540:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6560:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6580:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *65a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *65c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *65e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6600:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6620:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6640:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6660:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6680:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *66a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *66c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *66e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6700:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6720:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6740:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6760:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6780:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *67a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *67c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *67e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6800:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6820:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6840:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6860:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6880:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *68a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *68c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *68e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6900:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6920:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6940:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6960:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6980:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *69a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *69c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *69e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6a00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6a20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6a40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6a60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6a80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6aa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6ac0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6ae0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6b00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6b20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6b40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6b60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6b80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6ba0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6bc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6be0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6c00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6c20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6c40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6c60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6c80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6ca0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6cc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6ce0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6d00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6d20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6d40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6d60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6d80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6da0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6dc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6de0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6e00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6e20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6e40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6e60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6e80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6ea0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6ec0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6ee0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6f00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6f20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6f40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6f60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6f80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6fa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6fc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *6fe0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7000:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7020:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7040:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7060:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7080:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *70a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *70c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *70e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7100:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7120:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7140:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7160:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7180:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *71a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *71c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *71e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7200:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7220:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7240:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7260:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7280:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *72a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *72c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *72e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7300:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7320:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7340:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7360:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7380:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *73a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *73c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *73e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7400:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7420:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7440:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7460:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7480:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *74a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *74c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *74e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7500:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7520:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7540:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7560:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7580:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *75a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *75c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *75e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7600:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7620:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7640:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7660:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7680:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *76a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *76c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *76e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7700:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7720:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7740:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7760:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7780:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *77a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *77c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *77e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7800:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7820:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7840:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7860:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7880:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *78a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *78c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *78e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7900:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7920:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7940:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7960:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7980:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *79a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *79c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *79e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7a00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7a20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7a40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7a60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7a80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7aa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7ac0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7ae0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7b00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7b20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7b40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7b60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7b80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7ba0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7bc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7be0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7c00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7c20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7c40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7c60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7c80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7ca0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7cc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7ce0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7d00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7d20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7d40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7d60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7d80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7da0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7dc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7de0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7e00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7e20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7e40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7e60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7e80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7ea0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7ec0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7ee0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7f00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7f20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7f40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7f60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7f80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7fa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7fc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *7fe0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8000:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8020:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8040:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8060:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8080:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *80a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *80c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *80e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8100:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8120:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8140:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8160:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8180:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *81a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *81c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *81e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8200:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8220:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8240:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8260:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8280:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *82a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *82c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *82e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8300:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8320:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8340:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8360:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8380:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *83a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *83c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *83e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8400:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8420:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8440:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8460:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8480:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *84a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *84c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *84e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8500:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8520:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8540:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8560:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8580:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *85a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *85c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *85e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8600:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8620:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8640:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8660:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8680:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *86a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *86c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *86e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8700:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8720:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8740:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8760:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8780:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *87a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *87c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *87e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8800:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8820:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8840:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8860:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8880:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *88a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *88c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *88e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8900:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8920:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8940:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8960:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8980:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *89a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *89c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *89e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8a00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8a20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8a40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8a60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8a80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8aa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8ac0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8ae0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8b00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8b20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8b40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8b60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8b80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8ba0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8bc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8be0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8c00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8c20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8c40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8c60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8c80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8ca0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8cc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8ce0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8d00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8d20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8d40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8d60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8d80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8da0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8dc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8de0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8e00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8e20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8e40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8e60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8e80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8ea0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8ec0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8ee0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8f00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8f20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8f40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8f60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8f80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8fa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8fc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *8fe0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9000:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9020:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9040:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9060:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9080:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *90a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *90c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *90e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9100:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9120:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9140:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9160:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9180:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *91a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *91c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *91e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9200:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9220:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9240:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9260:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9280:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *92a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *92c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *92e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9300:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9320:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9340:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9360:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9380:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *93a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *93c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *93e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9400:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9420:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9440:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9460:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9480:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *94a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *94c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *94e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9500:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9520:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9540:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9560:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9580:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *95a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *95c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *95e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9600:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9620:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9640:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9660:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9680:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *96a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *96c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *96e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9700:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9720:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9740:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9760:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9780:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *97a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *97c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *97e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9800:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9820:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9840:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9860:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9880:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *98a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *98c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *98e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9900:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9920:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9940:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9960:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9980:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *99a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *99c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *99e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9a00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9a20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9a40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9a60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9a80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9aa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9ac0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9ae0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9b00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9b20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9b40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9b60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9b80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9ba0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9bc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9be0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9c00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9c20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9c40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9c60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9c80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9ca0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9cc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9ce0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9d00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9d20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9d40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9d60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9d80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9da0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9dc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9de0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9e00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9e20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9e40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9e60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9e80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9ea0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9ec0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9ee0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9f00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9f20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9f40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9f60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9f80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9fa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9fc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *9fe0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a000:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a020:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a040:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a060:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a080:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a0a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a0c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a0e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a100:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a120:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a140:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a160:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a180:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a1a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a1c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a1e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a200:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a220:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a240:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a260:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a280:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a2a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a2c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a2e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a300:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a320:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a340:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a360:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a380:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a3a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a3c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a3e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a400:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a420:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a440:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a460:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a480:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a4a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a4c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a4e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a500:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a520:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a540:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a560:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a580:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a5a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a5c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a5e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a600:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a620:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a640:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a660:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a680:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a6a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a6c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a6e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a700:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a720:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a740:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a760:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a780:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a7a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a7c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a7e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a800:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a820:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a840:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a860:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a880:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a8a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a8c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a8e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a900:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a920:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a940:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a960:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a980:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a9a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a9c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *a9e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aa00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aa20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aa40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aa60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aa80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aaa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aac0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aae0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ab00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ab20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ab40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ab60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ab80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aba0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *abc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *abe0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ac00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ac20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ac40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ac60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ac80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aca0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *acc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ace0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ad00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ad20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ad40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ad60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ad80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ada0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *adc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ade0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ae00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ae20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ae40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ae60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ae80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aea0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aec0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *aee0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *af00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *af20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *af40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *af60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *af80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *afa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *afc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *afe0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b000:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b020:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b040:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b060:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b080:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b0a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b0c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b0e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b100:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b120:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b140:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b160:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b180:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b1a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b1c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b1e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b200:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b220:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b240:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b260:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b280:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b2a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b2c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b2e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b300:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b320:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b340:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b360:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b380:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b3a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b3c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b3e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b400:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b420:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b440:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b460:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b480:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b4a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b4c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b4e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b500:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b520:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b540:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b560:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b580:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b5a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b5c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b5e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b600:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b620:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b640:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b660:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b680:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b6a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b6c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b6e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b700:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b720:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b740:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b760:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b780:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b7a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b7c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b7e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b800:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b820:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b840:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b860:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b880:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b8a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b8c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b8e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b900:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b920:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b940:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b960:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b980:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b9a0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b9c0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *b9e0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ba00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ba20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ba40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ba60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *ba80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *baa0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bac0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bae0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bb00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bb20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bb40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bb60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bb80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bba0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bbc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bbe0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bc00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bc20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bc40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bc60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bc80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bca0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bcc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bce0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bd00:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bd20:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bd40:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bd60:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bd80:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bda0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bdc0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *bde0:\s+(f4\s+hlt|f8\s+clc)\s* +#... + *be00:\s+f4\s+hlt\s* diff --git a/gas/testsuite/gas/i386/bundle-lock.s b/gas/testsuite/gas/i386/bundle-lock.s new file mode 100644 index 0000000000..6fca9c8a28 --- /dev/null +++ b/gas/testsuite/gas/i386/bundle-lock.s @@ -0,0 +1,93 @@ + .bundle_align_mode 5 + +# We use these macros to test each pattern at every offset from +# bundle alignment, i.e. [0,31]. + +.macro offset_sequence size, offset + .p2align 5 +sequence_\size\()_offset_\offset\(): + .if \offset + .space \offset, 0xf4 + .endif + test_sequence \size +.endm + +.macro test_offsets size + offset_sequence \size, 0 + offset_sequence \size, 1 + offset_sequence \size, 2 + offset_sequence \size, 3 + offset_sequence \size, 4 + offset_sequence \size, 5 + offset_sequence \size, 6 + offset_sequence \size, 7 + offset_sequence \size, 8 + offset_sequence \size, 9 + offset_sequence \size, 10 + offset_sequence \size, 11 + offset_sequence \size, 12 + offset_sequence \size, 13 + offset_sequence \size, 14 + offset_sequence \size, 15 + offset_sequence \size, 16 + offset_sequence \size, 17 + offset_sequence \size, 18 + offset_sequence \size, 19 + offset_sequence \size, 20 + offset_sequence \size, 21 + offset_sequence \size, 22 + offset_sequence \size, 23 + offset_sequence \size, 24 + offset_sequence \size, 25 + offset_sequence \size, 26 + offset_sequence \size, 27 + offset_sequence \size, 28 + offset_sequence \size, 29 + offset_sequence \size, 30 + offset_sequence \size, 31 +.endm + +.macro test_sequence size + .bundle_lock + clc + .rept \size - 1 + cld + .endr + .bundle_unlock +.endm + + test_offsets 1 + test_offsets 2 + test_offsets 3 + test_offsets 4 + test_offsets 5 + test_offsets 6 + test_offsets 7 + test_offsets 8 + test_offsets 9 + test_offsets 10 + test_offsets 11 + test_offsets 12 + test_offsets 13 + test_offsets 14 + test_offsets 15 + test_offsets 16 + test_offsets 17 + test_offsets 18 + test_offsets 19 + test_offsets 20 + test_offsets 21 + test_offsets 22 + test_offsets 23 + test_offsets 24 + test_offsets 25 + test_offsets 26 + test_offsets 27 + test_offsets 28 + test_offsets 29 + test_offsets 30 + test_offsets 31 + test_offsets 32 + +.p2align 5 + hlt diff --git a/gas/testsuite/gas/i386/bundle.d b/gas/testsuite/gas/i386/bundle.d new file mode 100644 index 0000000000..4dda7acd28 --- /dev/null +++ b/gas/testsuite/gas/i386/bundle.d @@ -0,0 +1,2193 @@ +#objdump: -drw +#name: i386 .bundle_align_mode + +.*: +file format .*i386.* + +Disassembly of section \.text: + +# This is testing the basic bundling features, with 32-byte bundles. +# To keep this file simple, we just verify that every 32-byte boundary +# appears in the disassembly as the start of an instruction. + +0+0000 : + *0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *9a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *9c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *9e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *10a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *10c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *10e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *11a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *11c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *11e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *12a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *12c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *12e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *13a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *13c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *13e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *14a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *14c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *14e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *15a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *15c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *15e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *16a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *16c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *16e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *17a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *17c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *17e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *18a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *18c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *18e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *19a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *19c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *19e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *20a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *20c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *20e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *21a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *21c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *21e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *22a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *22c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *22e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *23a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *23c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *23e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *24a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *24c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *24e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *25a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *25c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *25e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *26a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *26c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *26e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *27a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *27c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *27e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *28a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *28c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *28e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *29a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *29c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *29e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *30a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *30c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *30e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *31a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *31c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *31e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *32a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *32c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *32e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *33a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *33c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *33e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *34a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *34c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *34e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *35a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *35c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *35e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *36a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *36c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *36e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *37a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *37c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *37e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *38a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *38c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *38e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *39a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *39c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *39e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *40a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *40c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *40e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *41a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *41c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *41e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *42a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *42c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *42e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *43a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *43c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *43e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *44a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *44c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *44e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *45a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *45c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *45e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *46a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *46c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *46e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *47a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *47c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *47e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *48a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *48c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *48e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *49a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *49c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *49e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *50a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *50c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *50e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *51a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *51c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *51e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *52a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *52c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *52e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *53a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *53c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *53e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *54a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *54c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *54e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *55a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *55c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *55e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *56a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *56c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *56e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *57a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *57c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *57e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *58a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *58c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *58e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *59a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *59c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *59e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *60a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *60c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *60e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *61a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *61c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *61e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *62a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *62c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *62e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *63a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *63c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *63e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *64a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *64c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *64e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *65a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *65c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *65e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *66a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *66c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *66e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *67a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *67c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *67e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *68a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *68c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *68e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *69a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *69c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *69e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *70a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *70c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *70e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *71a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *71c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *71e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *72a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *72c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *72e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *73a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *73c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *73e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *74a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *74c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *74e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *75a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *75c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *75e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *76a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *76c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *76e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *77a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *77c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *77e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *78a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *78c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *78e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *79a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *79c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *79e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *80a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *80c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *80e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *81a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *81c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *81e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *82a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *82c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *82e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *83a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *83c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *83e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *84a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *84c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *84e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *85a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *85c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *85e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *86a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *86c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *86e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *87a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *87c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *87e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ diff --git a/gas/testsuite/gas/i386/bundle.s b/gas/testsuite/gas/i386/bundle.s new file mode 100644 index 0000000000..3932f637e0 --- /dev/null +++ b/gas/testsuite/gas/i386/bundle.s @@ -0,0 +1,158 @@ + .bundle_align_mode 5 + +# We use these macros to test each pattern at every offset from +# bundle alignment, i.e. [0,31]. + +.macro offset_insn insn_name, offset + .p2align 5 +\insn_name\()_offset_\offset\(): + .if \offset + .space \offset, 0xf4 + .endif + \insn_name +.endm + +.macro test_offsets insn_name + offset_insn \insn_name, 0 + offset_insn \insn_name, 1 + offset_insn \insn_name, 2 + offset_insn \insn_name, 3 + offset_insn \insn_name, 4 + offset_insn \insn_name, 5 + offset_insn \insn_name, 6 + offset_insn \insn_name, 7 + offset_insn \insn_name, 8 + offset_insn \insn_name, 9 + offset_insn \insn_name, 10 + offset_insn \insn_name, 11 + offset_insn \insn_name, 12 + offset_insn \insn_name, 13 + offset_insn \insn_name, 14 + offset_insn \insn_name, 15 + offset_insn \insn_name, 16 + offset_insn \insn_name, 17 + offset_insn \insn_name, 18 + offset_insn \insn_name, 19 + offset_insn \insn_name, 20 + offset_insn \insn_name, 21 + offset_insn \insn_name, 22 + offset_insn \insn_name, 23 + offset_insn \insn_name, 24 + offset_insn \insn_name, 25 + offset_insn \insn_name, 26 + offset_insn \insn_name, 27 + offset_insn \insn_name, 28 + offset_insn \insn_name, 29 + offset_insn \insn_name, 30 + offset_insn \insn_name, 31 +.endm + +# These are vanilla (non-relaxed) instructions of each length. +.macro test_1 + inc %eax +.endm +.macro test_2 + add %eax,%eax +.endm +.macro test_3 + and $3,%eax +.endm +.macro test_4 + lock and $3,(%eax) +.endm +.macro test_5 + mov $0xaabbccdd,%eax +.endm +.macro test_6 + movl %eax,0xaabbccdd(%esi) +.endm +.macro test_7 + movl $0xaabbccdd,0x7f(%esi) +.endm +.macro test_8 + lock addl $0xaabbccdd,0x10(%esi) +.endm +.macro test_9 + lock addl $0xaabbccdd,%fs:0x10(%esi) +.endm +.macro test_10 + movl $0xaabbccdd,0x7ff(%esi) +.endm +.macro test_11 + lock addl $0xaabbccdd,0x7ff(%esi) +.endm +.macro test_12 + lock addl $0xaabbccdd,%fs:0x7ff(%esi) +.endm + +test_offsets test_1 +test_offsets test_2 +test_offsets test_3 +test_offsets test_4 +test_offsets test_5 +test_offsets test_6 +test_offsets test_7 +test_offsets test_8 +test_offsets test_9 +test_offsets test_10 +test_offsets test_11 +test_offsets test_12 + +# The only relaxation cases are the jump instructions. +# For each of the three flavors of jump (unconditional, conditional, +# and conditional with prediction), we test a case that can be relaxed +# to its shortest form, and one that must use the long form. +.macro jmp_2 + jmp jmp_2_\@ + movl $0xdeadbeef,%eax +jmp_2_\@\(): + movl $0xb00b,%eax +.endm +.macro jmp_5 + jmp jmp_5_\@ + .rept 128 + inc %eax + .endr +jmp_5_\@\(): + movl $0xb00b,%eax +.endm + +.macro cjmp_2 + jz cjmp_2_\@ + movl $0xdeadbeef,%eax +cjmp_2_\@\(): + movl $0xb00b,%eax +.endm +.macro cjmp_6 + jz cjmp_6_\@ + .rept 128 + inc %eax + .endr +cjmp_6_\@\(): + movl $0xb00b,%eax +.endm + +.macro pjmp_3 + jz,pt pjmp_3_\@ + movl $0xdeadbeef,%eax +pjmp_3_\@\(): + movl $0xb00b,%eax +.endm +.macro pjmp_7 + jz,pt pjmp_7_\@ + .rept 128 + inc %eax + .endr +pjmp_7_\@\(): + movl $0xb00b,%eax +.endm + +test_offsets jmp_2 +test_offsets cjmp_2 +test_offsets pjmp_3 +test_offsets jmp_5 +test_offsets cjmp_6 +test_offsets pjmp_7 + +.p2align 5 + hlt diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 028cda478c..fc67db08e6 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -204,6 +204,9 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "fsgs-intel" run_dump_test "rdrnd" run_dump_test "rdrnd-intel" + run_dump_test "bundle" + run_dump_test "bundle-lock" + run_dump_test "bundle-bad" # These tests require support for 8 and 16 bit relocs, # so we only run them for ELF and COFF targets. @@ -432,6 +435,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-fsgs-intel" run_dump_test "x86-64-rdrnd" run_dump_test "x86-64-rdrnd-intel" + run_dump_test "x86-64-bundle" if { ![istarget "*-*-aix*"] && ![istarget "*-*-beos*"] diff --git a/gas/testsuite/gas/i386/x86-64-bundle.d b/gas/testsuite/gas/i386/x86-64-bundle.d new file mode 100644 index 0000000000..8f6ccefb6e --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-bundle.d @@ -0,0 +1,2281 @@ +#objdump: -drw +#name: x86-64 .bundle_align_mode + +.*: +file format .* + +Disassembly of section \.text: + +# This is testing the basic bundling features, with 32-byte bundles. +# To keep this file simple, we just verify that every 32-byte boundary +# appears in the disassembly as the start of an instruction. + +0+0000 : + *0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *9a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *9c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *9e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *10a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *10c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *10e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *11a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *11c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *11e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *12a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *12c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *12e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *13a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *13c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *13e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *14a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *14c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *14e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *15a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *15c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *15e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *16a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *16c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *16e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *17a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *17c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *17e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *18a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *18c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *18e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *19a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *19c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *19e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *1fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *20a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *20c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *20e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *21a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *21c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *21e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *22a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *22c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *22e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *23a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *23c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *23e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *24a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *24c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *24e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *25a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *25c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *25e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *26a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *26c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *26e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *27a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *27c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *27e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *28a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *28c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *28e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *29a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *29c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *29e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *2fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *30a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *30c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *30e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *31a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *31c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *31e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *32a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *32c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *32e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *33a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *33c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *33e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *34a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *34c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *34e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *35a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *35c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *35e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *36a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *36c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *36e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *37a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *37c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *37e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *38a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *38c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *38e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *39a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *39c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *39e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *3fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *40a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *40c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *40e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *41a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *41c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *41e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *42a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *42c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *42e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *43a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *43c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *43e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *44a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *44c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *44e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *45a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *45c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *45e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *46a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *46c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *46e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *47a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *47c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *47e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *48a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *48c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *48e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *49a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *49c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *49e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *4fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *50a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *50c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *50e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *51a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *51c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *51e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *52a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *52c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *52e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *53a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *53c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *53e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *54a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *54c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *54e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *55a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *55c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *55e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *56a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *56c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *56e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *57a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *57c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *57e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *58a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *58c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *58e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *59a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *59c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *59e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *5fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *60a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *60c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *60e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *61a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *61c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *61e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *62a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *62c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *62e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *63a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *63c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *63e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *64a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *64c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *64e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *65a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *65c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *65e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *66a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *66c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *66e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *67a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *67c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *67e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *68a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *68c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *68e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *69a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *69c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *69e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *6fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *70a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *70c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *70e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *71a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *71c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *71e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *72a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *72c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *72e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *73a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *73c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *73e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *74a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *74c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *74e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *75a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *75c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *75e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *76a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *76c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *76e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *77a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *77c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *77e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *78a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *78c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *78e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *79a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *79c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *79e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7de0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7e00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7e20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7e40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7e60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7e80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ea0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ec0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7ee0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7f00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7f20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7f40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7f60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7f80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7fa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7fc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *7fe0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8000:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8020:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8040:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8060:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8080:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *80a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *80c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *80e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8100:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8120:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8140:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8160:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8180:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *81a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *81c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *81e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8200:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8220:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8240:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8260:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8280:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *82a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *82c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *82e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8300:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8320:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8340:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8360:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8380:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *83a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *83c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *83e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8400:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8420:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8440:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8460:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8480:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *84a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *84c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *84e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8500:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8520:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8540:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8560:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8580:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *85a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *85c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *85e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8600:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8620:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8640:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8660:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8680:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *86a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *86c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *86e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8700:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8720:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8740:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8760:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8780:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *87a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *87c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *87e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8800:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8820:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8840:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8860:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8880:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *88a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *88c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *88e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8900:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8920:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8940:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8960:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8980:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *89a0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *89c0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *89e0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8a00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8a20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8a40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8a60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8a80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8aa0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8ac0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8ae0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8b00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8b20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8b40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8b60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8b80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8ba0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8bc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8be0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8c00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8c20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8c40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8c60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8c80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8ca0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8cc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8ce0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8d00:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8d20:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8d40:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8d60:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8d80:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8da0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ +#... + *8dc0:\s+([0-9a-f][0-9a-f] )+\s+[a-z].+ diff --git a/gas/testsuite/gas/i386/x86-64-bundle.s b/gas/testsuite/gas/i386/x86-64-bundle.s new file mode 100644 index 0000000000..8272f046fe --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-bundle.s @@ -0,0 +1,162 @@ + .bundle_align_mode 5 + +# We use these macros to test each pattern at every offset from +# bundle alignment, i.e. [0,31]. + +.macro offset_insn insn_name, offset + .p2align 5 +\insn_name\()_offset_\offset\(): + .if \offset + .space \offset, 0xf4 + .endif + \insn_name +.endm + +.macro test_offsets insn_name + offset_insn \insn_name, 0 + offset_insn \insn_name, 1 + offset_insn \insn_name, 2 + offset_insn \insn_name, 3 + offset_insn \insn_name, 4 + offset_insn \insn_name, 5 + offset_insn \insn_name, 6 + offset_insn \insn_name, 7 + offset_insn \insn_name, 8 + offset_insn \insn_name, 9 + offset_insn \insn_name, 10 + offset_insn \insn_name, 11 + offset_insn \insn_name, 12 + offset_insn \insn_name, 13 + offset_insn \insn_name, 14 + offset_insn \insn_name, 15 + offset_insn \insn_name, 16 + offset_insn \insn_name, 17 + offset_insn \insn_name, 18 + offset_insn \insn_name, 19 + offset_insn \insn_name, 20 + offset_insn \insn_name, 21 + offset_insn \insn_name, 22 + offset_insn \insn_name, 23 + offset_insn \insn_name, 24 + offset_insn \insn_name, 25 + offset_insn \insn_name, 26 + offset_insn \insn_name, 27 + offset_insn \insn_name, 28 + offset_insn \insn_name, 29 + offset_insn \insn_name, 30 + offset_insn \insn_name, 31 +.endm + +# These are vanilla (non-relaxed) instructions of each length. +.macro test_1 + clc +.endm +.macro test_2 + add %eax,%eax +.endm +.macro test_3 + and $3,%eax +.endm +.macro test_4 + lock and $3,(%rax) +.endm +.macro test_5 + mov $0x11223344,%eax +.endm +.macro test_6 + movl %eax,0x11223344(%rsi) +.endm +.macro test_7 + movl $0x11223344,0x7f(%rsi) +.endm +.macro test_8 + lock addl $0x11223344,0x10(%rsi) +.endm +.macro test_9 + lock addl $0x11223344,%fs:0x10(%rsi) +.endm +.macro test_10 + movl $0x11223344,0x7ff(%rsi) +.endm +.macro test_11 + lock addl $0x11223344,0x7ff(%rsi) +.endm +.macro test_12 + lock addl $0x11223344,%fs:0x7ff(%rsi) +.endm +.macro test_13 + lock addl $0x11223344,%fs:0x7ff(%r11) +.endm + +test_offsets test_1 +test_offsets test_2 +test_offsets test_3 +test_offsets test_4 +test_offsets test_5 +test_offsets test_6 +test_offsets test_7 +test_offsets test_8 +test_offsets test_9 +test_offsets test_10 +test_offsets test_11 +test_offsets test_12 +test_offsets test_13 + +# The only relaxation cases are the jump instructions. +# For each of the three flavors of jump (unconditional, conditional, +# and conditional with prediction), we test a case that can be relaxed +# to its shortest form, and one that must use the long form. +.macro jmp_2 + jmp jmp_2_\@ + movl $0xdeadbeef,%eax +jmp_2_\@\(): + movl $0xb00b,%eax +.endm +.macro jmp_5 + jmp jmp_5_\@ + .rept 128 + clc + .endr +jmp_5_\@\(): + movl $0xb00b,%eax +.endm + +.macro cjmp_2 + jz cjmp_2_\@ + movl $0xdeadbeef,%eax +cjmp_2_\@\(): + movl $0xb00b,%eax +.endm +.macro cjmp_6 + jz cjmp_6_\@ + .rept 128 + clc + .endr +cjmp_6_\@\(): + movl $0xb00b,%eax +.endm + +.macro pjmp_3 + jz,pt pjmp_3_\@ + movl $0xdeadbeef,%eax +pjmp_3_\@\(): + movl $0xb00b,%eax +.endm +.macro pjmp_7 + jz,pt pjmp_7_\@ + .rept 128 + clc + .endr +pjmp_7_\@\(): + movl $0xb00b,%eax +.endm + +test_offsets jmp_2 +test_offsets cjmp_2 +test_offsets pjmp_3 +test_offsets jmp_5 +test_offsets cjmp_6 +test_offsets pjmp_7 + +.p2align 5 + hlt