public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Another reload problem/bug on powerpc-apple-darwin6.6
@ 2003-09-08  1:07 Andrew Pinski
  2003-09-09  1:16 ` Jim Wilson
  0 siblings, 1 reply; 2+ messages in thread
From: Andrew Pinski @ 2003-09-08  1:07 UTC (permalink / raw)
  To: gcc; +Cc: Andrew Pinski, apinski, Geoff Keating

[-- Attachment #1: Type: text/plain, Size: 397 bytes --]

Here is another reload problem on powerpc-apple-darwin6.6 at -O2 (after 
unit-at-a-time was turned on at -O2), this is the source of 
libiberty/regex.c.
The problem is reload wants to put the external symbol 
_CurrentRuneLocale
in a constant label, LC29, but on Darwin this not allowed with shared 
libraries.
I cannot figure out how to fix this one.


Thanks,
Andrew Pinski

Preprocessed source:

[-- Attachment #2: temp.i --]
[-- Type: application/octet-stream, Size: 134706 bytes --]

# 1 "../../libiberty/regex.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "../../libiberty/regex.c"
# 53 "../../libiberty/regex.c"
# 1 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 1 3 4
# 75 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 3 4
# 1 "/usr/include/sys/appleapiopts.h" 1 3 4
# 76 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 2 3 4


# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 79 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 2 3 4


# 1 "/usr/include/machine/types.h" 1 3 4
# 30 "/usr/include/machine/types.h" 3 4
# 1 "/usr/include/ppc/types.h" 1 3 4
# 69 "/usr/include/ppc/types.h" 3 4
typedef signed char int8_t;
typedef unsigned char u_int8_t;
typedef short int16_t;
typedef unsigned short u_int16_t;
typedef int int32_t;
typedef unsigned int u_int32_t;
typedef long long int64_t;
typedef unsigned long long u_int64_t;

typedef int32_t register_t;

typedef long int intptr_t;
typedef unsigned long int uintptr_t;
# 31 "/usr/include/machine/types.h" 2 3 4
# 82 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 2 3 4

# 1 "/usr/include/machine/ansi.h" 1 3 4
# 33 "/usr/include/machine/ansi.h" 3 4
# 1 "/usr/include/ppc/ansi.h" 1 3 4
# 92 "/usr/include/ppc/ansi.h" 3 4
typedef union {
 char __mbstate8[128];
 long long _mbstateL;
} __mbstate_t;
# 34 "/usr/include/machine/ansi.h" 2 3 4
# 84 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 2 3 4
# 1 "/usr/include/machine/endian.h" 1 3 4
# 30 "/usr/include/machine/endian.h" 3 4
# 1 "/usr/include/ppc/endian.h" 1 3 4
# 81 "/usr/include/ppc/endian.h" 3 4

unsigned long htonl (unsigned long);
unsigned short htons (unsigned short);
unsigned long ntohl (unsigned long);
unsigned short ntohs (unsigned short);

# 31 "/usr/include/machine/endian.h" 2 3 4
# 85 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 2 3 4


typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned short ushort;
typedef unsigned int uint;


typedef u_int64_t u_quad_t;
typedef int64_t quad_t;
typedef quad_t * qaddr_t;

typedef char * caddr_t;
typedef int32_t daddr_t;
typedef int32_t dev_t;
typedef u_int32_t fixpt_t;
typedef u_int32_t gid_t;
typedef u_int32_t in_addr_t;
typedef u_int16_t in_port_t;
typedef u_int32_t ino_t;
typedef long key_t;
typedef u_int16_t mode_t;
typedef u_int16_t nlink_t;
typedef quad_t off_t;
typedef int32_t pid_t;
typedef quad_t rlim_t;
typedef int32_t segsz_t;
typedef int32_t swblk_t;
typedef u_int32_t uid_t;
# 126 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 3 4
typedef unsigned long clock_t;






typedef long unsigned int size_t;






typedef int ssize_t;




typedef long time_t;
# 159 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 3 4
typedef int32_t fd_mask;






typedef struct fd_set {
 fd_mask fds_bits[(((1024) + (((sizeof(fd_mask) * 8)) - 1)) / ((sizeof(fd_mask) * 8)))];
} fd_set;
# 195 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 3 4
struct _pthread_handler_rec
{
 void (*routine)(void *);
 void *arg;
 struct _pthread_handler_rec *next;
};
# 215 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 3 4
typedef struct _opaque_pthread_t { long sig; struct _pthread_handler_rec *cleanup_stack; char opaque[596];} *pthread_t;

typedef struct _opaque_pthread_attr_t { long sig; char opaque[36]; } pthread_attr_t;

typedef struct _opaque_pthread_mutexattr_t { long sig; char opaque[8]; } pthread_mutexattr_t;

typedef struct _opaque_pthread_mutex_t { long sig; char opaque[40]; } pthread_mutex_t;

typedef struct _opaque_pthread_condattr_t { long sig; char opaque[4]; } pthread_condattr_t;

typedef struct _opaque_pthread_cond_t { long sig; char opaque[24]; } pthread_cond_t;

typedef struct _opaque_pthread_rwlockattr_t { long sig; char opaque[12]; } pthread_rwlockattr_t;

typedef struct _opaque_pthread_rwlock_t { long sig; char opaque[124]; } pthread_rwlock_t;

typedef struct { long sig; char opaque[4]; } pthread_once_t;



typedef unsigned long pthread_key_t;
# 54 "../../libiberty/regex.c" 2
# 132 "../../libiberty/regex.c"
char *malloc ();
char *realloc ();
# 160 "../../libiberty/regex.c"
# 1 "/usr/include/strings.h" 1 3 4
# 57 "/usr/include/strings.h" 3 4
# 1 "/usr/include/string.h" 1 3 4
# 72 "/usr/include/string.h" 3 4

void *memchr (const void *, int, size_t);
int memcmp (const void *, const void *, size_t);
void *memcpy (void *, const void *, size_t);
void *memmove (void *, const void *, size_t);
void *memset (void *, int, size_t);
char *strcat (char *, const char *);
char *strchr (const char *, int);
int strcmp (const char *, const char *);
int strcoll (const char *, const char *);
char *strcpy (char *, const char *);
size_t strcspn (const char *, const char *);
char *strerror (int);
size_t strlen (const char *);
char *strncat (char *, const char *, size_t);
int strncmp (const char *, const char *, size_t);
char *strncpy (char *, const char *, size_t);
char *strpbrk (const char *, const char *);
char *strrchr (const char *, int);
size_t strspn (const char *, const char *);
char *strstr (const char *, const char *);
char *strtok (char *, const char *);
size_t strxfrm (char *, const char *, size_t);



int bcmp (const void *, const void *, size_t);
void bcopy (const void *, void *, size_t);
void bzero (void *, size_t);
int ffs (int);
char *index (const char *, int);
void *memccpy (void *, const void *, int, size_t);
char *rindex (const char *, int);
int strcasecmp (const char *, const char *);
char *strdup (const char *);
size_t strlcat (char *, const char *, size_t);
size_t strlcpy (char *, const char *, size_t);
void strmode (int, char *);
int strncasecmp (const char *, const char *, size_t);
char *strsep (char **, const char *);
char *strtok_r (char *, const char *, char **);
void swab (const void *, void *, size_t);


# 58 "/usr/include/strings.h" 2 3 4
# 161 "../../libiberty/regex.c" 2
# 195 "../../libiberty/regex.c"
# 1 "../../include/xregex.h" 1
# 26 "../../include/xregex.h"
# 1 "../../include/xregex2.h" 1
# 43 "../../include/xregex2.h"
typedef long int s_reg_t;
typedef unsigned long int active_reg_t;






typedef unsigned long int reg_syntax_t;
# 171 "../../include/xregex2.h"
extern reg_syntax_t xre_syntax_options;
# 288 "../../include/xregex2.h"
typedef enum
{




  REG_NOERROR = 0,
  REG_NOMATCH,



  REG_BADPAT,
  REG_ECOLLATE,
  REG_ECTYPE,
  REG_EESCAPE,
  REG_ESUBREG,
  REG_EBRACK,
  REG_EPAREN,
  REG_EBRACE,
  REG_BADBR,
  REG_ERANGE,
  REG_ESPACE,
  REG_BADRPT,


  REG_EEND,
  REG_ESIZE,
  REG_ERPAREN
} reg_errcode_t;
# 328 "../../include/xregex2.h"
struct re_pattern_buffer
{




  unsigned char *buffer;


  unsigned long int allocated;


  unsigned long int used;


  reg_syntax_t syntax;




  char *fastmap;





  char * translate;


  size_t re_nsub;






  unsigned can_be_null : 1;
# 373 "../../include/xregex2.h"
  unsigned regs_allocated : 2;



  unsigned fastmap_accurate : 1;



  unsigned no_sub : 1;



  unsigned not_bol : 1;


  unsigned not_eol : 1;


  unsigned newline_anchor : 1;


};

typedef struct re_pattern_buffer regex_t;


typedef int regoff_t;




struct re_registers
{
  unsigned num_regs;
  regoff_t *start;
  regoff_t *end;
};
# 423 "../../include/xregex2.h"
typedef struct
{
  regoff_t rm_so;
  regoff_t rm_eo;
} regmatch_t;
# 449 "../../include/xregex2.h"
extern reg_syntax_t xre_set_syntax (reg_syntax_t syntax);




extern const char *xre_compile_pattern
 
             (const char *pattern, size_t length, struct re_pattern_buffer *buffer);





extern int xre_compile_fastmap (struct re_pattern_buffer *buffer);







extern int xre_search
 
            (struct re_pattern_buffer *buffer, const char *string, int length, int start, int range, struct re_registers *regs);




extern int xre_search_2
 
            
             (struct re_pattern_buffer *buffer, const char *string1, int length1, const char *string2, int length2, int start, int range, struct re_registers *regs, int stop);




extern int xre_match
 
             (struct re_pattern_buffer *buffer, const char *string, int length, int start, struct re_registers *regs);



extern int xre_match_2
 
            
             (struct re_pattern_buffer *buffer, const char *string1, int length1, const char *string2, int length2, int start, struct re_registers *regs, int stop);
# 509 "../../include/xregex2.h"
extern void xre_set_registers
 
             (struct re_pattern_buffer *buffer, struct re_registers *regs, unsigned num_regs, regoff_t *starts, regoff_t *ends);




extern char *xre_comp (const char *);
extern int xre_exec (const char *);
# 544 "../../include/xregex2.h"
extern int xregcomp
        
         (regex_t *__restrict __preg, const char *__restrict __pattern, int __cflags);

extern int xregexec
        
        
         (const regex_t *__restrict __preg, const char *__restrict __string, size_t __nmatch, regmatch_t __pmatch[__restrict], int __eflags);

extern size_t xregerror
      (int __errcode, const regex_t *__preg, char *__errbuf, size_t __errbuf_size);

extern void xregfree (regex_t *__preg);
# 27 "../../include/xregex.h" 2
# 196 "../../libiberty/regex.c" 2


# 1 "/usr/include/ctype.h" 1 3 4
# 68 "/usr/include/ctype.h" 3 4
# 1 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/runetype.h" 1 3 4
# 56 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/runetype.h" 3 4
typedef int rune_t;
# 67 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/runetype.h" 3 4
typedef int wchar_t;
# 77 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/runetype.h" 3 4
typedef struct {
 rune_t min;
 rune_t max;
 rune_t map;
 unsigned long *types;
} _RuneEntry;

typedef struct {
 int nranges;
 _RuneEntry *ranges;
} _RuneRange;

typedef struct {
 char magic[8];
 char encoding[32];

 rune_t (*sgetrune)
     (const char *, size_t, char const **);
 int (*sputrune)
     (rune_t, char *, size_t, char **);
 rune_t invalid_rune;

 unsigned long runetype[(1 <<8 )];
 rune_t maplower[(1 <<8 )];
 rune_t mapupper[(1 <<8 )];






 _RuneRange runetype_ext;
 _RuneRange maplower_ext;
 _RuneRange mapupper_ext;

 void *variable;
 int variable_len;
} _RuneLocale;



extern _RuneLocale _DefaultRuneLocale;
extern _RuneLocale *_CurrentRuneLocale;
# 69 "/usr/include/ctype.h" 2 3 4
# 100 "/usr/include/ctype.h" 3 4

int isalnum (int);
int isalpha (int);
int iscntrl (int);
int isdigit (int);
int isgraph (int);
int islower (int);
int isprint (int);
int ispunct (int);
int isspace (int);
int isupper (int);
int isxdigit (int);
int tolower (int);
int toupper (int);


int digittoint (int);
int isascii (int);
int isblank (int);
int ishexnumber (int);
int isideogram (int);
int isnumber (int);
int isphonogram (int);
int isrune (int);
int isspecial (int);
int toascii (int);


# 158 "/usr/include/ctype.h" 3 4

unsigned long ___runetype (int);
int ___tolower (int);
int ___toupper (int);

# 180 "/usr/include/ctype.h" 3 4
static __inline int
__maskrune(int _c, unsigned long _f)
{
 return ((_c < 0 || _c >= (1 <<8 )) ? ___runetype(_c) :
  _CurrentRuneLocale->runetype[_c]) & _f;
}

static __inline int
__istype(int c, unsigned long f)
{
 return !!(__maskrune(c, f));
}

static __inline int
__isctype(int _c, unsigned long _f)
{
 return (_c < 0 || _c >= (1 <<8 )) ? 0 :
  !!(_DefaultRuneLocale.runetype[_c] & _f);
}

static __inline int
__toupper(int _c)
{
 return (_c < 0 || _c >= (1 <<8 )) ? ___toupper(_c) :
  _CurrentRuneLocale->mapupper[_c];
}

static __inline int
__tolower(int _c)
{
 return (_c < 0 || _c >= (1 <<8 )) ? ___tolower(_c) :
  _CurrentRuneLocale->maplower[_c];
}
# 199 "../../libiberty/regex.c" 2
# 274 "../../libiberty/regex.c"
static char re_syntax_table[256];

static void init_syntax_once (void);

static void
init_syntax_once ()
{
   register int c;
   static int done = 0;

   if (done)
     return;
   bzero (re_syntax_table, sizeof re_syntax_table);

   for (c = 0; c < 256; ++c)
     if ((((c & ~0x7F) == 0) && __istype((c), (0x00000100L|0x00000400L))))
 re_syntax_table[c] = 1;

   re_syntax_table['_'] = 1;

   done = 1;
}
# 305 "../../libiberty/regex.c"
typedef unsigned long int uintptr_t;
# 406 "../../libiberty/regex.c"
typedef char boolean;



static reg_errcode_t byte_regex_compile
                                                  
                                                   (const char *pattern, size_t size, reg_syntax_t syntax, struct re_pattern_buffer *bufp);

static int byte_re_match_2_internal
         
         
         
         
          (struct re_pattern_buffer *bufp, const char *string1, int size1, const char *string2, int size2, int pos, struct re_registers *regs, int stop);
static int byte_re_search_2
        
        
        
         (struct re_pattern_buffer *bufp, const char *string1, int size1, const char *string2, int size2, int startpos, int range, struct re_registers *regs, int stop);
static int byte_re_compile_fastmap (struct re_pattern_buffer *bufp);
# 455 "../../libiberty/regex.c"
typedef enum
{
  no_op = 0,


  succeed,


  exactn,







  anychar,
# 486 "../../libiberty/regex.c"
  charset,



  charset_not,
# 499 "../../libiberty/regex.c"
  start_memory,
# 508 "../../libiberty/regex.c"
  stop_memory,



  duplicate,


  begline,


  endline,



  begbuf,


  endbuf,


  jump,


  jump_past_alt,




  on_failure_jump,



  on_failure_keep_string_jump,




  pop_failure_jump,
# 555 "../../libiberty/regex.c"
  maybe_pop_jump,







  dummy_failure_jump,



  push_dummy_failure,




  succeed_n,




  jump_n,





  set_number_at,

  wordchar,
  notwordchar,

  wordbeg,
  wordend,

  wordbound,
  notwordbound
# 606 "../../libiberty/regex.c"
} re_opcode_t;
# 649 "../../libiberty/regex.c"
# 1 "../../libiberty/regex.c" 1
# 1489 "../../libiberty/regex.c"
int xre_max_failures = 4000;





union byte_fail_stack_elt
{
  unsigned char *pointer;
  int integer;
};

typedef union byte_fail_stack_elt byte_fail_stack_elt_t;

typedef struct
{
  byte_fail_stack_elt_t *stack;
  unsigned size;
  unsigned avail;
} byte_fail_stack_type;
# 1824 "../../libiberty/regex.c"
typedef union
{
  byte_fail_stack_elt_t word;
  struct
  {



    unsigned match_null_string_p : 2;
    unsigned is_active : 1;
    unsigned matched_something : 1;
    unsigned ever_matched_something : 1;
  } bits;
} byte_register_info_type;
# 1868 "../../libiberty/regex.c"
static char byte_reg_unset_dummy;




static void byte_store_op1 (re_opcode_t op, unsigned char *loc, int arg);
static void byte_store_op2
     (re_opcode_t op, unsigned char *loc, int arg1, int arg2);
static void byte_insert_op1
      (re_opcode_t op, unsigned char *loc, int arg, unsigned char *end);
static void byte_insert_op2
      (re_opcode_t op, unsigned char *loc, int arg1, int arg2, unsigned char *end);
static boolean byte_at_begline_loc_p
       
        (const char *pattern, const char *p, reg_syntax_t syntax);
static boolean byte_at_endline_loc_p
       
        (const char *p, const char *pend, reg_syntax_t syntax);
# 1896 "../../libiberty/regex.c"
static reg_errcode_t byte_compile_range
        
        
        
        
         (unsigned int range_start, const char **p_ptr, const char *pend, char *translate, reg_syntax_t syntax, unsigned char *b);
# 2137 "../../libiberty/regex.c"
typedef unsigned regnum_t;







typedef long pattern_offset_t;

typedef struct
{
  pattern_offset_t begalt_offset;
  pattern_offset_t fixup_alt_jump;
  pattern_offset_t inner_group_offset;
  pattern_offset_t laststart_offset;
  regnum_t regnum;
} compile_stack_elt_t;


typedef struct
{
  compile_stack_elt_t *stack;
  unsigned size;
  unsigned avail;
} compile_stack_type;
# 2281 "../../libiberty/regex.c"
static boolean group_in_compile_stack
      
       (compile_stack_type compile_stack, regnum_t regnum);
# 2313 "../../libiberty/regex.c"
static reg_errcode_t
byte_regex_compile (pattern, size, syntax, bufp)
     const char *pattern;
     size_t size;
     reg_syntax_t syntax;
     struct re_pattern_buffer *bufp;
{



  register unsigned char c, c1;
# 2338 "../../libiberty/regex.c"
  const char *p1;


  register unsigned char *b;


  compile_stack_type compile_stack;






  const char *p = pattern;
  const char *pend = pattern + size;



  char * translate = bufp->translate;





  unsigned char *pending_exact = 0;




  unsigned char *laststart = 0;


  unsigned char *begalt;




  unsigned char *fixup_alt_jump = 0;




  regnum_t regnum = 0;
# 2419 "../../libiberty/regex.c"
  compile_stack.stack = ((compile_stack_elt_t *) malloc ((32) * sizeof (compile_stack_elt_t)));
  if (compile_stack.stack == 0)
    {





      return REG_ESPACE;
    }

  compile_stack.size = 32;
  compile_stack.avail = 0;


  bufp->syntax = syntax;
  bufp->fastmap_accurate = 0;
  bufp->not_bol = bufp->not_eol = 0;




  bufp->used = 0;


  bufp->re_nsub = 0;



   init_syntax_once ();


  if (bufp->allocated == 0)
    {
      if (bufp->buffer)
 {
# 2464 "../../libiberty/regex.c"
          ((bufp->buffer) = (unsigned char *) realloc (bufp->buffer, ((32 * sizeof(unsigned char))) * sizeof (unsigned char)));

        }
      else
        {
          bufp->buffer =
     ((unsigned char *) malloc (((32 * sizeof(unsigned char)) / sizeof(unsigned char)) * sizeof (unsigned char)));
        }

      if (!bufp->buffer) return (free (compile_stack.stack), REG_ESPACE);



      bufp->allocated = (32 * sizeof(unsigned char));
    }





  begalt = b = bufp->buffer;


  while (p != pend)
    {
      do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);

      switch (c)
        {
        case '^':
          {
            if (
                   p == pattern + 1

                || syntax & (((((unsigned long int) 1) << 1) << 1) << 1)

                || byte_at_begline_loc_p (pattern, p, syntax))
              do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (begline); } while (0);
            else
              goto normal_char;
          }
          break;


        case '$':
          {
            if (
                   p == pend

                || syntax & (((((unsigned long int) 1) << 1) << 1) << 1)

                || byte_at_endline_loc_p (p, pend, syntax))
               do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (endline); } while (0);
             else
               goto normal_char;
           }
           break;


 case '+':
        case '?':
          if ((syntax & (((unsigned long int) 1) << 1))
              || (syntax & ((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)))
            goto normal_char;
        handle_plus:
        case '*':

          if (!laststart)
            {
              if (syntax & (((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1))
                return (free (compile_stack.stack), REG_BADRPT);
              else if (!(syntax & ((((((unsigned long int) 1) << 1) << 1) << 1) << 1)))
                goto normal_char;
            }

          {

            boolean keep_string_p = 0;


            char zero_times_ok = 0, many_times_ok = 0;






            for (;;)
              {
                zero_times_ok |= c != '+';
                many_times_ok |= c != '?';

                if (p == pend)
                  break;

                do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);

                if (c == '*'
                    || (!(syntax & (((unsigned long int) 1) << 1)) && (c == '+' || c == '?')))
                  ;

                else if (syntax & (((unsigned long int) 1) << 1) && c == '\\')
                  {
                    if (p == pend) return (free (compile_stack.stack), REG_EESCAPE);

                    do {if (p == pend) return REG_EEND; c1 = (unsigned char) *p++; if (translate) c1 = (unsigned char) translate[c1]; } while (0);
                    if (!(c1 == '+' || c1 == '?'))
                      {
                        p--;
                        p--;
                        break;
                      }

                    c = c1;
                  }
                else
                  {
                    p--;
                    break;
                  }


               }



            if (!laststart)
              break;



            if (many_times_ok)
              {
# 2606 "../../libiberty/regex.c"
                ;


                while ((unsigned long) (b - bufp->buffer + (1 + 2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);






                if ((translate ? (char) translate[(unsigned char) (*(p - 2))] : (*(p - 2))) == (translate ? (char) translate[(unsigned char) ('.')] : ('.'))
      && zero_times_ok
                    && p < pend && (translate ? (char) translate[(unsigned char) (*p)] : (*p)) == (translate ? (char) translate[(unsigned char) ('\n')] : ('\n'))
                    && !(syntax & ((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1)))
                  {
                    byte_store_op1 (jump, b, (int) ((laststart) - (b) - (1 + 2)));
                    keep_string_p = 1;
                  }
                else

                 
         byte_store_op1 (maybe_pop_jump, b, (int) ((laststart - (1 + 2)) - (b) - (1 + 2)));


                b += 1 + 2;
              }





            while ((unsigned long) (b - bufp->buffer + (1 + 2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);
           
                                      
                         byte_insert_op1 (keep_string_p ? on_failure_keep_string_jump : on_failure_jump, laststart, (int) ((b + 1 + 2) - (laststart) - (1 + 2)), b);
            pending_exact = 0;
            b += 1 + 2;

            if (!zero_times_ok)
              {





                while ((unsigned long) (b - bufp->buffer + (1 + 2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);
               
        byte_insert_op1 (dummy_failure_jump, laststart, (int) ((laststart + 2 + 2 * 2) - (laststart) - (1 + 2)), b);
                b += 1 + 2;
              }
            }
   break;


 case '.':
          laststart = b;
          do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (anychar); } while (0);
          break;


        case '[':
          {
            boolean had_char_class = 0;



     unsigned int range_start = 0xffffffff;

            if (p == pend) return (free (compile_stack.stack), REG_EBRACK);
# 3141 "../../libiberty/regex.c"
     while ((unsigned long) (b - bufp->buffer + (34)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);

            laststart = b;



            do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (*p == '^' ? charset_not : charset); } while (0);
            if (*p == '^')
              p++;


            p1 = p;


            do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) ((1 << 8) / 8); } while (0);


            bzero (b, (1 << 8) / 8);


            if ((re_opcode_t) b[-2] == charset_not
                && (syntax & ((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)))
              (b[((unsigned char) ('\n')) / 8] |= 1 << (((unsigned char) '\n') % 8));


            for (;;)
              {
                if (p == pend) return (free (compile_stack.stack), REG_EBRACK);

                do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);


                if ((syntax & ((unsigned long int) 1)) && c == '\\')
                  {
                    if (p == pend) return (free (compile_stack.stack), REG_EESCAPE);

                    do {if (p == pend) return REG_EEND; c1 = (unsigned char) *p++; if (translate) c1 = (unsigned char) translate[c1]; } while (0);
                    (b[((unsigned char) (c1)) / 8] |= 1 << (((unsigned char) c1) % 8));
      range_start = c1;
                    continue;
                  }




                if (c == ']' && p != p1 + 1)
                  break;



                if (had_char_class && c == '-' && *p != ']')
                  return (free (compile_stack.stack), REG_ERANGE);





                if (c == '-'
                    && !(p - 2 >= pattern && p[-2] == '[')
                    && !(p - 3 >= pattern && p[-3] == '[' && p[-2] == '^')
                    && *p != ']')
                  {
                    reg_errcode_t ret
                      = byte_compile_range (range_start, &p, pend, translate,
         syntax, b);
                    if (ret != REG_NOERROR) return (free (compile_stack.stack), ret);
      range_start = 0xffffffff;
                  }

                else if (p[0] == '-' && p[1] != ']')
                  {
                    reg_errcode_t ret;


                    do {if (p == pend) return REG_EEND; c1 = (unsigned char) *p++; if (translate) c1 = (unsigned char) translate[c1]; } while (0);

                    ret = byte_compile_range (c, &p, pend, translate, syntax, b);
                    if (ret != REG_NOERROR) return (free (compile_stack.stack), ret);
      range_start = 0xffffffff;
                  }




                else if (syntax & ((((unsigned long int) 1) << 1) << 1) && c == '[' && *p == ':')
                  {
                    char str[6 + 1];

                    do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
                    c1 = 0;


                    if (p == pend) return (free (compile_stack.stack), REG_EBRACK);

                    for (;;)
                      {
                        do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
                        if ((c == ':' && *p == ']') || p == pend)
                          break;
   if (c1 < 6)
     str[c1++] = c;
   else

     str[0] = '\0';
                      }
                    str[c1] = '\0';




                    if (c == ':' && *p == ']')
                      {
# 3286 "../../libiberty/regex.c"
                        int ch;
                        boolean is_alnum = ((strcmp (str, "alnum") == 0));
                        boolean is_alpha = ((strcmp (str, "alpha") == 0));
                        boolean is_blank = ((strcmp (str, "blank") == 0));
                        boolean is_cntrl = ((strcmp (str, "cntrl") == 0));
                        boolean is_digit = ((strcmp (str, "digit") == 0));
                        boolean is_graph = ((strcmp (str, "graph") == 0));
                        boolean is_lower = ((strcmp (str, "lower") == 0));
                        boolean is_print = ((strcmp (str, "print") == 0));
                        boolean is_punct = ((strcmp (str, "punct") == 0));
                        boolean is_space = ((strcmp (str, "space") == 0));
                        boolean is_upper = ((strcmp (str, "upper") == 0));
                        boolean is_xdigit = ((strcmp (str, "xdigit") == 0));

                        if (!(((strcmp (str, "alpha") == 0)) || ((strcmp (str, "upper") == 0)) || ((strcmp (str, "lower") == 0)) || ((strcmp (str, "digit") == 0)) || ((strcmp (str, "alnum") == 0)) || ((strcmp (str, "xdigit") == 0)) || ((strcmp (str, "space") == 0)) || ((strcmp (str, "print") == 0)) || ((strcmp (str, "punct") == 0)) || ((strcmp (str, "graph") == 0)) || ((strcmp (str, "cntrl") == 0)) || ((strcmp (str, "blank") == 0))))
     return (free (compile_stack.stack), REG_ECTYPE);



                        do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);

                        if (p == pend) return (free (compile_stack.stack), REG_EBRACK);

                        for (ch = 0; ch < 1 << 8; ch++)
                          {


                            if ( (is_alnum && (((ch & ~0x7F) == 0) && __istype((ch), (0x00000100L|0x00000400L))))
                                || (is_alpha && (((ch & ~0x7F) == 0) && __istype((ch), 0x00000100L)))
                                || (is_blank && (((ch & ~0x7F) == 0) && __istype((ch), 0x00020000L)))
                                || (is_cntrl && (((ch & ~0x7F) == 0) && __istype((ch), 0x00000200L))))
         (b[((unsigned char) (ch)) / 8] |= 1 << (((unsigned char) ch) % 8));
       if ( (is_digit && (((ch & ~0x7F) == 0) && __isctype((ch), 0x00000400L)))
                                || (is_graph && (((ch & ~0x7F) == 0) && __istype((ch), 0x00000800L)))
                                || (is_lower && (((ch & ~0x7F) == 0) && __istype((ch), 0x00001000L)))
                                || (is_print && (((ch & ~0x7F) == 0) && __istype((ch), 0x00040000L))))
         (b[((unsigned char) (ch)) / 8] |= 1 << (((unsigned char) ch) % 8));
       if ( (is_punct && (((ch & ~0x7F) == 0) && __istype((ch), 0x00002000L)))
                                || (is_space && (((ch & ~0x7F) == 0) && __istype((ch), 0x00004000L)))
                                || (is_upper && (((ch & ~0x7F) == 0) && __istype((ch), 0x00008000L)))
                                || (is_xdigit && (((ch & ~0x7F) == 0) && __isctype((ch), 0x00010000L))))
         (b[((unsigned char) (ch)) / 8] |= 1 << (((unsigned char) ch) % 8));
       if ( translate && (is_upper || is_lower)
    && ((((ch & ~0x7F) == 0) && __istype((ch), 0x00008000L)) || (((ch & ~0x7F) == 0) && __istype((ch), 0x00001000L))))
         (b[((unsigned char) (ch)) / 8] |= 1 << (((unsigned char) ch) % 8));
                          }
                        had_char_class = 1;

                      }
                    else
                      {
                        c1++;
                        while (c1--)
                          p--;
                        (b[((unsigned char) ('[')) / 8] |= 1 << (((unsigned char) '[') % 8));
                        (b[((unsigned char) (':')) / 8] |= 1 << (((unsigned char) ':') % 8));
   range_start = ':';
                        had_char_class = 0;
                      }
                  }
                else if (syntax & ((((unsigned long int) 1) << 1) << 1) && c == '[' && *p == '=')
    {
      unsigned char str[1 + 1];





      do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
      c1 = 0;


      if (p == pend) return (free (compile_stack.stack), REG_EBRACK);

      for (;;)
        {
   do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
   if ((c == '=' && *p == ']') || p == pend)
     break;
   if (c1 < 1)
     str[c1++] = c;
   else

     str[0] = '\0';
                      }
      str[c1] = '\0';

      if (c == '=' && *p == ']' && str[0] != '\0')
        {
# 3384 "../../libiberty/regex.c"
     {
       if (c1 != 1)
         return (free (compile_stack.stack), REG_ECOLLATE);



       do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);


       (b[((unsigned char) (str[0])) / 8] |= 1 << (((unsigned char) str[0]) % 8));
     }
# 3467 "../../libiberty/regex.c"
   had_char_class = 1;
        }
                    else
                      {
                        c1++;
                        while (c1--)
                          p--;
                        (b[((unsigned char) ('[')) / 8] |= 1 << (((unsigned char) '[') % 8));
                        (b[((unsigned char) ('=')) / 8] |= 1 << (((unsigned char) '=') % 8));
   range_start = '=';
                        had_char_class = 0;
                      }
    }
                else if (syntax & ((((unsigned long int) 1) << 1) << 1) && c == '[' && *p == '.')
    {
      unsigned char str[128];





      do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
      c1 = 0;


      if (p == pend) return (free (compile_stack.stack), REG_EBRACK);

      for (;;)
        {
   do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
   if ((c == '.' && *p == ']') || p == pend)
     break;
   if (c1 < sizeof (str))
     str[c1++] = c;
   else

     str[0] = '\0';
                      }
      str[c1] = '\0';

      if (c == '.' && *p == ']' && str[0] != '\0')
        {
# 3519 "../../libiberty/regex.c"
     {
       if (c1 != 1)
         return (free (compile_stack.stack), REG_ECOLLATE);



       do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);


       (b[((unsigned char) (str[0])) / 8] |= 1 << (((unsigned char) str[0]) % 8));
       range_start = ((const unsigned char *) str)[0];
     }
# 3610 "../../libiberty/regex.c"
   had_char_class = 0;
        }
                    else
                      {
                        c1++;
                        while (c1--)
                          p--;
                        (b[((unsigned char) ('[')) / 8] |= 1 << (((unsigned char) '[') % 8));
                        (b[((unsigned char) ('.')) / 8] |= 1 << (((unsigned char) '.') % 8));
   range_start = '.';
                        had_char_class = 0;
                      }
    }
                else
                  {
                    had_char_class = 0;
                    (b[((unsigned char) (c)) / 8] |= 1 << (((unsigned char) c) % 8));
      range_start = c;
                  }
              }



            while ((int) b[-1] > 0 && b[b[-1] - 1] == 0)
              b[-1]--;
            b += b[-1];

          }
          break;


 case '(':
          if (syntax & (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
            goto handle_open;
          else
            goto normal_char;


        case ')':
          if (syntax & (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
            goto handle_close;
          else
            goto normal_char;


        case '\n':
          if (syntax & (((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
            goto handle_alt;
          else
            goto normal_char;


 case '|':
          if (syntax & (((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
            goto handle_alt;
          else
            goto normal_char;


        case '{':
           if (syntax & (((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) && syntax & ((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
             goto handle_interval;
           else
             goto normal_char;


        case '\\':
          if (p == pend) return (free (compile_stack.stack), REG_EESCAPE);




          do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; } while (0);

          switch (c)
            {
            case '(':
              if (syntax & (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
                goto normal_backslash;

            handle_open:
              bufp->re_nsub++;
              regnum++;

              if ((compile_stack.avail == compile_stack.size))
                {
                 
                            ((compile_stack.stack) = (compile_stack_elt_t *) realloc (compile_stack.stack, (compile_stack.size << 1) * sizeof (compile_stack_elt_t)));
                  if (compile_stack.stack == 0) return REG_ESPACE;

                  compile_stack.size <<= 1;
                }





              (compile_stack.stack[compile_stack.avail]).begalt_offset = begalt - bufp->buffer;
              (compile_stack.stack[compile_stack.avail]).fixup_alt_jump
                = fixup_alt_jump ? fixup_alt_jump - bufp->buffer + 1 : 0;
              (compile_stack.stack[compile_stack.avail]).laststart_offset = b - bufp->buffer;
              (compile_stack.stack[compile_stack.avail]).regnum = regnum;





              if (regnum <= 255)
                {
                  (compile_stack.stack[compile_stack.avail]).inner_group_offset = b
      - bufp->buffer + 2;
                  do { while ((unsigned long) (b - bufp->buffer + (3)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (start_memory); *b++ = (unsigned char) (regnum); *b++ = (unsigned char) (0); } while (0);
                }

              compile_stack.avail++;

              fixup_alt_jump = 0;
              laststart = 0;
              begalt = b;



       pending_exact = 0;
              break;


            case ')':
              if (syntax & (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)) goto normal_backslash;

              if ((compile_stack.avail == 0))
  {
    if (syntax & (((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
      goto normal_backslash;
    else
      return (free (compile_stack.stack), REG_ERPAREN);
  }

            handle_close:
              if (fixup_alt_jump)
                {



                  do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (push_dummy_failure); } while (0);



                  byte_store_op1 (jump_past_alt, fixup_alt_jump, (int) ((b - 1) - (fixup_alt_jump) - (1 + 2)));
                }


              if ((compile_stack.avail == 0))
  {
    if (syntax & (((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
      goto normal_char;
    else
      return (free (compile_stack.stack), REG_ERPAREN);
  }



              ;
              {



                regnum_t this_group_regnum;

                compile_stack.avail--;
                begalt = bufp->buffer + (compile_stack.stack[compile_stack.avail]).begalt_offset;
                fixup_alt_jump
                  = (compile_stack.stack[compile_stack.avail]).fixup_alt_jump
                    ? bufp->buffer + (compile_stack.stack[compile_stack.avail]).fixup_alt_jump - 1
                    : 0;
                laststart = bufp->buffer + (compile_stack.stack[compile_stack.avail]).laststart_offset;
                this_group_regnum = (compile_stack.stack[compile_stack.avail]).regnum;



  pending_exact = 0;



                if (this_group_regnum <= 255)
                  {
      unsigned char *inner_group_loc
                      = bufp->buffer + (compile_stack.stack[compile_stack.avail]).inner_group_offset;

                    *inner_group_loc = regnum - this_group_regnum;
                   
                                do { while ((unsigned long) (b - bufp->buffer + (3)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (stop_memory); *b++ = (unsigned char) (this_group_regnum); *b++ = (unsigned char) (regnum - this_group_regnum); } while (0);
                  }
              }
              break;


            case '|':
              if (syntax & ((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) || syntax & (((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
                goto normal_backslash;
            handle_alt:
              if (syntax & ((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
                goto normal_char;



              while ((unsigned long) (b - bufp->buffer + (1 + 2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);
             
      byte_insert_op1 (on_failure_jump, begalt, (int) ((b + 2 + 2 * 2) - (begalt) - (1 + 2)), b);
              pending_exact = 0;
              b += 1 + 2;
# 3837 "../../libiberty/regex.c"
              if (fixup_alt_jump)
                byte_store_op1 (jump_past_alt, fixup_alt_jump, (int) ((b) - (fixup_alt_jump) - (1 + 2)));




              fixup_alt_jump = b;
              while ((unsigned long) (b - bufp->buffer + (1 + 2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);
              b += 1 + 2;

              laststart = 0;
              begalt = b;
              break;


            case '{':

              if (!(syntax & (((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))


    || (syntax & ((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)))
                goto normal_backslash;

            handle_interval:
              {



                int lower_bound = -1, upper_bound = -1;



  const char *beg_interval = p;

                if (p == pend)
    goto invalid_interval;

                { while (p != pend) { do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0); if (c < '0' || c > '9') break; if (lower_bound <= (0x7fff)) { if (lower_bound < 0) lower_bound = 0; lower_bound = lower_bound * 10 + c - '0'; } } };

                if (c == ',')
                  {
                    { while (p != pend) { do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0); if (c < '0' || c > '9') break; if (upper_bound <= (0x7fff)) { if (upper_bound < 0) upper_bound = 0; upper_bound = upper_bound * 10 + c - '0'; } } };
      if (upper_bound < 0)
        upper_bound = (0x7fff);
                  }
                else

                  upper_bound = lower_bound;

                if (! (0 <= lower_bound && lower_bound <= upper_bound))
    goto invalid_interval;

                if (!(syntax & ((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)))
                  {
      if (c != '\\' || p == pend)
        goto invalid_interval;
                    do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
                  }

                if (c != '}')
    goto invalid_interval;


                if (!laststart)
                  {
      if (syntax & (((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1)
   && !(syntax & (((((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)))
                      return (free (compile_stack.stack), REG_BADRPT);
                    else if (syntax & ((((((unsigned long int) 1) << 1) << 1) << 1) << 1))
                      laststart = b;
                    else
                      goto unfetch_interval;
                  }



                if ((0x7fff) < upper_bound)
    return (free (compile_stack.stack), REG_BADBR);






                 if (upper_bound == 0)
                   {
                     while ((unsigned long) (b - bufp->buffer + (1 + 2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);
                    
      byte_insert_op1 (jump, laststart, (int) ((b + 1 + 2) - (laststart) - (1 + 2)), b);
                     b += 1 + 2;
                   }
# 3938 "../../libiberty/regex.c"
                 else
                   {

                     unsigned nbytes = 2 + 4 * 2 +
         (upper_bound > 1) * (2 + 4 * 2);

                     while ((unsigned long) (b - bufp->buffer + (nbytes)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);






                    
                                  
      
       byte_insert_op2 (succeed_n, laststart, (int) ((b + 1 + 2 * 2 + (upper_bound > 1) * (1 + 2 * 2)) - (laststart) - (1 + 2)), lower_bound, b);
                     b += 1 + 2 * 2;
# 3964 "../../libiberty/regex.c"
                     byte_insert_op2 (set_number_at, laststart, 1
     + 2 * 2, lower_bound, b);
                     b += 1 + 2 * 2;

                     if (upper_bound > 1)
                       {






                        
         
                                      byte_store_op2 (jump_n, b, (int) ((laststart + 2 * 2 + 1) - (b) - (1 + 2)), upper_bound - 1);
                         b += 1 + 2 * 2;
# 3995 "../../libiberty/regex.c"
                         byte_insert_op2 (set_number_at, laststart,
          b - laststart,
          upper_bound - 1, b);
                         b += 1 + 2 * 2;
                       }
                   }
                pending_exact = 0;
  break;

       invalid_interval:
  if (!(syntax & (((((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)))
    return (free (compile_stack.stack), p == pend ? REG_EBRACE : REG_BADBR);
       unfetch_interval:

  p = beg_interval;
  c = '{';
  if (syntax & ((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
    goto normal_char;
  else
    goto normal_backslash;
       }
# 4038 "../../libiberty/regex.c"
            case 'w':
       if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
  goto normal_char;
              laststart = b;
              do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (wordchar); } while (0);
              break;


            case 'W':
       if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
  goto normal_char;
              laststart = b;
              do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (notwordchar); } while (0);
              break;


            case '<':
       if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
  goto normal_char;
              do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (wordbeg); } while (0);
              break;

            case '>':
       if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
  goto normal_char;
              do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (wordend); } while (0);
              break;

            case 'b':
       if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
  goto normal_char;
              do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (wordbound); } while (0);
              break;

            case 'B':
       if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
  goto normal_char;
              do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (notwordbound); } while (0);
              break;

            case '`':
       if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
  goto normal_char;
              do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (begbuf); } while (0);
              break;

            case '\'':
       if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
  goto normal_char;
              do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (endbuf); } while (0);
              break;

            case '1': case '2': case '3': case '4': case '5':
            case '6': case '7': case '8': case '9':
              if (syntax & ((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
                goto normal_char;

              c1 = c - '0';

              if (c1 > regnum)
                return (free (compile_stack.stack), REG_ESUBREG);


              if (group_in_compile_stack (compile_stack, (regnum_t) c1))
                goto normal_char;

              laststart = b;
              do { while ((unsigned long) (b - bufp->buffer + (2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (duplicate); *b++ = (unsigned char) (c1); } while (0);
              break;


            case '+':
            case '?':
              if (syntax & (((unsigned long int) 1) << 1))
                goto handle_plus;
              else
                goto normal_backslash;

            default:
            normal_backslash:



              c = (translate ? (char) translate[(unsigned char) (c)] : (c));
              goto normal_char;
            }
          break;


 default:

 normal_char:

          if (!pending_exact







              || pending_exact + *pending_exact + 1 != b


       || *pending_exact == (1 << 8) - 1


              || *p == '*' || *p == '^'
       || ((syntax & (((unsigned long int) 1) << 1))
    ? *p == '\\' && (p[1] == '+' || p[1] == '?')
    : (*p == '+' || *p == '?'))
       || ((syntax & (((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
                  && ((syntax & ((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
        ? *p == '{'
                      : (p[0] == '\\' && p[1] == '{'))))
     {


              laststart = b;
# 4166 "../../libiberty/regex.c"
       do { while ((unsigned long) (b - bufp->buffer + (2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (exactn); *b++ = (unsigned char) (0); } while (0);

       pending_exact = b - 1;
            }

   do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (c); } while (0);
          (*pending_exact)++;
   break;
        }
    }




  if (fixup_alt_jump)
    byte_store_op1 (jump_past_alt, fixup_alt_jump, (int) ((b) - (fixup_alt_jump) - (1 + 2)));

  if (!(compile_stack.avail == 0))
    return (free (compile_stack.stack), REG_EPAREN);



  if (syntax & ((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
    do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (succeed); } while (0);






  free (compile_stack.stack);





  bufp->used = b - bufp->buffer;
# 4254 "../../libiberty/regex.c"
  return REG_NOERROR;
}






static void
byte_store_op1 (op, loc, arg)
    re_opcode_t op;
    unsigned char *loc;
    int arg;
{
  *loc = (unsigned char) op;
  do { (loc + 1)[0] = (arg) & 0377; (loc + 1)[1] = (arg) >> 8; } while (0);
}





static void
byte_store_op2 (op, loc, arg1, arg2)
    re_opcode_t op;
    unsigned char *loc;
    int arg1, arg2;
{
  *loc = (unsigned char) op;
  do { (loc + 1)[0] = (arg1) & 0377; (loc + 1)[1] = (arg1) >> 8; } while (0);
  do { (loc + 1 + 2)[0] = (arg2) & 0377; (loc + 1 + 2)[1] = (arg2) >> 8; } while (0);
}






static void
byte_insert_op1 (op, loc, arg, end)
    re_opcode_t op;
    unsigned char *loc;
    int arg;
    unsigned char *end;
{
  register unsigned char *pfrom = end;
  register unsigned char *pto = end + 1 + 2;

  while (pfrom != loc)
    *--pto = *--pfrom;

  byte_store_op1 (op, loc, arg);
}





static void
byte_insert_op2 (op, loc, arg1, arg2, end)
    re_opcode_t op;
    unsigned char *loc;
    int arg1, arg2;
    unsigned char *end;
{
  register unsigned char *pfrom = end;
  register unsigned char *pto = end + 1 + 2 * 2;

  while (pfrom != loc)
    *--pto = *--pfrom;

  byte_store_op2 (op, loc, arg1, arg2);
}






static boolean
byte_at_begline_loc_p (pattern, p, syntax)
    const char *pattern, *p;
    reg_syntax_t syntax;
{
  const char *prev = p - 2;
  boolean prev_prev_backslash = prev > pattern && prev[-1] == '\\';

  return

       (*prev == '(' && (syntax & (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) || prev_prev_backslash))

    || (*prev == '|' && (syntax & (((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) || prev_prev_backslash));
}





static boolean
byte_at_endline_loc_p (p, pend, syntax)
    const char *p, *pend;
    reg_syntax_t syntax;
{
  const char *next = p;
  boolean next_backslash = *next == '\\';
  const char *next_next = p + 1 < pend ? p + 1 : 0;

  return

       (syntax & (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) ? *next == ')'
        : next_backslash && next_next && *next_next == ')')

    || (syntax & (((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) ? *next == '|'
        : next_backslash && next_next && *next_next == '|');
}
# 4499 "../../libiberty/regex.c"
static reg_errcode_t
byte_compile_range (range_start_char, p_ptr, pend, translate, syntax, b)
     unsigned int range_start_char;
     const char **p_ptr, *pend;
     char * translate;
     reg_syntax_t syntax;
     unsigned char *b;
{
  unsigned this_char;
  const char *p = *p_ptr;
  reg_errcode_t ret;





  unsigned end_char;


  if (p == pend)
    return REG_ERANGE;



  (*p_ptr)++;


  ret = syntax & ((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) ? REG_ERANGE : REG_NOERROR;
# 4548 "../../libiberty/regex.c"
  range_start_char = (translate ? (char) translate[(unsigned char) (range_start_char)] : (range_start_char));





  end_char = ((unsigned)(translate ? (char) translate[(unsigned char) (p[0])] : (p[0])) & ((1 << 8) - 1));

  for (this_char = range_start_char; this_char <= end_char; ++this_char)
    {
      (b[((unsigned char) ((translate ? (char) translate[(unsigned char) (this_char)] : (this_char)))) / 8] |= 1 << (((unsigned char) (translate ? (char) translate[(unsigned char) (this_char)] : (this_char))) % 8));
      ret = REG_NOERROR;
    }


  return ret;
}
# 4602 "../../libiberty/regex.c"
static int
byte_re_compile_fastmap (bufp)
     struct re_pattern_buffer *bufp;
{
  int j, k;

  byte_fail_stack_type fail_stack;


  char *destination;


  register char *fastmap = bufp->fastmap;







  unsigned char *pattern = bufp->buffer;
  register unsigned char *pend = pattern + bufp->used;

  unsigned char *p = pattern;
# 4637 "../../libiberty/regex.c"
  boolean path_can_be_null = 1;


  boolean succeed_n_p = 0;

  ;

  do { fail_stack.stack = (byte_fail_stack_elt_t *) __builtin_alloca (5 * sizeof (byte_fail_stack_elt_t)); if (fail_stack.stack == 0) return -2; fail_stack.size = 5; fail_stack.avail = 0; } while (0);
  bzero (fastmap, 1 << 8);
  bufp->fastmap_accurate = 1;
  bufp->can_be_null = 0;

  while (1)
    {
      if (p == pend || *p == (unsigned char) succeed)
 {

   if (!(fail_stack.avail == 0))
     {
       bufp->can_be_null |= path_can_be_null;


       path_can_be_null = 1;

       p = fail_stack.stack[--fail_stack.avail].pointer;

       continue;
     }
   else
     break;
 }


      ;

      switch (((re_opcode_t) *p++))
 {






 case duplicate:
   bufp->can_be_null = 1;
          goto done;
# 4693 "../../libiberty/regex.c"
 case exactn:
          fastmap[p[1]] = 1;
   break;
# 4713 "../../libiberty/regex.c"
        case charset:
          for (j = *p++ * 8 - 1; j >= 0; j--)
     if (p[j / 8] & (1 << (j % 8)))
              fastmap[j] = 1;
   break;


 case charset_not:

   for (j = *p * 8; j < (1 << 8); j++)
            fastmap[j] = 1;

   for (j = *p++ * 8 - 1; j >= 0; j--)
     if (!(p[j / 8] & (1 << (j % 8))))
              fastmap[j] = 1;
          break;


 case wordchar:
   for (j = 0; j < (1 << 8); j++)
     if (re_syntax_table[(unsigned char) (j)] == 1)
       fastmap[j] = 1;
   break;


 case notwordchar:
   for (j = 0; j < (1 << 8); j++)
     if (re_syntax_table[(unsigned char) (j)] != 1)
       fastmap[j] = 1;
   break;


        case anychar:
   {
     int fastmap_newline = fastmap['\n'];


     for (j = 0; j < (1 << 8); j++)
       fastmap[j] = 1;


     if (!(bufp->syntax & ((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1)))
       fastmap['\n'] = fastmap_newline;



     else if (bufp->can_be_null)
       goto done;


     break;
   }
# 4794 "../../libiberty/regex.c"
        case no_op:
        case begline:
        case endline:
 case begbuf:
 case endbuf:
 case wordbound:
 case notwordbound:
 case wordbeg:
 case wordend:
        case push_dummy_failure:
          continue;


 case jump_n:
        case pop_failure_jump:
 case maybe_pop_jump:
 case jump:
        case jump_past_alt:
 case dummy_failure_jump:
          do { do { (j) = *(p) & 0377; (j) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
   p += j;
   if (j > 0)
     continue;






          if ((re_opcode_t) *p != on_failure_jump
       && (re_opcode_t) *p != succeed_n)
     continue;

          p++;
          do { do { (j) = *(p) & 0377; (j) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
          p += j;


          if (!(fail_stack.avail == 0)
       && fail_stack.stack[fail_stack.avail - 1].pointer == p)
            fail_stack.avail--;

          continue;


        case on_failure_jump:
        case on_failure_keep_string_jump:
 handle_on_failure_jump:
          do { do { (j) = *(p) & 0377; (j) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
# 4851 "../../libiberty/regex.c"
          if (p + j < pend)
            {
              if (!(((fail_stack.avail == fail_stack.size) && !((fail_stack).size > (unsigned) (xre_max_failures * (5 * 3 + 4)) ? 0 : ((fail_stack).stack = (byte_fail_stack_elt_t *) (destination = (char *) __builtin_alloca (((fail_stack).size << 1) * sizeof (byte_fail_stack_elt_t)), (bcopy ((fail_stack).stack, destination, (fail_stack).size * sizeof (byte_fail_stack_elt_t)), (destination))), (fail_stack).stack == 0 ? 0 : ((fail_stack).size <<= 1, 1)))) ? 0 : ((fail_stack).stack[(fail_stack).avail++].pointer = p + j, 1)))
  {
    ;
    return -2;
  }
            }
          else
            bufp->can_be_null = 1;

          if (succeed_n_p)
            {
              do { do { (k) = *(p) & 0377; (k) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
              succeed_n_p = 0;
     }

          continue;


 case succeed_n:

          p += 2;


          do { do { (k) = *(p) & 0377; (k) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
          if (k == 0)
     {
              p -= 2 * 2;
         succeed_n_p = 1;
              goto handle_on_failure_jump;
            }
          continue;


 case set_number_at:
          p += 2 * 2;
          continue;


 case start_memory:
        case stop_memory:
   p += 2;
   continue;


 default:
          abort ();
        }







      path_can_be_null = 0;
      p = pend;
    }



  bufp->can_be_null |= path_can_be_null;

 done:
  ;
  return 0;
}
# 5080 "../../libiberty/regex.c"
static int
byte_re_search_2 (bufp, string1, size1, string2, size2, startpos, range,
       regs, stop)
     struct re_pattern_buffer *bufp;
     const char *string1, *string2;
     int size1, size2;
     int startpos;
     int range;
     struct re_registers *regs;
     int stop;
{
  int val;
  register char *fastmap = bufp->fastmap;
  register char * translate = bufp->translate;
  int total_size = size1 + size2;
  int endpos = startpos + range;
# 5108 "../../libiberty/regex.c"
  if (startpos < 0 || startpos > total_size)
    return -1;




  if (endpos < 0)
    range = 0 - startpos;
  else if (endpos > total_size)
    range = total_size - startpos;



  if (bufp->used > 0 && range > 0
      && ((re_opcode_t) bufp->buffer[0] == begbuf

   || ((re_opcode_t) bufp->buffer[0] == begline
       && !bufp->newline_anchor)))
    {
      if (startpos > 0)
 return -1;
      else
 range = 1;
    }
# 5145 "../../libiberty/regex.c"
  if (fastmap && !bufp->fastmap_accurate)
    if (xre_compile_fastmap (bufp) == -2)
      return -2;
# 5225 "../../libiberty/regex.c"
  for (;;)
    {




      if (fastmap && startpos < total_size && !bufp->can_be_null)
 {
   if (range > 0)
     {
       register const char *d;
       register int lim = 0;
       int irange = range;

              if (startpos < size1 && startpos + range >= size1)
                lim = range - (size1 - startpos);

       d = (startpos >= size1 ? string2 - size1 : string1) + startpos;



       if (translate)
                while (range > lim
                       && !fastmap[(unsigned char)
       translate[(unsigned char) *d++]])
                  range--;
       else
                while (range > lim && !fastmap[(unsigned char) *d++])
                  range--;

       startpos += irange - range;
     }
   else
     {
       register char c = (size1 == 0 || startpos >= size1
          ? string2[startpos - size1]
          : string1[startpos]);

       if (!fastmap[(unsigned char) (translate ? (char) translate[(unsigned char) (c)] : (c))])
  goto advance;
     }
 }


      if (range >= 0 && startpos == total_size && fastmap
          && !bufp->can_be_null)
       {



         return -1;
       }
# 5285 "../../libiberty/regex.c"
      val = byte_re_match_2_internal (bufp, string1, size1, string2,
          size2, startpos, regs, stop);
# 5295 "../../libiberty/regex.c"
      if (val >= 0)
 {



   return startpos;
 }

      if (val == -2)
 {



   return -2;
 }

    advance:
      if (!range)
        break;
      else if (range > 0)
        {
          range--;
          startpos++;
        }
      else
        {
          range++;
          startpos--;
        }
    }



  return -1;
}
# 5503 "../../libiberty/regex.c"
static boolean byte_group_match_null_string_p
         
     (unsigned char **p, unsigned char *end, byte_register_info_type *reg_info);
static boolean byte_alt_match_null_string_p
       
     (unsigned char *p, unsigned char *end, byte_register_info_type *reg_info);
static boolean byte_common_op_match_null_string_p
      
     (unsigned char **p, unsigned char *end, byte_register_info_type *reg_info);
static int byte_bcmp_translate
         (const char *s1, const char *s2, int len, char *translate);
# 5634 "../../libiberty/regex.c"
static int
byte_re_match_2_internal (bufp, string1, size1,string2, size2, pos,
     regs, stop)
     struct re_pattern_buffer *bufp;
     const char *string1, *string2;
     int size1, size2;
     int pos;
     struct re_registers *regs;
     int stop;

{

  int mcnt;
  unsigned char *p1;
# 5656 "../../libiberty/regex.c"
  const char *end1, *end2;



  const char *end_match_1, *end_match_2;


  const char *d, *dend;






  unsigned char *p = bufp->buffer;
  register unsigned char *pend = p + bufp->used;




  unsigned char *just_past_start_mem = 0;


  char * translate = bufp->translate;
# 5691 "../../libiberty/regex.c"
  byte_fail_stack_type fail_stack;
# 5707 "../../libiberty/regex.c"
  size_t num_regs = bufp->re_nsub + 1;


  active_reg_t lowest_active_reg = ((1 << 8) + 1);
  active_reg_t highest_active_reg = (1 << 8);
# 5721 "../../libiberty/regex.c"
  const char **regstart, **regend;
# 5730 "../../libiberty/regex.c"
  const char **old_regstart, **old_regend;
# 5740 "../../libiberty/regex.c"
  byte_register_info_type *reg_info;






  unsigned best_regs_set = 0;

  const char **best_regstart, **best_regend;
# 5760 "../../libiberty/regex.c"
  const char *match_end = 0;


  int set_regs_matched_done = 0;



  const char **reg_dummy;
  byte_register_info_type *reg_info_dummy;







  ;

  do { fail_stack.stack = (byte_fail_stack_elt_t *) __builtin_alloca (5 * sizeof (byte_fail_stack_elt_t)); if (fail_stack.stack == 0) return -2; fail_stack.size = 5; fail_stack.avail = 0; } while (0);







  if (bufp->re_nsub)
    {
      regstart = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
      regend = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
      old_regstart = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
      old_regend = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
      best_regstart = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
      best_regend = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
      reg_info = ((byte_register_info_type *) __builtin_alloca ((num_regs) * sizeof (byte_register_info_type)));
      reg_dummy = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
      reg_info_dummy = ((byte_register_info_type *) __builtin_alloca ((num_regs) * sizeof (byte_register_info_type)));

      if (!(regstart && regend && old_regstart && old_regend && reg_info
            && best_regstart && best_regend && reg_dummy && reg_info_dummy))
        {
          do { ; if (regstart) ((void)0); regstart = 0; if (regend) ((void)0); regend = 0; if (old_regstart) ((void)0); old_regstart = 0; if (old_regend) ((void)0); old_regend = 0; if (best_regstart) ((void)0); best_regstart = 0; if (best_regend) ((void)0); best_regend = 0; if (reg_info) ((void)0); reg_info = 0; if (reg_dummy) ((void)0); reg_dummy = 0; if (reg_info_dummy) ((void)0); reg_info_dummy = 0; } while (0);
          return -2;
        }
    }
  else
    {


      regstart = regend = old_regstart = old_regend = best_regstart
        = best_regend = reg_dummy = 0;
      reg_info = reg_info_dummy = (byte_register_info_type *) 0;
    }






  if (pos < 0 || pos > size1 + size2)

    {
      do { ; if (regstart) ((void)0); regstart = 0; if (regend) ((void)0); regend = 0; if (old_regstart) ((void)0); old_regstart = 0; if (old_regend) ((void)0); old_regend = 0; if (best_regstart) ((void)0); best_regstart = 0; if (best_regend) ((void)0); best_regend = 0; if (reg_info) ((void)0); reg_info = 0; if (reg_dummy) ((void)0); reg_dummy = 0; if (reg_info_dummy) ((void)0); reg_info_dummy = 0; } while (0);
      return -1;
    }
# 5880 "../../libiberty/regex.c"
  for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
    {
      regstart[mcnt] = regend[mcnt]
        = old_regstart[mcnt] = old_regend[mcnt] = (&byte_reg_unset_dummy);

      ((reg_info[mcnt]).bits.match_null_string_p) = 3;
      ((reg_info[mcnt]).bits.is_active) = 0;
      ((reg_info[mcnt]).bits.matched_something) = 0;
      ((reg_info[mcnt]).bits.ever_matched_something) = 0;
    }



  if (size2 == 0 && string1 != 0)
    {
      string2 = string1;
      size2 = size1;
      string1 = 0;
      size1 = 0;






    }
  end1 = string1 + size1;
  end2 = string2 + size2;
# 5931 "../../libiberty/regex.c"
  if (stop <= size1)
    {
      end_match_1 = string1 + stop;
      end_match_2 = string2;
    }
  else
    {
      end_match_1 = end1;
      end_match_2 = string2 + stop - size1;
    }
# 5969 "../../libiberty/regex.c"
  if (size1 > 0 && pos <= size1)
    {
      d = string1 + pos;
      dend = end_match_1;
    }
  else
    {
      d = string2 + pos - size1;
      dend = end_match_2;
    }


  ;
  ;
  ;
  ;
  ;




  for (;;)
    {



      ;


      if (p == pend)
 {
          ;



          if (d != end_match_2)
     {


       boolean same_str_p = ((size1 && string1 <= (match_end) && (match_end) <= string1 + size1)
        == (dend == end_match_1));

       boolean best_match_p;



       if (same_str_p)
  best_match_p = d > match_end;
       else
  best_match_p = !(dend == end_match_1);

              ;

              if (!(fail_stack.avail == 0))
                {


                  if (!best_regs_set || best_match_p)
                    {
                      best_regs_set = 1;
                      match_end = d;

                      ;

                      for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
                        {
                          best_regstart[mcnt] = regstart[mcnt];
                          best_regend[mcnt] = regend[mcnt];
                        }
                    }
                  goto fail;
                }




              else if (best_regs_set && !best_match_p)
                {
           restore_best_regs:





                  ;

                  d = match_end;
                  dend = ((d >= string1 && d <= end1)
             ? end_match_1 : end_match_2);

    for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
      {
        regstart[mcnt] = best_regstart[mcnt];
        regend[mcnt] = best_regend[mcnt];
      }
                }
            }

 succeed_label:
          ;

          if (regs && !bufp->no_sub)
     {

              if (bufp->regs_allocated == 0)
                {


                  regs->num_regs = ((30) > (num_regs + 1) ? (30) : (num_regs + 1));
                  regs->start = ((regoff_t *) malloc ((regs->num_regs) * sizeof (regoff_t)));
                  regs->end = ((regoff_t *) malloc ((regs->num_regs) * sizeof (regoff_t)));
                  if (regs->start == 0 || regs->end == 0)
      {
        do { ; if (regstart) ((void)0); regstart = 0; if (regend) ((void)0); regend = 0; if (old_regstart) ((void)0); old_regstart = 0; if (old_regend) ((void)0); old_regend = 0; if (best_regstart) ((void)0); best_regstart = 0; if (best_regend) ((void)0); best_regend = 0; if (reg_info) ((void)0); reg_info = 0; if (reg_dummy) ((void)0); reg_dummy = 0; if (reg_info_dummy) ((void)0); reg_info_dummy = 0; } while (0);
        return -2;
      }
                  bufp->regs_allocated = 1;
                }
              else if (bufp->regs_allocated == 1)
                {


                  if (regs->num_regs < num_regs + 1)
                    {
                      regs->num_regs = num_regs + 1;
                      ((regs->start) = (regoff_t *) realloc (regs->start, (regs->num_regs) * sizeof (regoff_t)));
                      ((regs->end) = (regoff_t *) realloc (regs->end, (regs->num_regs) * sizeof (regoff_t)));
                      if (regs->start == 0 || regs->end == 0)
   {
     do { ; if (regstart) ((void)0); regstart = 0; if (regend) ((void)0); regend = 0; if (old_regstart) ((void)0); old_regstart = 0; if (old_regend) ((void)0); old_regend = 0; if (best_regstart) ((void)0); best_regstart = 0; if (best_regend) ((void)0); best_regend = 0; if (reg_info) ((void)0); reg_info = 0; if (reg_dummy) ((void)0); reg_dummy = 0; if (reg_info_dummy) ((void)0); reg_info_dummy = 0; } while (0);
     return -2;
   }
                    }
                }
              else
  {


    ;
  }




              if (regs->num_regs > 0)
                {
                  regs->start[0] = pos;
# 6124 "../../libiberty/regex.c"
                  regs->end[0] = ((dend == end_match_1)
      ? ((regoff_t) (d - string1))
             : ((regoff_t) (d - string2 + size1)));

                }



       for (mcnt = 1; (unsigned) mcnt < ((num_regs) < (regs->num_regs) ? (num_regs) : (regs->num_regs));
     mcnt++)
  {
                  if (((regstart[mcnt]) == (&byte_reg_unset_dummy)) || ((regend[mcnt]) == (&byte_reg_unset_dummy)))
                    regs->start[mcnt] = regs->end[mcnt] = -1;
                  else
                    {
        regs->start[mcnt]
   = (regoff_t) ((size1 && string1 <= (regstart[mcnt]) && (regstart[mcnt]) <= string1 + size1) ? ((regoff_t) ((regstart[mcnt]) - string1)) : ((regoff_t) ((regstart[mcnt]) - string2 + size1)));
                      regs->end[mcnt]
   = (regoff_t) ((size1 && string1 <= (regend[mcnt]) && (regend[mcnt]) <= string1 + size1) ? ((regoff_t) ((regend[mcnt]) - string1)) : ((regoff_t) ((regend[mcnt]) - string2 + size1)));
                    }
  }






              for (mcnt = num_regs; (unsigned) mcnt < regs->num_regs; mcnt++)
                regs->start[mcnt] = regs->end[mcnt] = -1;
     }

         
                       
                        ;
          ;
# 6168 "../../libiberty/regex.c"
          mcnt = d - pos - ((dend == end_match_1)
       ? string1
       : string2 - size1);


          ;

          do { ; if (regstart) ((void)0); regstart = 0; if (regend) ((void)0); regend = 0; if (old_regstart) ((void)0); old_regstart = 0; if (old_regend) ((void)0); old_regend = 0; if (best_regstart) ((void)0); best_regstart = 0; if (best_regend) ((void)0); best_regend = 0; if (reg_info) ((void)0); reg_info = 0; if (reg_dummy) ((void)0); reg_dummy = 0; if (reg_info_dummy) ((void)0); reg_info_dummy = 0; } while (0);
          return mcnt;
        }


      switch (((re_opcode_t) *p++))
 {


        case no_op:
          ;
          break;

 case succeed:
          ;
   goto succeed_label;




 case exactn:



   mcnt = *p++;
          ;



          if (translate)
     {
       do
  {
    while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };
# 6222 "../../libiberty/regex.c"
    if ((unsigned char) translate[(unsigned char) *d++]
        != (unsigned char) *p++)
                    goto fail;

  }
       while (--mcnt);
     }
   else
     {
       do
  {
    while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };
    if (*d++ != (char) *p++) goto fail;
  }
       while (--mcnt);
     }
   do { if (!set_regs_matched_done) { active_reg_t r; set_regs_matched_done = 1; for (r = lowest_active_reg; r <= highest_active_reg; r++) { ((reg_info[r]).bits.matched_something) = ((reg_info[r]).bits.ever_matched_something) = 1; } } } while (0);
          break;



 case anychar:
          ;

          while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };

          if ((!(bufp->syntax & ((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1)) && (translate ? (char) translate[(unsigned char) (*d)] : (*d)) == '\n')
              || (bufp->syntax & (((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) && (translate ? (char) translate[(unsigned char) (*d)] : (*d)) == '\000'))
     goto fail;

          do { if (!set_regs_matched_done) { active_reg_t r; set_regs_matched_done = 1; for (r = lowest_active_reg; r <= highest_active_reg; r++) { ((reg_info[r]).bits.matched_something) = ((reg_info[r]).bits.ever_matched_something) = 1; } } } while (0);
          ;
          d++;
   break;


 case charset:
 case charset_not:
   {
     register unsigned char c;
# 6272 "../../libiberty/regex.c"
     boolean not = (re_opcode_t) *(p - 1) == charset_not;

            ;
     while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };
     c = (translate ? (char) translate[(unsigned char) (*d)] : (*d));
# 6648 "../../libiberty/regex.c"
     if (c < (unsigned) (*p * 8)
  && p[1 + c / 8] & (1 << (c % 8)))
       not = !not;

     p += 1 + *p;

     if (!not) goto fail;


     do { if (!set_regs_matched_done) { active_reg_t r; set_regs_matched_done = 1; for (r = lowest_active_reg; r <= highest_active_reg; r++) { ((reg_info[r]).bits.matched_something) = ((reg_info[r]).bits.ever_matched_something) = 1; } } } while (0);
            d++;
     break;
   }







        case start_memory:
  
   ;


   p1 = p;

          if (((reg_info[*p]).bits.match_null_string_p) == 3)
            ((reg_info[*p]).bits.match_null_string_p)
              = byte_group_match_null_string_p (&p1, pend, reg_info);






          old_regstart[*p] = ((reg_info[*p]).bits.match_null_string_p)
                             ? ((regstart[*p]) == (&byte_reg_unset_dummy)) ? d : regstart[*p]
                             : regstart[*p];
  
    ;

          regstart[*p] = d;
   ;

          ((reg_info[*p]).bits.is_active) = 1;
          ((reg_info[*p]).bits.matched_something) = 0;


   set_regs_matched_done = 0;


          highest_active_reg = *p;



          if (lowest_active_reg == ((1 << 8) + 1))
            lowest_active_reg = *p;


          p += 2;
   just_past_start_mem = p;

          break;





 case stop_memory:
  
   ;






          old_regend[*p] = ((reg_info[*p]).bits.match_null_string_p)
                           ? ((regend[*p]) == (&byte_reg_unset_dummy)) ? d : regend[*p]
      : regend[*p];
  
    ;

          regend[*p] = d;
   ;


          ((reg_info[*p]).bits.is_active) = 0;


   set_regs_matched_done = 0;



          if (lowest_active_reg == highest_active_reg)
            {
              lowest_active_reg = ((1 << 8) + 1);
              highest_active_reg = (1 << 8);
            }
          else
            {



              unsigned char r = *p - 1;
              while (r > 0 && !((reg_info[r]).bits.is_active))
                r--;
# 6764 "../../libiberty/regex.c"
       if (r == 0)
                {
                  lowest_active_reg = ((1 << 8) + 1);
                  highest_active_reg = (1 << 8);
                }
              else
                highest_active_reg = r;
            }






          if ((!((reg_info[*p]).bits.matched_something)
               || just_past_start_mem == p - 1)
       && (p + 2) < pend)
            {
              boolean is_a_jump_n = 0;

              p1 = p + 2;
              mcnt = 0;
              switch ((re_opcode_t) *p1++)
                {
                  case jump_n:
      is_a_jump_n = 1;
                  case pop_failure_jump:
    case maybe_pop_jump:
    case jump:
    case dummy_failure_jump:
                    do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
      if (is_a_jump_n)
        p1 += 2;
                    break;

                  default:
                                     ;
                }
       p1 += mcnt;






              if (mcnt < 0 && (re_opcode_t) *p1 == on_failure_jump
                  && (re_opcode_t) p1[1+2] == start_memory
    && p1[2+2] == *p)
  {
# 6823 "../../libiberty/regex.c"
                  if (((reg_info[*p]).bits.ever_matched_something))
      {
        unsigned r;

                      ((reg_info[*p]).bits.ever_matched_something) = 0;


                      for (r = *p; r < (unsigned) *p + (unsigned) *(p + 1);
      r++)
                        {
                          regstart[r] = old_regstart[r];


                          if (old_regend[r] >= regstart[r])
                            regend[r] = old_regend[r];
                        }
                    }
    p1++;
                  do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
                  do { char *destination; active_reg_t this_reg; ; ; ; ; ; ; ; while (((fail_stack).size - (fail_stack).avail) < (((0 ? 0 : highest_active_reg - lowest_active_reg + 1) * 3) + 4)) { if (!((fail_stack).size > (unsigned) (xre_max_failures * (5 * 3 + 4)) ? 0 : ((fail_stack).stack = (byte_fail_stack_elt_t *) (destination = (char *) __builtin_alloca (((fail_stack).size << 1) * sizeof (byte_fail_stack_elt_t)), (bcopy ((fail_stack).stack, destination, (fail_stack).size * sizeof (byte_fail_stack_elt_t)), (destination))), (fail_stack).stack == 0 ? 0 : ((fail_stack).size <<= 1, 1)))) return -2; ; ; } ; if (1) for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; this_reg++) { ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regstart[this_reg]); ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regend[this_reg]); ; ; ; ; ; ; fail_stack.stack[fail_stack.avail++] = (reg_info[this_reg].word); } ; fail_stack.stack[fail_stack.avail++].integer = (lowest_active_reg); ; fail_stack.stack[fail_stack.avail++].integer = (highest_active_reg); ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (p1 + mcnt); ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (d); ; ; } while (0);

                  goto fail;
                }
            }


          p += 2;
          break;




        case duplicate:
   {
     register const char *d2, *dend2;
     int regno = *p++;
     ;


            if (((regstart[regno]) == (&byte_reg_unset_dummy)) || ((regend[regno]) == (&byte_reg_unset_dummy)))
              goto fail;


            d2 = regstart[regno];






            dend2 = (((size1 && string1 <= (regstart[regno]) && (regstart[regno]) <= string1 + size1)
        == (size1 && string1 <= (regend[regno]) && (regend[regno]) <= string1 + size1))
       ? regend[regno] : end_match_1);
     for (;;)
       {


  while (d2 == dend2)
    {
      if (dend2 == end_match_2) break;
      if (dend2 == regend[regno]) break;


                    d2 = string2;
                    dend2 = regend[regno];
    }

  if (d2 == dend2) break;


  while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };


  mcnt = dend - d;



                if (mcnt > dend2 - d2)
    mcnt = dend2 - d2;



  if (translate
                    ? byte_bcmp_translate (d, d2, mcnt, translate)
                    : bcmp (d, d2, mcnt*sizeof(unsigned char)))
    goto fail;
  d += mcnt, d2 += mcnt;


  do { if (!set_regs_matched_done) { active_reg_t r; set_regs_matched_done = 1; for (r = lowest_active_reg; r <= highest_active_reg; r++) { ((reg_info[r]).bits.matched_something) = ((reg_info[r]).bits.ever_matched_something) = 1; } } } while (0);
       }
   }
   break;





 case begline:
          ;

          if (((d) == (size1 ? string1 : string2) || !size2))
            {
              if (!bufp->not_bol) break;
            }
          else if (d[-1] == '\n' && bufp->newline_anchor)
            {
              break;
            }

          goto fail;



 case endline:
          ;

          if (((d) == end2))
            {
              if (!bufp->not_eol) break;
            }


          else if ((d == end1 ? *string2 : *d) == '\n'
                   && bufp->newline_anchor)
            {
              break;
            }
          goto fail;



        case begbuf:
          ;
          if (((d) == (size1 ? string1 : string2) || !size2))
            break;
          goto fail;



        case endbuf:
          ;
   if (((d) == end2))
     break;
          goto fail;
# 6986 "../../libiberty/regex.c"
        case on_failure_keep_string_jump:
          ;

          do { do { (mcnt) = *(p) & 0377; (mcnt) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);



          ;


          do { char *destination; active_reg_t this_reg; ; ; ; ; ; ; ; while (((fail_stack).size - (fail_stack).avail) < (((0 ? 0 : highest_active_reg - lowest_active_reg + 1) * 3) + 4)) { if (!((fail_stack).size > (unsigned) (xre_max_failures * (5 * 3 + 4)) ? 0 : ((fail_stack).stack = (byte_fail_stack_elt_t *) (destination = (char *) __builtin_alloca (((fail_stack).size << 1) * sizeof (byte_fail_stack_elt_t)), (bcopy ((fail_stack).stack, destination, (fail_stack).size * sizeof (byte_fail_stack_elt_t)), (destination))), (fail_stack).stack == 0 ? 0 : ((fail_stack).size <<= 1, 1)))) return -2; ; ; } ; if (1) for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; this_reg++) { ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regstart[this_reg]); ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regend[this_reg]); ; ; ; ; ; ; fail_stack.stack[fail_stack.avail++] = (reg_info[this_reg].word); } ; fail_stack.stack[fail_stack.avail++].integer = (lowest_active_reg); ; fail_stack.stack[fail_stack.avail++].integer = (highest_active_reg); ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (p + mcnt); ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (0); ; ; } while (0);
          break;
# 7012 "../../libiberty/regex.c"
 case on_failure_jump:
        on_failure:
          ;

          do { do { (mcnt) = *(p) & 0377; (mcnt) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);



          ;
# 7032 "../../libiberty/regex.c"
          p1 = p;





          while (p1 < pend && (re_opcode_t) *p1 == no_op)
            p1++;

          if (p1 < pend && (re_opcode_t) *p1 == start_memory)
            {




              highest_active_reg = *(p1 + 1) + *(p1 + 2);
              if (lowest_active_reg == ((1 << 8) + 1))
                lowest_active_reg = *(p1 + 1);
            }

          ;
          do { char *destination; active_reg_t this_reg; ; ; ; ; ; ; ; while (((fail_stack).size - (fail_stack).avail) < (((0 ? 0 : highest_active_reg - lowest_active_reg + 1) * 3) + 4)) { if (!((fail_stack).size > (unsigned) (xre_max_failures * (5 * 3 + 4)) ? 0 : ((fail_stack).stack = (byte_fail_stack_elt_t *) (destination = (char *) __builtin_alloca (((fail_stack).size << 1) * sizeof (byte_fail_stack_elt_t)), (bcopy ((fail_stack).stack, destination, (fail_stack).size * sizeof (byte_fail_stack_elt_t)), (destination))), (fail_stack).stack == 0 ? 0 : ((fail_stack).size <<= 1, 1)))) return -2; ; ; } ; if (1) for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; this_reg++) { ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regstart[this_reg]); ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regend[this_reg]); ; ; ; ; ; ; fail_stack.stack[fail_stack.avail++] = (reg_info[this_reg].word); } ; fail_stack.stack[fail_stack.avail++].integer = (lowest_active_reg); ; fail_stack.stack[fail_stack.avail++].integer = (highest_active_reg); ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (p + mcnt); ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (d); ; ; } while (0);
          break;




        case maybe_pop_jump:
          do { do { (mcnt) = *(p) & 0377; (mcnt) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
          ;
          {
     register unsigned char *p2 = p;
# 7082 "../../libiberty/regex.c"
     while (1)
       {
  if (p2 + 2 < pend
      && ((re_opcode_t) *p2 == stop_memory
   || (re_opcode_t) *p2 == start_memory))
    p2 += 3;
  else if (p2 + 2 + 2 * 2 < pend
    && (re_opcode_t) *p2 == dummy_failure_jump)
    p2 += 2 + 2 * 2;
  else
    break;
       }

     p1 = p + mcnt;





            if (p2 == pend)
       {



           p[-(1+2)] = (unsigned char)
    pop_failure_jump;
               
                  ;
              }

            else if ((re_opcode_t) *p2 == exactn



       || (bufp->newline_anchor && (re_opcode_t) *p2 == endline))
       {
  register unsigned char c
                  = *p2 == (unsigned char) endline ? '\n' : p2[2];

                if (((re_opcode_t) p1[1+2] == exactn



      ) && p1[3+2] != c)
                  {
        p[-(1+2)] = (unsigned char)
        pop_failure_jump;





       
       
        ;

                  }


  else if ((re_opcode_t) p1[3] == charset
    || (re_opcode_t) p1[3] == charset_not)
    {
      int not = (re_opcode_t) p1[3] == charset_not;

      if (c < (unsigned) (p1[4] * 8)
   && p1[5 + c / 8] & (1 << (c % 8)))
        not = !not;



      if (!not)
                      {
            p[-3] = (unsigned char) pop_failure_jump;
                        ;
                      }
    }

       }

            else if ((re_opcode_t) *p2 == charset)
       {


                if ((re_opcode_t) p1[3] == exactn
       && ! ((int) p2[1] * 8 > (int) p1[5]
      && (p2[2 + p1[5] / 8]
          & (1 << (p1[5] % 8)))))
    {
      p[-3] = (unsigned char) pop_failure_jump;
      ;
                  }

  else if ((re_opcode_t) p1[3] == charset_not)
    {
      int idx;


      for (idx = 0; idx < (int) p2[1]; idx++)
        if (! (p2[2 + idx] == 0
        || (idx < (int) p1[4]
     && ((p2[2 + idx] & ~ p1[5 + idx]) == 0))))
   break;

      if (idx == p2[1])
                      {
            p[-3] = (unsigned char) pop_failure_jump;
                        ;
                      }
    }
  else if ((re_opcode_t) p1[3] == charset)
    {
      int idx;


      for (idx = 0;
    idx < (int) p2[1] && idx < (int) p1[4];
    idx++)
        if ((p2[2 + idx] & p1[5 + idx]) != 0)
   break;

      if (idx == p2[1] || idx == p1[4])
                      {
            p[-3] = (unsigned char) pop_failure_jump;
                        ;
                      }
    }
       }

   }
   p -= 2;
   if ((re_opcode_t) p[-1] != pop_failure_jump)
     {
       p[-1] = (unsigned char) jump;
              ;
       goto unconditional_jump;
     }
# 7227 "../../libiberty/regex.c"
        case pop_failure_jump:
          {





            active_reg_t dummy_low_reg, dummy_high_reg;
            unsigned char *pdummy = 0;
            const char *sdummy = 0;

            ;
           
                              
                               { active_reg_t this_reg; const unsigned char *string_temp; ; ; ; ; ; ; ; string_temp = fail_stack.stack[--fail_stack.avail].pointer; if (string_temp != 0) sdummy = (const char *) string_temp; ; ; ; pdummy = (unsigned char *) fail_stack.stack[--fail_stack.avail].pointer; ; ; dummy_high_reg = (active_reg_t) fail_stack.stack[--fail_stack.avail].integer; ; dummy_low_reg = (active_reg_t) fail_stack.stack[--fail_stack.avail].integer; ; if (1) for (this_reg = dummy_high_reg; this_reg >= dummy_low_reg; this_reg--) { ; reg_info_dummy[this_reg].word = fail_stack.stack[--fail_stack.avail]; ; reg_dummy[this_reg] = (const char *) fail_stack.stack[--fail_stack.avail].pointer; ; reg_dummy[this_reg] = (const char *) fail_stack.stack[--fail_stack.avail].pointer; ; } else { for (this_reg = highest_active_reg; this_reg > dummy_high_reg; this_reg--) { reg_info_dummy[this_reg].word.integer = 0; reg_dummy[this_reg] = 0; reg_dummy[this_reg] = 0; } highest_active_reg = dummy_high_reg; } set_regs_matched_done = 0; ; };
          }


 unconditional_jump:



   ;




        case jump:
   do { do { (mcnt) = *(p) & 0377; (mcnt) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
          ;
   p += mcnt;



          ;

   break;




        case jump_past_alt:
          ;
          goto unconditional_jump;







        case dummy_failure_jump:
          ;


          do { char *destination; active_reg_t this_reg; ; ; ; ; ; ; ; while (((fail_stack).size - (fail_stack).avail) < (((0 ? 0 : highest_active_reg - lowest_active_reg + 1) * 3) + 4)) { if (!((fail_stack).size > (unsigned) (xre_max_failures * (5 * 3 + 4)) ? 0 : ((fail_stack).stack = (byte_fail_stack_elt_t *) (destination = (char *) __builtin_alloca (((fail_stack).size << 1) * sizeof (byte_fail_stack_elt_t)), (bcopy ((fail_stack).stack, destination, (fail_stack).size * sizeof (byte_fail_stack_elt_t)), (destination))), (fail_stack).stack == 0 ? 0 : ((fail_stack).size <<= 1, 1)))) return -2; ; ; } ; if (1) for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; this_reg++) { ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regstart[this_reg]); ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regend[this_reg]); ; ; ; ; ; ; fail_stack.stack[fail_stack.avail++] = (reg_info[this_reg].word); } ; fail_stack.stack[fail_stack.avail++].integer = (lowest_active_reg); ; fail_stack.stack[fail_stack.avail++].integer = (highest_active_reg); ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (0); ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (0); ; ; } while (0);
          goto unconditional_jump;







        case push_dummy_failure:
          ;


          do { char *destination; active_reg_t this_reg; ; ; ; ; ; ; ; while (((fail_stack).size - (fail_stack).avail) < (((0 ? 0 : highest_active_reg - lowest_active_reg + 1) * 3) + 4)) { if (!((fail_stack).size > (unsigned) (xre_max_failures * (5 * 3 + 4)) ? 0 : ((fail_stack).stack = (byte_fail_stack_elt_t *) (destination = (char *) __builtin_alloca (((fail_stack).size << 1) * sizeof (byte_fail_stack_elt_t)), (bcopy ((fail_stack).stack, destination, (fail_stack).size * sizeof (byte_fail_stack_elt_t)), (destination))), (fail_stack).stack == 0 ? 0 : ((fail_stack).size <<= 1, 1)))) return -2; ; ; } ; if (1) for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; this_reg++) { ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regstart[this_reg]); ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regend[this_reg]); ; ; ; ; ; ; fail_stack.stack[fail_stack.avail++] = (reg_info[this_reg].word); } ; fail_stack.stack[fail_stack.avail++].integer = (lowest_active_reg); ; fail_stack.stack[fail_stack.avail++].integer = (highest_active_reg); ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (0); ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (0); ; ; } while (0);
          break;



        case succeed_n:
          do { (mcnt) = *(p + 2) & 0377; (mcnt) += ((signed char) (*((p + 2) + 1))) << 8; } while (0);
          ;

          ;

          if (mcnt > 0)
            {
               mcnt--;
        p += 2;
               do { do { (p)[0] = (mcnt) & 0377; (p)[1] = (mcnt) >> 8; } while (0); (p) += 2; } while (0);




              
        ;

            }
   else if (mcnt == 0)
            {




             
       ;





       p[2] = (unsigned char) no_op;
              p[3] = (unsigned char) no_op;

              goto on_failure;
            }
          break;

        case jump_n:
          do { (mcnt) = *(p + 2) & 0377; (mcnt) += ((signed char) (*((p + 2) + 1))) << 8; } while (0);
          ;


          if (mcnt)
            {
               mcnt--;
               do { (p + 2)[0] = (mcnt) & 0377; (p + 2)[1] = (mcnt) >> 8; } while (0);





              
        ;

        goto unconditional_jump;
            }

   else
     p += 2 * 2;
          break;

 case set_number_at:
   {
            ;

            do { do { (mcnt) = *(p) & 0377; (mcnt) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
            p1 = p + mcnt;
            do { do { (mcnt) = *(p) & 0377; (mcnt) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);



            ;

     do { (p1)[0] = (mcnt) & 0377; (p1)[1] = (mcnt) >> 8; } while (0);
            break;
          }
# 7397 "../../libiberty/regex.c"
 case wordbound:
 {
   boolean prevchar, thischar;

   ;
   if (((d) == (size1 ? string1 : string2) || !size2) || ((d) == end2))
     break;

   prevchar = (re_syntax_table[(unsigned char) ((d - 1) == end1 ? *string2 : (d - 1) == string2 - 1 ? *(end1 - 1) : *(d - 1))] == 1);
   thischar = (re_syntax_table[(unsigned char) ((d) == end1 ? *string2 : (d) == string2 - 1 ? *(end1 - 1) : *(d))] == 1);
   if (prevchar != thischar)
     break;
   goto fail;
 }

      case notwordbound:
 {
   boolean prevchar, thischar;

   ;
   if (((d) == (size1 ? string1 : string2) || !size2) || ((d) == end2))
     goto fail;

   prevchar = (re_syntax_table[(unsigned char) ((d - 1) == end1 ? *string2 : (d - 1) == string2 - 1 ? *(end1 - 1) : *(d - 1))] == 1);
   thischar = (re_syntax_table[(unsigned char) ((d) == end1 ? *string2 : (d) == string2 - 1 ? *(end1 - 1) : *(d))] == 1);
   if (prevchar != thischar)
     goto fail;
   break;
 }


 case wordbeg:
          ;
   if (!((d) == end2) && (re_syntax_table[(unsigned char) ((d) == end1 ? *string2 : (d) == string2 - 1 ? *(end1 - 1) : *(d))] == 1)
       && (((d) == (size1 ? string1 : string2) || !size2) || !(re_syntax_table[(unsigned char) ((d - 1) == end1 ? *string2 : (d - 1) == string2 - 1 ? *(end1 - 1) : *(d - 1))] == 1)))
     break;
          goto fail;

 case wordend:
          ;
   if (!((d) == (size1 ? string1 : string2) || !size2) && (re_syntax_table[(unsigned char) ((d - 1) == end1 ? *string2 : (d - 1) == string2 - 1 ? *(end1 - 1) : *(d - 1))] == 1)
              && (((d) == end2) || !(re_syntax_table[(unsigned char) ((d) == end1 ? *string2 : (d) == string2 - 1 ? *(end1 - 1) : *(d))] == 1)))
     break;
          goto fail;
# 7496 "../../libiberty/regex.c"
 case wordchar:
          ;
   while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };
          if (!(re_syntax_table[(unsigned char) ((d) == end1 ? *string2 : (d) == string2 - 1 ? *(end1 - 1) : *(d))] == 1))
            goto fail;
   do { if (!set_regs_matched_done) { active_reg_t r; set_regs_matched_done = 1; for (r = lowest_active_reg; r <= highest_active_reg; r++) { ((reg_info[r]).bits.matched_something) = ((reg_info[r]).bits.ever_matched_something) = 1; } } } while (0);
          d++;
   break;

 case notwordchar:
          ;
   while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };
   if ((re_syntax_table[(unsigned char) ((d) == end1 ? *string2 : (d) == string2 - 1 ? *(end1 - 1) : *(d))] == 1))
            goto fail;
          do { if (!set_regs_matched_done) { active_reg_t r; set_regs_matched_done = 1; for (r = lowest_active_reg; r <= highest_active_reg; r++) { ((reg_info[r]).bits.matched_something) = ((reg_info[r]).bits.ever_matched_something) = 1; } } } while (0);
          d++;
   break;


        default:
          abort ();
 }
      continue;



    fail:
      if (!(fail_stack.avail == 0))
 {
          ;
         
                            
                             { active_reg_t this_reg; const unsigned char *string_temp; ; ; ; ; ; ; ; string_temp = fail_stack.stack[--fail_stack.avail].pointer; if (string_temp != 0) d = (const char *) string_temp; ; ; ; p = (unsigned char *) fail_stack.stack[--fail_stack.avail].pointer; ; ; highest_active_reg = (active_reg_t) fail_stack.stack[--fail_stack.avail].integer; ; lowest_active_reg = (active_reg_t) fail_stack.stack[--fail_stack.avail].integer; ; if (1) for (this_reg = highest_active_reg; this_reg >= lowest_active_reg; this_reg--) { ; reg_info[this_reg].word = fail_stack.stack[--fail_stack.avail]; ; regend[this_reg] = (const char *) fail_stack.stack[--fail_stack.avail].pointer; ; regstart[this_reg] = (const char *) fail_stack.stack[--fail_stack.avail].pointer; ; } else { for (this_reg = highest_active_reg; this_reg > highest_active_reg; this_reg--) { reg_info[this_reg].word.integer = 0; regend[this_reg] = 0; regstart[this_reg] = 0; } highest_active_reg = highest_active_reg; } set_regs_matched_done = 0; ; };


          if (!p)
     goto fail;


   ;
          if (p < pend)
            {
              boolean is_a_jump_n = 0;



              switch ((re_opcode_t) *p)
                {
                case jump_n:
                  is_a_jump_n = 1;
                case maybe_pop_jump:
                case pop_failure_jump:
                case jump:
                  p1 = p + 1;
                  do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
                  p1 += mcnt;

                  if ((is_a_jump_n && (re_opcode_t) *p1 == succeed_n)
                      || (!is_a_jump_n
                          && (re_opcode_t) *p1 == on_failure_jump))
                    goto fail;
                  break;
                default:
                                   ;
                }
            }

          if (d >= string1 && d <= end1)
     dend = end_match_1;
        }
      else
        break;
    }

  if (best_regs_set)
    goto restore_best_regs;

  do { ; if (regstart) ((void)0); regstart = 0; if (regend) ((void)0); regend = 0; if (old_regstart) ((void)0); old_regstart = 0; if (old_regend) ((void)0); old_regend = 0; if (best_regstart) ((void)0); best_regstart = 0; if (best_regend) ((void)0); best_regend = 0; if (reg_info) ((void)0); reg_info = 0; if (reg_dummy) ((void)0); reg_dummy = 0; if (reg_info_dummy) ((void)0); reg_info_dummy = 0; } while (0);

  return -1;
}
# 7591 "../../libiberty/regex.c"
static boolean
byte_group_match_null_string_p (p, end, reg_info)
    unsigned char **p, *end;
    byte_register_info_type *reg_info;
{
  int mcnt;

  unsigned char *p1 = *p + 2;

  while (p1 < end)
    {




      switch ((re_opcode_t) *p1)
        {

        case on_failure_jump:
          p1++;
          do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);




   if (mcnt >= 0)
     {
# 7636 "../../libiberty/regex.c"
              while ((re_opcode_t) p1[mcnt-(1+2)] ==
       jump_past_alt)
                {




                  if (!byte_alt_match_null_string_p (p1, p1 + mcnt -
      (1 + 2),
      reg_info))
                    return 0;



                  p1 += mcnt;



                  if ((re_opcode_t) *p1 != on_failure_jump)
                    break;



    p1++;
                  do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
                  if ((re_opcode_t) p1[mcnt-(1+2)] !=
        jump_past_alt)
                    {

                      p1 -= 1 + 2;
                      break;
                    }
                }




              do { (mcnt) = *(p1 - 2) & 0377; (mcnt) += ((signed char) (*((p1 - 2) + 1))) << 8; } while (0);

              if (!byte_alt_match_null_string_p (p1, p1 + mcnt, reg_info))
                return 0;

              p1 += mcnt;
            }
          break;


        case stop_memory:
   ;
          *p = p1 + 2;
          return 1;


        default:
          if (!byte_common_op_match_null_string_p (&p1, end, reg_info))
            return 0;
        }
    }

  return 0;
}






static boolean
byte_alt_match_null_string_p (p, end, reg_info)
    unsigned char *p, *end;
    byte_register_info_type *reg_info;
{
  int mcnt;
  unsigned char *p1 = p;

  while (p1 < end)
    {



      switch ((re_opcode_t) *p1)
        {

        case on_failure_jump:
          p1++;
          do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
          p1 += mcnt;
          break;

 default:
          if (!byte_common_op_match_null_string_p (&p1, end, reg_info))
            return 0;
        }
    }

  return 1;
}







static boolean
byte_common_op_match_null_string_p (p, end, reg_info)
    unsigned char **p, *end;
    byte_register_info_type *reg_info;
{
  int mcnt;
  boolean ret;
  int reg_no;
  unsigned char *p1 = *p;

  switch ((re_opcode_t) *p1++)
    {
    case no_op:
    case begline:
    case endline:
    case begbuf:
    case endbuf:
    case wordbeg:
    case wordend:
    case wordbound:
    case notwordbound:





      break;

    case start_memory:
      reg_no = *p1;
      ;
      ret = byte_group_match_null_string_p (&p1, end, reg_info);




      if (((reg_info[reg_no]).bits.match_null_string_p) == 3)
        ((reg_info[reg_no]).bits.match_null_string_p) = ret;

      if (!ret)
        return 0;
      break;


    case jump:
      do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
      if (mcnt >= 0)
        p1 += mcnt;
      else
        return 0;
      break;

    case succeed_n:

      p1 += 2;
      do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);

      if (mcnt == 0)
        {
          p1 -= 2 * 2;
          do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
          p1 += mcnt;
        }
      else
        return 0;
      break;

    case duplicate:
      if (!((reg_info[*p1]).bits.match_null_string_p))
        return 0;
      break;

    case set_number_at:
      p1 += 2 * 2;

    default:

      return 0;
  }

  *p = p1;
  return 1;
}





static int
byte_bcmp_translate (s1, s2, len, translate)
     const char *s1, *s2;
     register int len;
     char * translate;
{
  register const unsigned char *p1 = (const unsigned char *) s1;
  register const unsigned char *p2 = (const unsigned char *) s2;
  while (len)
    {





      if (translate[*p1++] != translate[*p2++]) return 1;

      len--;
    }
  return 0;
}
# 650 "../../libiberty/regex.c" 2
# 1342 "../../libiberty/regex.c"
reg_syntax_t xre_syntax_options;
# 1352 "../../libiberty/regex.c"
reg_syntax_t
xre_set_syntax (syntax)
    reg_syntax_t syntax;
{
  reg_syntax_t ret = xre_syntax_options;

  xre_syntax_options = syntax;






  return ret;
}
# 1376 "../../libiberty/regex.c"
static const char *re_error_msgid[] =
  {
    "Success",
    "No match",
    "Invalid regular expression",
    "Invalid collation character",
    "Invalid character class name",
    "Trailing backslash",
    "Invalid back reference",
    "Unmatched [ or [^",
    "Unmatched ( or \\(",
    "Unmatched \\{",
    "Invalid content of \\{\\}",
    "Invalid range end",
    "Memory exhausted",
    "Invalid preceding regular expression",
    "Premature end of regular expression",
    "Regular expression too big",
    "Unmatched ) or \\)"
  };
# 4375 "../../libiberty/regex.c"
static boolean
group_in_compile_stack (compile_stack, regnum)
    compile_stack_type compile_stack;
    regnum_t regnum;
{
  int this_element;

  for (this_element = compile_stack.avail - 1;
       this_element >= 0;
       this_element--)
    if (compile_stack.stack[this_element].regnum == regnum)
      return 1;

  return 0;
}
# 4922 "../../libiberty/regex.c"
int
xre_compile_fastmap (bufp)
     struct re_pattern_buffer *bufp;
{





    return byte_re_compile_fastmap(bufp);
}
# 4951 "../../libiberty/regex.c"
void
xre_set_registers (bufp, regs, num_regs, starts, ends)
    struct re_pattern_buffer *bufp;
    struct re_registers *regs;
    unsigned num_regs;
    regoff_t *starts, *ends;
{
  if (num_regs)
    {
      bufp->regs_allocated = 1;
      regs->num_regs = num_regs;
      regs->start = starts;
      regs->end = ends;
    }
  else
    {
      bufp->regs_allocated = 0;
      regs->num_regs = 0;
      regs->start = regs->end = (regoff_t *) 0;
    }
}
# 4981 "../../libiberty/regex.c"
int
xre_search (bufp, string, size, startpos, range, regs)
     struct re_pattern_buffer *bufp;
     const char *string;
     int size, startpos, range;
     struct re_registers *regs;
{
  return xre_search_2 (bufp, 0, 0, string, size, startpos, range,
        regs, size);
}
# 5017 "../../libiberty/regex.c"
int
xre_search_2 (bufp, string1, size1, string2, size2, startpos, range, regs, stop)
     struct re_pattern_buffer *bufp;
     const char *string1, *string2;
     int size1, size2;
     int startpos;
     int range;
     struct re_registers *regs;
     int stop;
{






    return byte_re_search_2 (bufp, string1, size1, string2, size2, startpos,
        range, regs, stop);
}
# 5471 "../../libiberty/regex.c"
int
xre_match (bufp, string, size, pos, regs)
     struct re_pattern_buffer *bufp;
     const char *string;
     int size, pos;
     struct re_registers *regs;
{
  int result;







    result = byte_re_match_2_internal (bufp, 0, 0, string, size,
      pos, regs, size);





  return result;
}
# 5529 "../../libiberty/regex.c"
int
xre_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop)
     struct re_pattern_buffer *bufp;
     const char *string1, *string2;
     int size1, size2;
     int pos;
     struct re_registers *regs;
     int stop;
{
  int result;







    result = byte_re_match_2_internal (bufp, string1, size1, string2, size2,
      pos, regs, stop);






  return result;
}
# 7864 "../../libiberty/regex.c"
const char *
xre_compile_pattern (pattern, length, bufp)
     const char *pattern;
     size_t length;
     struct re_pattern_buffer *bufp;
{
  reg_errcode_t ret;



  bufp->regs_allocated = 0;




  bufp->no_sub = 0;


  bufp->newline_anchor = 1;






    ret = byte_regex_compile (pattern, length, xre_syntax_options, bufp);

  if (!ret)
    return 0;
  return (re_error_msgid[(int) ret]);
}
# 7905 "../../libiberty/regex.c"
static struct re_pattern_buffer re_comp_buf;

char *






xre_comp (s)
    const char *s;
{
  reg_errcode_t ret;

  if (!s)
    {
      if (!re_comp_buf.buffer)
 return ("No previous regular expression");
      return 0;
    }

  if (!re_comp_buf.buffer)
    {
      re_comp_buf.buffer = (unsigned char *) malloc (200);
      if (re_comp_buf.buffer == 0)
        return (char *) (re_error_msgid[(int) REG_ESPACE]);
      re_comp_buf.allocated = 200;

      re_comp_buf.fastmap = (char *) malloc (1 << 8);
      if (re_comp_buf.fastmap == 0)
 return (char *) (re_error_msgid[(int) REG_ESPACE]);
    }





  re_comp_buf.newline_anchor = 1;






    ret = byte_regex_compile (s, strlen (s), xre_syntax_options, &re_comp_buf);

  if (!ret)
    return 0;


  return (char *) (re_error_msgid[(int) ret]);
}


int



xre_exec (s)
    const char *s;
{
  const int len = strlen (s);
  return
    0 <= xre_search (&re_comp_buf, s, len, 0, len, (struct re_registers *) 0);
}
# 8012 "../../libiberty/regex.c"
int
xregcomp (preg, pattern, cflags)
    regex_t *preg;
    const char *pattern;
    int cflags;
{
  reg_errcode_t ret;
  reg_syntax_t syntax
    = (cflags & 1) ?
      ((((((unsigned long int) 1) << 1) << 1) | ((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | ((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)) | (((((unsigned long int) 1) << 1) << 1) << 1) | ((((((unsigned long int) 1) << 1) << 1) << 1) << 1) | ((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) | (((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)) : ((((((unsigned long int) 1) << 1) << 1) | ((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | ((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)) | (((unsigned long int) 1) << 1));


  preg->buffer = 0;
  preg->allocated = 0;
  preg->used = 0;


  preg->fastmap = (char *) malloc (1 << 8);

  if (cflags & (1 << 1))
    {
      unsigned i;

      preg->translate
 = (char *) malloc (256
          * sizeof (*(char *)0));
      if (preg->translate == 0)
        return (int) REG_ESPACE;


      for (i = 0; i < 256; i++)
        preg->translate[i] = (((i & ~0x7F) == 0) && __istype((i), 0x00008000L)) ? __tolower(i) : i;
    }
  else
    preg->translate = 0;


  if (cflags & ((1 << 1) << 1))
    {
      syntax &= ~((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1);
      syntax |= ((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1);

      preg->newline_anchor = 1;
    }
  else
    preg->newline_anchor = 0;

  preg->no_sub = !!(cflags & (((1 << 1) << 1) << 1));
# 8068 "../../libiberty/regex.c"
    ret = byte_regex_compile (pattern, strlen (pattern), syntax, preg);



  if (ret == REG_ERPAREN) ret = REG_EPAREN;

  if (ret == REG_NOERROR && preg->fastmap)
    {


      if (xre_compile_fastmap (preg) == -2)
 {


   free (preg->fastmap);
   preg->fastmap = 0;
 }
    }

  return (int) ret;
}
# 8108 "../../libiberty/regex.c"
int
xregexec (preg, string, nmatch, pmatch, eflags)
    const regex_t *preg;
    const char *string;
    size_t nmatch;
    regmatch_t pmatch[];
    int eflags;
{
  int ret;
  struct re_registers regs;
  regex_t private_preg;
  int len = strlen (string);
  boolean want_reg_info = !preg->no_sub && nmatch > 0;

  private_preg = *preg;

  private_preg.not_bol = !!(eflags & 1);
  private_preg.not_eol = !!(eflags & (1 << 1));




  private_preg.regs_allocated = 2;

  if (want_reg_info)
    {
      regs.num_regs = nmatch;
      regs.start = ((regoff_t *) malloc ((nmatch * 2) * sizeof (regoff_t)));
      if (regs.start == 0)
        return (int) REG_NOMATCH;
      regs.end = regs.start + nmatch;
    }


  ret = xre_search (&private_preg, string, len,
                                0, len,
                   want_reg_info ? &regs : (struct re_registers *) 0);


  if (want_reg_info)
    {
      if (ret >= 0)
        {
          unsigned r;

          for (r = 0; r < nmatch; r++)
            {
              pmatch[r].rm_so = regs.start[r];
              pmatch[r].rm_eo = regs.end[r];
            }
        }


      free (regs.start);
    }


  return ret >= 0 ? (int) REG_NOERROR : (int) REG_NOMATCH;
}
# 8175 "../../libiberty/regex.c"
size_t
xregerror (errcode, preg, errbuf, errbuf_size)
    int errcode;
    const regex_t *preg;
    char *errbuf;
    size_t errbuf_size;
{
  const char *msg;
  size_t msg_size;

  if (errcode < 0
      || errcode >= (int) (sizeof (re_error_msgid)
      / sizeof (re_error_msgid[0])))




    abort ();

  msg = (re_error_msgid[errcode]);

  msg_size = strlen (msg) + 1;

  if (errbuf_size != 0)
    {
      if (msg_size > errbuf_size)
        {



          (bcopy (msg, errbuf, errbuf_size - 1), (errbuf));
          errbuf[errbuf_size - 1] = 0;

        }
      else
        (bcopy (msg, errbuf, msg_size), (errbuf));
    }

  return msg_size;
}







void
xregfree (preg)
    regex_t *preg;
{
  if (preg->buffer != 0)
    free (preg->buffer);
  preg->buffer = 0;

  preg->allocated = 0;
  preg->used = 0;

  if (preg->fastmap != 0)
    free (preg->fastmap);
  preg->fastmap = 0;
  preg->fastmap_accurate = 0;

  if (preg->translate != 0)
    free (preg->translate);
  preg->translate = 0;
}

[-- Attachment #3: Type: text/plain, Size: 16 bytes --]



Asm produced:

[-- Attachment #4: temp.s --]
[-- Type: application/octet-stream, Size: 118948 bytes --]

	.globl _xre_max_failures
.data
	.align 2
_xre_max_failures:
	.long	4000
.cstring
	.align 2
LC0:
	.ascii "Success\0"
	.align 2
LC1:
	.ascii "No match\0"
	.align 2
LC2:
	.ascii "Invalid regular expression\0"
	.align 2
LC3:
	.ascii "Invalid collation character\0"
	.align 2
LC4:
	.ascii "Invalid character class name\0"
	.align 2
LC5:
	.ascii "Trailing backslash\0"
	.align 2
LC6:
	.ascii "Invalid back reference\0"
	.align 2
LC7:
	.ascii "Unmatched [ or [^\0"
	.align 2
LC8:
	.ascii "Unmatched ( or \\(\0"
	.align 2
LC9:
	.ascii "Unmatched \\{\0"
	.align 2
LC10:
	.ascii "Invalid content of \\{\\}\0"
	.align 2
LC11:
	.ascii "Invalid range end\0"
	.align 2
LC12:
	.ascii "Memory exhausted\0"
	.align 2
LC13:
	.ascii "Invalid preceding regular expression\0"
	.align 2
LC14:
	.ascii "Premature end of regular expression\0"
	.align 2
LC15:
	.ascii "Regular expression too big\0"
	.align 2
LC16:
	.ascii "Unmatched ) or \\)\0"
.data
	.align 2
_re_error_msgid:
	.long	LC0
	.long	LC1
	.long	LC2
	.long	LC3
	.long	LC4
	.long	LC5
	.long	LC6
	.long	LC7
	.long	LC8
	.long	LC9
	.long	LC10
	.long	LC11
	.long	LC12
	.long	LC13
	.long	LC14
	.long	LC15
	.long	LC16
.text
	.align 2
_byte_store_op1:
	srawi r0,r5,8
	stb r3,0(r4)
	stb r0,2(r4)
	stb r5,1(r4)
	blr
	.align 2
_byte_store_op2:
	srawi r2,r5,8
	srawi r0,r6,8
	stb r0,4(r4)
	stb r3,0(r4)
	stb r2,2(r4)
	stb r5,1(r4)
	stb r6,3(r4)
	blr
	.align 2
_byte_insert_op1:
	cmpw cr7,r6,r4
	stw r31,-4(r1)
	addi r2,r6,3
	beq- cr7,L11
	subf r0,r4,r6
	mtctr r0
L12:
	lbzu r0,-1(r6)
	stbu r0,-1(r2)
	bdnz L12
L11:
	lwz r31,-4(r1)
	b _byte_store_op1
	.align 2
_byte_insert_op2:
	cmpw cr7,r7,r4
	stw r31,-4(r1)
	addi r2,r7,5
	beq- cr7,L19
	subf r0,r4,r7
	mtctr r0
L20:
	lbzu r0,-1(r7)
	stbu r0,-1(r2)
	bdnz L20
L19:
	lwz r31,-4(r1)
	b _byte_store_op2
	.align 2
_byte_compile_range:
	lwz r11,0(r4)
	mr r9,r3
	li r3,11
	cmpw cr7,r11,r5
	beqlr- cr7
	andis. r0,r7,1
	cmpwi cr6,r6,0
	addi r2,r11,1
	mfcr r0
	rlwinm r0,r0,3,1
	stw r2,0(r4)
	addic r7,r0,-1
	subfe r7,r7,r7
	andi. r7,r7,11
	beq- cr6,L27
	rlwinm r0,r9,0,0xff
	lbz r2,0(r11)
	lbzx r9,r6,r0
	lbzx r2,r6,r2
	extsb r9,r9
L28:
	cmplw cr7,r9,r2
	mr r3,r9
	bgt- cr7,L40
	addi r0,r2,1
	li r10,1
	subf r0,r9,r0
	mtctr r0
	b L41
L43:
	lbzx r0,r6,r2
	srawi r0,r0,3
	addze r0,r0
L42:
	add r9,r8,r0
	srawi r0,r2,3
	addze r0,r0
	beq- cr6,L34
	lbzx r0,r6,r2
	srawi r0,r0,3
	addze r0,r0
L34:
	add r11,r8,r0
	srawi r0,r2,3
	addze r0,r0
	slwi r0,r0,3
	lbz r11,0(r11)
	subf r0,r0,r2
	slw r0,r10,r0
	or r0,r11,r0
	beq- cr6,L37
	lbzx r2,r6,r2
	srawi r0,r2,3
	addze r0,r0
	slwi r0,r0,3
	subf r2,r0,r2
	slw r2,r10,r2
	or r0,r11,r2
L37:
	stb r0,0(r9)
	addi r3,r3,1
	li r7,0
	bdz L40
L41:
	rlwinm r2,r3,0,0xff
	bne- cr6,L43
	rlwinm r2,r3,0,0xff
	srawi r0,r2,3
	addze r0,r0
	b L42
L40:
	mr r3,r7
	blr
L27:
	lbz r2,0(r11)
	b L28
	.align 2
_byte_re_compile_fastmap:
	mflr r0
	stmw r22,-40(r1)
	bcl 20,31,"L00000000001$pb"
"L00000000001$pb":
	mr r26,r3
	mflr r31
	li r24,1
	stw r0,8(r1)
	li r22,0
	stwu r1,-128(r1)
	lwz r0,0(r1)
	mr r30,r1
	stwu r0,-48(r1)
	addi r9,r1,64
	lwz r0,0(r3)
	cmpwi cr7,r9,0
	lwz r2,8(r3)
	lwz r28,16(r3)
	mr r27,r0
	add r25,r0,r2
	stw r9,64(r30)
	li r3,-2
	beq- cr7,L44
	li r0,5
	mr r3,r28
	li r4,0
	li r5,256
	stw r0,68(r30)
	stw r22,72(r30)
	bl L_memset$stub
	lwz r0,28(r26)
	oris r0,r0,0x1000
	rlwinm r0,r0,0,1,31
	stw r0,28(r26)
	b L168
L163:
L168:
	cmpw cr7,r27,r25
	beq- cr7,L50
	lbz r9,0(r27)
	cmpwi cr7,r9,1
	beq- cr7,L50
	cmplwi cr7,r9,29
	addi r27,r27,1
	bgt- cr7,L141
	addis r2,r31,ha16(L142-"L00000000001$pb")
	slwi r9,r9,2
	la r2,lo16(L142-"L00000000001$pb")(r2)
	lwzx r0,r9,r2
	add r0,r0,r2
	mtctr r0
	bctr
	.align 2
L142:
	.long L163-L142
	.long L141-L142
	.long L56-L142
	.long L85-L142
	.long L57-L142
	.long L63-L142
	.long L140-L142
	.long L140-L142
	.long L54-L142
	.long L163-L142
	.long L163-L142
	.long L163-L142
	.long L163-L142
	.long L108-L142
	.long L108-L142
	.long L118-L142
	.long L118-L142
	.long L108-L142
	.long L108-L142
	.long L108-L142
	.long L163-L142
	.long L134-L142
	.long L108-L142
	.long L138-L142
	.long L73-L142
	.long L79-L142
	.long L163-L142
	.long L163-L142
	.long L163-L142
	.long L163-L142
L50:
	lwz r5,72(r30)
	cmpwi cr7,r5,0
	beq- cr7,L48
	lwz r2,28(r26)
	addi r5,r5,-1
	lwz r9,64(r30)
	rlwinm r0,r2,1,31,31
	or r0,r0,r24
	li r24,1
	rlwimi r2,r0,31,0,0
	stw r2,28(r26)
	slwi r2,r5,2
	stw r5,72(r30)
	lwzx r27,r2,r9
	b L163
L54:
	lwz r0,28(r26)
	oris r0,r0,0x8000
	stw r0,28(r26)
L55:
	li r3,0
L44:
	lwz r1,0(r1)
	lwz r0,8(r1)
	lmw r22,-40(r1)
	mtlr r0
	blr
L48:
	lwz r0,28(r26)
	rlwinm r2,r0,1,31,31
	or r2,r2,r24
	rlwimi r0,r2,31,0,0
	stw r0,28(r26)
	b L55
L134:
	lbzu r0,2(r27)
	lbz r2,1(r27)
	addi r27,r27,2
	extsb r2,r2
	slwi r2,r2,8
	add r0,r0,r2
	cmpwi cr7,r0,0
	bne+ cr7,L163
	addi r27,r27,-4
	li r22,1
L118:
	lbz r0,1(r27)
	lbz r11,0(r27)
	addi r27,r27,2
	extsb r0,r0
	slwi r0,r0,8
	add r11,r11,r0
	add r23,r27,r11
	cmplw cr7,r23,r25
	blt- cr7,L166
	lwz r0,28(r26)
	oris r0,r0,0x8000
	stw r0,28(r26)
L130:
	cmpwi cr7,r22,0
	beq- cr7,L163
	addi r27,r27,2
	li r22,0
	b L163
L141:
	bl L_abort$stub
L108:
	lbz r0,1(r27)
	lbz r11,0(r27)
	addi r27,r27,2
	extsb r0,r0
	slwi r0,r0,8
	add r11,r11,r0
	cmpwi cr7,r11,0
	add r27,r27,r11
	bgt+ cr7,L163
	lbz r0,0(r27)
	cmpwi cr7,r0,15
	beq- cr7,L112
	cmpwi cr7,r0,21
	bne+ cr7,L163
L112:
	lbzu r11,1(r27)
	lwz r5,72(r30)
	lbz r0,1(r27)
	addi r27,r27,2
	cmpwi cr7,r5,0
	extsb r0,r0
	slwi r0,r0,8
	add r11,r11,r0
	add r27,r27,r11
	beq- cr7,L163
	lwz r0,64(r30)
	slwi r2,r5,2
	add r2,r2,r0
	lwz r9,-4(r2)
	cmpw cr7,r9,r27
	bne+ cr7,L163
	addi r5,r5,-1
	stw r5,72(r30)
	b L163
L138:
	addi r27,r27,4
	b L163
L73:
	li r0,256
	addis r9,r31,ha16(_re_syntax_table-"L00000000001$pb")
	mtctr r0
	la r9,lo16(_re_syntax_table-"L00000000001$pb")(r9)
	li r11,0
	b L169
L76:
	addi r11,r11,1
	bdz L53
L157:
L169:
	rlwinm r0,r11,0,0xff
	lbzx r2,r9,r0
	extsb r2,r2
	cmpwi cr7,r2,1
	bne+ cr7,L76
	stbx r2,r28,r11
	addi r11,r11,1
	bdnz L157
L53:
	li r24,0
	mr r27,r25
	b L163
L79:
	addis r9,r31,ha16(_re_syntax_table-"L00000000001$pb")
	li r2,256
	la r9,lo16(_re_syntax_table-"L00000000001$pb")(r9)
	li r11,0
	li r10,1
	mtctr r2
L156:
	rlwinm r0,r11,0,0xff
	lbzx r2,r9,r0
	cmpwi cr7,r2,1
	beq- cr7,L82
	stbx r10,r28,r11
L82:
	addi r11,r11,1
	bdnz L156
	li r24,0
	mr r27,r25
	b L163
L140:
	addi r27,r27,2
	b L163
L56:
	lbz r2,1(r27)
	li r0,1
	li r24,0
	mr r27,r25
	stbx r0,r28,r2
	b L163
L85:
	lbz r0,10(r28)
	li r9,256
	mtctr r9
	li r11,0
	extsb r2,r0
	li r0,1
L155:
	stbx r0,r28,r11
	addi r11,r11,1
	bdnz L155
	lwz r0,12(r26)
	andi. r9,r0,64
	bne- cr0,L90
	li r24,0
	mr r27,r25
	stb r2,10(r28)
	b L163
L57:
	lbz r0,0(r27)
	addi r27,r27,1
	slwi r0,r0,3
	addic. r11,r0,-1
	blt- cr0,L53
	mtctr r0
	li r10,1
L160:
	srawi r9,r11,3
	addze r9,r9
	slwi r0,r9,3
	lbzx r2,r27,r9
	subf r0,r0,r11
	sraw r2,r2,r0
	andi. r0,r2,1
	beq- cr0,L60
	stbx r10,r28,r11
L60:
	addi r11,r11,-1
	bdnz L160
	li r24,0
	mr r27,r25
	b L163
L63:
	lbz r0,0(r27)
	slwi r11,r0,3
	cmpwi cr7,r11,255
	bgt- cr7,L146
	subfic r2,r11,256
	li r0,1
	mtctr r2
L159:
	stbx r0,r28,r11
	addi r11,r11,1
	bdnz L159
	lbz r0,0(r27)
L146:
	slwi r0,r0,3
	addi r27,r27,1
	addic. r11,r0,-1
	blt- cr0,L53
	mtctr r0
	li r10,1
L158:
	srawi r9,r11,3
	addze r9,r9
	slwi r0,r9,3
	lbzx r2,r27,r9
	subf r0,r0,r11
	sraw r2,r2,r0
	andi. r9,r2,1
	bne- cr0,L70
	stbx r10,r28,r11
L70:
	addi r11,r11,-1
	bdnz L158
	li r24,0
	mr r27,r25
	b L163
L166:
	lwz r5,72(r30)
	lwz r0,68(r30)
	cmpw cr7,r5,r0
	beq- cr7,L167
L125:
	lwz r2,64(r30)
	addi r0,r5,1
	slwi r9,r5,2
	stwx r23,r9,r2
	stw r0,72(r30)
	b L130
L90:
	lwz r0,28(r26)
	cmpwi cr7,r0,0
	blt- cr7,L55
	li r24,0
	mr r27,r25
	b L163
L167:
	addis r2,r31,ha16(_xre_max_failures-"L00000000001$pb")
	lwz r2,lo16(_xre_max_failures-"L00000000001$pb")(r2)
	mulli r2,r2,19
	cmplw cr7,r5,r2
	bgt- cr7,L124
	slwi r2,r5,3
	lwz r0,0(r1)
	addi r2,r2,30
	lwz r3,64(r30)
	rlwinm r2,r2,0,0,27
	slwi r5,r5,2
	neg r2,r2
	stwux r0,r1,r2
	addi r29,r1,64
	mr r4,r29
	bl L_bcopy$stub
	cmpwi cr7,r29,0
	stw r29,64(r30)
	beq- cr7,L124
	lwz r0,68(r30)
	lwz r5,72(r30)
	slwi r0,r0,1
	stw r0,68(r30)
	b L125
L124:
	li r3,-2
	b L44
	.align 2
_byte_common_op_match_null_string_p:
	mflr r0
	stmw r28,-16(r1)
	bcl 20,31,"L00000000002$pb"
"L00000000002$pb":
	mr r28,r3
	mflr r31
	mr r30,r5
	stw r0,8(r1)
	stwu r1,-80(r1)
	lwz r11,0(r3)
	stw r11,56(r1)
	lbz r9,0(r11)
	addi r11,r11,1
	mr r10,r11
	cmplwi cr7,r9,29
	bgt- cr7,L203
	addis r2,r31,ha16(L200-"L00000000002$pb")
	slwi r9,r9,2
	la r2,lo16(L200-"L00000000002$pb")(r2)
	lwzx r0,r9,r2
	add r0,r0,r2
	mtctr r0
	bctr
	.align 2
L200:
	.long L204-L200
	.long L203-L200
	.long L203-L200
	.long L203-L200
	.long L203-L200
	.long L203-L200
	.long L181-L200
	.long L203-L200
	.long L196-L200
	.long L204-L200
	.long L204-L200
	.long L204-L200
	.long L204-L200
	.long L184-L200
	.long L203-L200
	.long L203-L200
	.long L203-L200
	.long L203-L200
	.long L203-L200
	.long L203-L200
	.long L203-L200
	.long L189-L200
	.long L203-L200
	.long L198-L200
	.long L203-L200
	.long L203-L200
	.long L204-L200
	.long L204-L200
	.long L204-L200
	.long L204-L200
L198:
	addi r11,r11,4
L203:
	stw r11,56(r1)
	li r3,0
L170:
	addi r1,r1,80
	lwz r0,8(r1)
	lmw r28,-16(r1)
	mtlr r0
	blr
L189:
	addi r11,r11,2
	stw r11,56(r1)
	lbz r0,1(r11)
	addi r11,r11,2
	lbz r2,2(r10)
	extsb r0,r0
	slwi r0,r0,8
	add r2,r2,r0
	cmpwi cr7,r2,0
	bne- cr7,L192
	addi r11,r11,-4
	stw r11,56(r1)
	lbz r0,1(r11)
	lbz r2,0(r11)
	addi r11,r11,2
	extsb r0,r0
	slwi r0,r0,8
	add r2,r2,r0
L205:
	add r11,r11,r2
L204:
	stw r11,56(r1)
	li r3,1
	stw r11,0(r28)
L207:
	addi r1,r1,80
	lwz r0,8(r1)
	lmw r28,-16(r1)
	mtlr r0
	blr
L181:
	stw r11,56(r1)
	addi r3,r1,56
	lbz r29,0(r11)
	bl _byte_group_match_null_string_p
	slwi r29,r29,2
	lwzx r2,r29,r30
	rlwinm r0,r2,2,30,31
	cmpwi cr7,r0,3
	beq- cr7,L206
L182:
	extsb r0,r3
	li r3,0
	cmpwi cr7,r0,0
	beq- cr7,L170
	lwz r11,56(r1)
	li r3,1
	stw r11,0(r28)
	b L207
L196:
	stw r11,56(r1)
	li r3,0
	lbz r0,0(r11)
	slwi r0,r0,2
	lwzx r2,r5,r0
	srwi. r0,r2,30
	beq- cr0,L170
	li r3,1
	stw r11,0(r28)
	b L207
L184:
	stw r11,56(r1)
	lbz r0,1(r11)
	lbz r2,0(r11)
	addi r11,r11,2
	extsb r0,r0
	slwi r0,r0,8
	add. r2,r2,r0
	bge+ cr0,L205
L192:
	li r3,0
	stw r11,56(r1)
	b L170
L206:
	mr r0,r2
	rlwimi r0,r3,30,0,1
	stwx r0,r29,r30
	b L182
	.align 2
_byte_alt_match_null_string_p:
	mflr r0
	cmplw cr7,r3,r4
	stmw r29,-12(r1)
	mr r9,r3
	mr r30,r4
	mr r29,r5
	stw r0,8(r1)
	stwu r1,-80(r1)
	stw r3,56(r1)
	bge- cr7,L219
L222:
	lbz r0,0(r9)
	addi r3,r1,56
	mr r4,r30
	mr r5,r29
	cmpwi cr7,r0,15
	addi r9,r9,1
	bne- cr7,L215
	stw r9,56(r1)
	lbz r0,1(r9)
	lbz r2,0(r9)
	addi r9,r9,2
	extsb r0,r0
	slwi r0,r0,8
	add r2,r2,r0
	add r9,r9,r2
	cmplw cr7,r9,r30
	stw r9,56(r1)
L223:
	blt+ cr7,L222
L219:
	li r3,1
L208:
	addi r1,r1,80
	lwz r0,8(r1)
	lmw r29,-12(r1)
	mtlr r0
	blr
L215:
	bl _byte_common_op_match_null_string_p
	extsb r3,r3
	cmpwi cr7,r3,0
	beq- cr7,L208
	lwz r9,56(r1)
	cmplw cr7,r9,r30
	b L223
	.align 2
_byte_group_match_null_string_p:
	mflr r0
	stmw r27,-20(r1)
	mr r27,r3
	mr r28,r4
	mr r29,r5
	stw r0,8(r1)
	stwu r1,-96(r1)
	lwz r2,0(r3)
	addi r3,r2,2
	cmplw cr7,r3,r4
	stw r3,56(r1)
	mr r2,r3
	bge- cr7,L247
L251:
	lbz r0,0(r3)
	cmpwi cr7,r0,7
	beq- cr7,L242
	cmpwi cr7,r0,15
	bne- cr7,L243
	addi r3,r3,1
	stw r3,56(r1)
	lbz r0,1(r3)
	addi r3,r2,3
	lbz r30,1(r2)
	extsb r0,r0
	stw r3,56(r1)
	slwi r0,r0,8
	add. r30,r30,r0
	blt- cr0,L225
	add r2,r3,r30
	lbz r0,-3(r2)
	cmpwi cr7,r0,14
	beq- cr7,L239
L233:
	lbz r0,-1(r3)
	mr r5,r29
	lbz r30,-2(r3)
	extsb r0,r0
	slwi r0,r0,8
	add r30,r30,r0
	add r4,r3,r30
	bl _byte_alt_match_null_string_p
	extsb r3,r3
	cmpwi cr7,r3,0
	beq- cr7,L224
	lwz r3,56(r1)
	add r3,r3,r30
	stw r3,56(r1)
L225:
	cmplw cr7,r3,r28
L252:
	mr r2,r3
	blt+ cr7,L251
L247:
	li r3,0
L224:
	addi r1,r1,96
	lwz r0,8(r1)
	lmw r27,-20(r1)
	mtlr r0
	blr
L239:
	add r4,r3,r30
	mr r5,r29
	addi r4,r4,-3
	bl _byte_alt_match_null_string_p
	extsb r3,r3
	cmpwi cr7,r3,0
	beq- cr7,L224
	lwz r2,56(r1)
	add r3,r2,r30
	stw r3,56(r1)
	lbzx r0,r2,r30
	cmpwi cr7,r0,15
	bne- cr7,L233
	addi r3,r3,1
	stw r3,56(r1)
	lbz r0,1(r3)
	lbz r30,0(r3)
	addi r3,r3,2
	extsb r0,r0
	stw r3,56(r1)
	slwi r0,r0,8
	add r30,r30,r0
	add r2,r3,r30
	lbz r0,-3(r2)
	cmpwi cr7,r0,14
	beq+ cr7,L239
	addi r3,r3,-3
	stw r3,56(r1)
	b L233
L243:
	addi r3,r1,56
	mr r4,r28
	mr r5,r29
	bl _byte_common_op_match_null_string_p
	extsb r3,r3
	cmpwi cr7,r3,0
	beq- cr7,L224
	lwz r3,56(r1)
	cmplw cr7,r3,r28
	b L252
L242:
	addi r0,r3,2
	li r3,1
	stw r0,0(r27)
	b L224
	.align 2
	.globl _xre_set_syntax
_xre_set_syntax:
	mflr r0
	bcl 20,31,"L00000000003$pb"
"L00000000003$pb":
	stw r31,-4(r1)
	mflr r31
	stw r0,8(r1)
	addis r2,r31,ha16(L_xre_syntax_options$non_lazy_ptr-"L00000000003$pb")
	lwz r31,-4(r1)
	lwz r2,lo16(L_xre_syntax_options$non_lazy_ptr-"L00000000003$pb")(r2)
	lwz r0,0(r2)
	stw r3,0(r2)
	mr r3,r0
	lwz r0,8(r1)
	mtlr r0
	blr
	.align 2
	.globl _xre_compile_fastmap
_xre_compile_fastmap:
	stw r31,-4(r1)
	lwz r31,-4(r1)
	b _byte_re_compile_fastmap
	.align 2
	.globl _xre_set_registers
_xre_set_registers:
	cmpwi cr0,r5,0
	beq- cr0,L256
	lwz r2,28(r3)
	li r0,1
	rlwimi r2,r0,29,1,2
	stw r2,28(r3)
	stw r7,8(r4)
	stw r5,0(r4)
	stw r6,4(r4)
	blr
L256:
	lwz r0,28(r3)
	rlwimi r0,r5,29,1,2
	stw r0,28(r3)
	stw r5,4(r4)
	stw r5,0(r4)
	stw r5,8(r4)
	blr
	.align 2
	.globl _xregerror
_xregerror:
	mflr r0
	bcl 20,31,"L00000000004$pb"
"L00000000004$pb":
	stmw r27,-20(r1)
	cmplwi cr7,r3,16
	mflr r31
	mr r28,r6
	stw r0,8(r1)
	mr r27,r5
	stwu r1,-96(r1)
	slwi r0,r3,2
	addis r2,r31,ha16(_re_error_msgid-"L00000000004$pb")
	la r2,lo16(_re_error_msgid-"L00000000004$pb")(r2)
	bgt- cr7,L263
	lwzx r30,r2,r0
	mr r3,r30
	bl L_strlen$stub
	cmpwi cr7,r28,0
	addi r29,r3,1
	cmplw cr6,r29,r28
	beq- cr7,L260
	mr r3,r30
	mr r4,r27
	addi r5,r28,-1
	ble- cr6,L261
	bl L_bcopy$stub
	add r2,r27,r28
	li r0,0
	stb r0,-1(r2)
L260:
	addi r1,r1,96
	mr r3,r29
	lwz r0,8(r1)
	lmw r27,-20(r1)
	mtlr r0
	blr
L261:
	mr r3,r30
	mr r4,r27
	mr r5,r29
	bl L_bcopy$stub
	addi r1,r1,96
	lwz r0,8(r1)
	mr r3,r29
	lmw r27,-20(r1)
	mtlr r0
	blr
L263:
	bl L_abort$stub
	.align 2
	.globl _xregfree
_xregfree:
	mflr r0
	stmw r29,-12(r1)
	mr r30,r3
	li r29,0
	stw r0,8(r1)
	stwu r1,-80(r1)
	lwz r3,0(r3)
	cmpwi cr7,r3,0
	bne- cr7,L268
	lwz r3,16(r30)
	stw r29,0(r30)
	cmpwi cr7,r3,0
	stw r29,4(r30)
	stw r29,8(r30)
	bne- cr7,L269
L266:
	lwz r3,20(r30)
	lwz r0,28(r30)
	cmpwi cr7,r3,0
	stw r29,16(r30)
	rlwinm r0,r0,0,4,2
	stw r0,28(r30)
	bne- cr7,L270
L267:
	addi r1,r1,80
	stw r29,20(r30)
	lwz r0,8(r1)
	lmw r29,-12(r1)
	mtlr r0
	blr
L268:
	bl L_free$stub
	lwz r3,16(r30)
	stw r29,0(r30)
	cmpwi cr7,r3,0
	stw r29,4(r30)
	stw r29,8(r30)
	beq+ cr7,L266
L269:
	bl L_free$stub
	lwz r3,20(r30)
	lwz r0,28(r30)
	cmpwi cr7,r3,0
	stw r29,16(r30)
	rlwinm r0,r0,0,4,2
	stw r0,28(r30)
	beq+ cr7,L267
L270:
	bl L_free$stub
	addi r1,r1,80
	lwz r0,8(r1)
	stw r29,20(r30)
	lmw r29,-12(r1)
	mtlr r0
	blr
.lcomm done.0,4,2
.data
.cstring
	.align 2
LC17:
	.ascii "alnum\0"
	.align 2
LC18:
	.ascii "alpha\0"
	.align 2
LC19:
	.ascii "blank\0"
	.align 2
LC20:
	.ascii "cntrl\0"
	.align 2
LC21:
	.ascii "digit\0"
	.align 2
LC22:
	.ascii "graph\0"
	.align 2
LC23:
	.ascii "lower\0"
	.align 2
LC24:
	.ascii "print\0"
	.align 2
LC25:
	.ascii "punct\0"
	.align 2
LC26:
	.ascii "space\0"
	.align 2
LC27:
	.ascii "upper\0"
	.align 2
LC28:
	.ascii "xdigit\0"
.data
.const
	.align 2
LC29:
	.long	__CurrentRuneLocale
.text
	.align 2
_byte_regex_compile:
	mflr r0
	mfcr r12
	bcl 20,31,"L00000000005$pb"
"L00000000005$pb":
	stmw r13,-76(r1)
	mflr r31
	mr r18,r3
	stw r0,8(r1)
	li r3,640
	stw r12,4(r1)
	mr r26,r6
	stwu r1,-416(r1)
	add r21,r18,r4
	stw r18,240(r1)
	mr r17,r5
	lwz r20,20(r6)
	bl L_malloc$stub
	cmpwi cr7,r3,0
	stw r3,64(r1)
	li r25,0
	li r23,0
	li r22,0
	li r16,0
	li r3,12
	beq- cr7,L271
	addis r24,r31,ha16(done.0-"L00000000005$pb")
	lwz r0,28(r26)
	lwz r2,lo16(done.0-"L00000000005$pb")(r24)
	rlwinm r0,r0,0,4,2
	stw r17,12(r26)
	cmpwi cr7,r2,0
	rlwinm r0,r0,0,7,4
	li r2,32
	stw r25,8(r26)
	stw r2,68(r1)
	stw r25,24(r26)
	stw r0,28(r26)
	stw r25,72(r1)
	beq- cr7,L1277
L274:
	lwz r0,4(r26)
	cmpwi cr7,r0,0
	beq- cr7,L1278
	lwz r3,0(r26)
L284:
	lwz r30,240(r1)
	mr r27,r3
	mr r24,r3
	cmpw cr7,r30,r21
	beq- cr7,L1018
L1017:
	cmpw cr7,r30,r21
	beq- cr7,L1201
	cmpwi cr3,r20,0
	lbz r28,0(r30)
	addi r30,r30,1
	stw r30,240(r1)
	beq- cr3,L290
	lbzx r28,r20,r28
L290:
	addi r9,r28,-10
	cmplwi cr7,r9,114
	bgt- cr7,L315
	addis r2,r31,ha16(L1016-"L00000000005$pb")
	slwi r9,r9,2
	la r2,lo16(L1016-"L00000000005$pb")(r2)
	lwzx r0,r9,r2
	add r0,r0,r2
	mtctr r0
	bctr
	.align 2
L1016:
	.long L660-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L316-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L652-L1016
	.long L656-L1016
	.long L346-L1016
	.long L342-L1016
	.long L315-L1016
	.long L315-L1016
	.long L421-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L342-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L434-L1016
	.long L671-L1016
	.long L315-L1016
	.long L294-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L315-L1016
	.long L667-L1016
	.long L664-L1016
L1278:
	lwz r3,0(r26)
	cmpwi cr7,r3,0
	beq- cr7,L285
	li r4,32
	bl L_realloc$stub
L1257:
	stw r3,0(r26)
	lwz r3,0(r26)
	cmpwi cr7,r3,0
	beq- cr7,L1279
	li r0,32
	stw r0,4(r26)
	b L284
L696:
	andi. r0,r17,8192
	bne- cr0,L678
	lwz r0,72(r1)
	cmpwi cr7,r0,0
	bne- cr7,L658
	andis. r2,r17,2
	beq- cr0,L1271
L678:
	beq- cr3,L315
	lbzx r28,r20,r28
L315:
	cmpwi cr7,r25,0
	beq- cr7,L987
	lbz r0,0(r25)
	add r2,r25,r0
	addi r2,r2,1
	cmpw cr7,r2,r27
	beq- cr7,L1280
L987:
	lwz r3,0(r26)
	mr r23,r27
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,2
	cmplw cr7,r2,r0
	ble- cr7,L1101
	lis r29,0x1
	b L1003
L1281:
	stw r29,4(r26)
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
L1282:
	cmpw cr7,r30,r3
	beq- cr7,L993
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L1000
	add r22,r22,r3
L1000:
	cmpwi cr7,r23,0
	beq- cr7,L1001
	add r23,r23,r3
L1001:
	cmpwi cr7,r25,0
	beq- cr7,L993
	add r25,r25,r3
L993:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,2
	cmplw cr7,r2,r0
	ble- cr7,L1101
L1003:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1281
	stw r0,4(r26)
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	bne+ cr7,L1282
L1233:
	li r3,12
L271:
	addi r1,r1,416
	lwz r12,4(r1)
	lmw r13,-76(r1)
	lwz r0,8(r1)
	mtcrf 32,r12
	mtlr r0
	mtcrf 16,r12
	mtcrf 8,r12
	blr
L1101:
	li r0,2
	li r2,0
	stb r0,0(r27)
	stbu r2,1(r27)
	addi r27,r27,1
	addi r25,r27,-1
L986:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1103
	lis r29,0x1
	b L1015
L1283:
	stw r29,4(r26)
L1009:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L1005
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L1012
	add r22,r22,r3
L1012:
	cmpwi cr7,r23,0
	beq- cr7,L1013
	add r23,r23,r3
L1013:
	cmpwi cr7,r25,0
	beq- cr7,L1005
	add r25,r25,r3
L1005:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1103
L1015:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1283
	stw r0,4(r26)
	b L1009
L1103:
	stb r28,0(r27)
	addi r27,r27,1
	lbz r2,0(r25)
	addi r2,r2,1
	stb r2,0(r25)
L1114:
	lwz r30,240(r1)
L288:
	cmpw cr7,r30,r21
	bne+ cr7,L1017
	cmpwi cr7,r22,0
	beq- cr7,L1018
	subf r5,r22,r27
	li r3,14
	addi r5,r5,-3
	mr r4,r22
	bl _byte_store_op1
L1018:
	lwz r0,72(r1)
	cmpwi cr7,r0,0
	bne- cr7,L1284
	andis. r0,r17,4
	beq- cr0,L1020
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1105
	lis r29,0x1
	b L1032
L1285:
	stw r29,4(r26)
L1026:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L1022
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	beq- cr7,L1029
	add r22,r22,r3
L1029:
	cmpwi cr7,r23,0
	beq- cr7,L1030
	add r23,r23,r3
L1030:
	cmpwi cr7,r25,0
	beq- cr7,L1022
	add r25,r25,r3
L1022:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1105
L1032:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1285
	stw r0,4(r26)
	b L1026
L1277:
	addis r19,r31,ha16(_re_syntax_table-"L00000000005$pb")
	li r4,0
	la r29,lo16(_re_syntax_table-"L00000000005$pb")(r19)
	li r5,256
	mr r3,r29
	mr r27,r29
	bl L_memset$stub
	li r29,1
	addis r2,r31,ha16(L__CurrentRuneLocale$non_lazy_ptr-"L00000000005$pb")
	li r30,0
	lwz r28,lo16(L__CurrentRuneLocale$non_lazy_ptr-"L00000000005$pb")(r2)
	b L283
L279:
	lwz r0,0(r28)
	slwi r2,r30,2
	add r2,r2,r0
	lwz r9,52(r2)
	andi. r3,r9,1280
L281:
	cmpwi cr7,r3,0
	beq- cr7,L277
	stbx r29,r27,r30
L277:
	addi r30,r30,1
	cmpwi cr7,r30,255
	bgt- cr7,L1286
L283:
	rlwinm. r0,r30,0,0,24
	bne- cr0,L277
	cmplwi cr7,r30,255
	ble+ cr7,L279
	mr r3,r30
	bl L____runetype$stub
	andi. r3,r3,1280
	b L281
L285:
	li r3,32
	bl L_malloc$stub
	b L1257
L342:
	andi. r0,r17,2
	bne- cr0,L315
	andi. r2,r17,1024
	bne- cr0,L315
L345:
L346:
	cmpwi cr1,r23,0
	beq- cr1,L1287
L347:
	cmpwi cr6,r28,63
	cmpwi cr7,r28,43
	li r15,0
	li r19,0
	li r11,0
L1252:
	beq- cr7,L353
L1288:
	ori r19,r19,1
	beq- cr6,L355
L1289:
	ori r11,r11,1
L356:
	lwz r30,240(r1)
	cmpw cr7,r30,r21
	beq- cr7,L352
	lbz r28,0(r30)
	addi r30,r30,1
	stw r30,240(r1)
	beq- cr3,L358
	lbzx r28,r20,r28
L358:
	cmpwi cr7,r28,42
	beq- cr7,L1107
	rlwinm r9,r17,31,31,31
	cmpwi cr7,r9,0
	bne- cr7,L361
	cmpwi cr7,r28,43
	cmpwi cr6,r28,63
	mfcr r2
	rlwinm r0,r2,31,1
	rlwinm r2,r2,27,1
	or. r10,r0,r2
	bne- cr0,L1252
L361:
	xori r0,r28,92
	subfic r2,r0,0
	adde r0,r2,r0
	and. r8,r9,r0
	beq- cr0,L364
	cmpw cr7,r30,r21
	beq- cr7,L1188
	lbz r29,0(r30)
	addi r30,r30,1
	stw r30,240(r1)
	beq- cr3,L366
	lbzx r29,r20,r29
L366:
	xori r0,r29,43
	xori r2,r29,63
	neg r0,r0
	neg r2,r2
	and. r9,r2,r0
	blt- cr0,L1150
	mr r28,r29
L1107:
	cmpwi cr7,r28,43
	cmpwi cr6,r28,63
	bne- cr7,L1288
L353:
	extsb r19,r19
	bne- cr6,L1289
L355:
	extsb r11,r11
	b L356
L656:
	andi. r0,r17,8192
	beq- cr0,L315
L658:
	cmpwi cr7,r22,0
	beq- cr7,L701
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1067
	lis r29,0x1
	b L713
L1290:
	stw r29,4(r26)
L707:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L703
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L710
	add r22,r22,r3
L710:
	cmpwi cr7,r23,0
	beq- cr7,L711
	add r23,r23,r3
L711:
	cmpwi cr7,r25,0
	beq- cr7,L703
	add r25,r25,r3
L703:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1067
L713:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1290
	stw r0,4(r26)
	b L707
L660:
	andi. r2,r17,2048
L1267:
	srwi r0,r17,10
	beq- cr0,L315
L662:
	andi. r9,r0,1
	bne- cr0,L315
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	ble- cr7,L1071
	lis r29,0x1
	b L746
L1291:
	stw r29,4(r26)
L740:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L736
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L743
	add r22,r22,r3
L743:
	cmpwi cr7,r23,0
	beq- cr7,L744
	add r23,r23,r3
L744:
	cmpwi cr7,r25,0
	beq- cr7,L736
	add r25,r25,r3
L736:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	ble- cr7,L1071
L746:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1291
	stw r0,4(r26)
	b L740
L652:
	andi. r11,r17,8192
	beq- cr0,L315
L654:
	lwz r4,72(r1)
	addi r16,r16,1
	lwz r0,68(r1)
	lwz r2,24(r26)
	cmpw cr7,r4,r0
	addi r2,r2,1
	stw r2,24(r26)
	beq- cr7,L1292
L679:
	cmpwi cr7,r22,0
	lwz r3,0(r26)
	lwz r8,64(r1)
	mulli r9,r4,20
	subf r0,r3,r24
	subf r2,r3,r22
	stwx r0,r9,r8
	add r11,r9,r8
	addi r0,r2,1
	beq- cr7,L1293
L682:
	cmplwi cr7,r16,255
	mulli r2,r4,20
	subf r9,r3,r27
	stw r0,4(r11)
	add r2,r2,r8
	stw r16,16(r2)
	stw r9,12(r2)
	bgt- cr7,L683
	lwz r2,72(r1)
	addi r0,r9,2
	addi r9,r9,3
	mulli r2,r2,20
	add r2,r2,r8
	stw r0,8(r2)
	lwz r0,4(r26)
	cmplw cr7,r9,r0
	ble- cr7,L1065
	lis r29,0x1
L695:
	cmpw cr7,r0,r29
	mr r30,r3
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	ble- cr7,L1124
	stw r29,4(r26)
L689:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L685
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	beq- cr7,L692
	add r22,r22,r3
L692:
	cmpwi cr7,r23,0
	beq- cr7,L693
	add r23,r23,r3
L693:
	cmpwi cr7,r25,0
	beq- cr7,L685
	add r25,r25,r3
L685:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	addi r2,r2,3
	cmplw cr7,r2,r0
	bgt+ cr7,L695
L1065:
	li r0,6
	stb r0,0(r27)
	li r0,0
	stbu r16,1(r27)
	stbu r0,1(r27)
	addi r27,r27,1
L683:
	lwz r2,72(r1)
	li r22,0
	lwz r30,240(r1)
	li r23,0
	addi r4,r2,1
	mr r24,r27
	li r25,0
	stw r4,72(r1)
	b L288
L316:
	lwz r2,240(r1)
	cmpw cr7,r2,r21
	beq- cr7,L318
	andi. r0,r17,8
	beq- cr0,L1294
L318:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1040
	lis r29,0x1
	b L339
L1295:
	stw r29,4(r26)
L333:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L329
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L336
	add r22,r22,r3
L336:
	cmpwi cr7,r23,0
	beq- cr7,L337
	add r23,r23,r3
L337:
	cmpwi cr7,r25,0
	beq- cr7,L329
	add r25,r25,r3
L329:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1040
L339:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1295
	stw r0,4(r26)
	b L333
L664:
	andi. r8,r17,32768
	b L1267
L667:
	andi. r9,r17,512
	beq- cr0,L315
	srwi r9,r17,12
	andi. r10,r9,1
	beq+ cr0,L315
L669:
	lwz r30,240(r1)
	li r19,-1
	li r29,-1
	cmpw cr7,r30,r21
	mr r11,r30
	beq- cr7,L763
L772:
	cmpw cr7,r30,r21
	beq- cr7,L1201
	lbz r28,0(r30)
	addi r30,r30,1
	stw r30,240(r1)
	beq- cr3,L766
	lbzx r28,r20,r28
L766:
	addi r0,r28,-48
	rlwinm r0,r0,0,0xff
	cmplwi cr7,r0,9
	bgt- cr7,L765
	cmpwi cr7,r19,32767
	bgt- cr7,L764
	nor r0,r19,r19
	srawi r0,r0,31
	and r19,r19,r0
	mulli r2,r19,10
	add r2,r2,r28
	addi r19,r2,-48
L764:
	cmpw cr7,r30,r21
	bne+ cr7,L772
L765:
	cmpwi cr7,r28,44
	beq- cr7,L1296
	mr r29,r19
L784:
	cmpw cr7,r19,r29
	srwi r0,r19,31
	li r2,1
	bgt- cr7,L786
	li r2,0
L786:
	or. r8,r0,r2
	bne- cr0,L763
	andi. r10,r9,1
	bne- cr0,L787
	cmpwi cr7,r28,92
	bne- cr7,L763
	lwz r3,240(r1)
	cmpw cr7,r3,r21
	beq- cr7,L763
	addi r30,r3,1
	lbz r28,0(r3)
	stw r30,240(r1)
	beq- cr3,L787
	lbzx r28,r20,r28
L787:
	cmpwi cr7,r28,125
	bne- cr7,L763
	cmpwi cr7,r23,0
	beq- cr7,L1297
L794:
	cmpwi cr7,r29,32767
	bgt- cr7,L1203
	cmpwi cr7,r29,0
	bne- cr7,L801
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	ble- cr7,L1077
	lis r29,0x1
	b L812
L1298:
	stw r29,4(r26)
L806:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L802
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L809
	add r22,r22,r3
L809:
	cmpwi cr7,r23,0
	beq- cr7,L810
	add r23,r23,r3
L810:
	cmpwi cr7,r25,0
	beq- cr7,L802
	add r25,r25,r3
L802:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	ble- cr7,L1077
L812:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1298
	stw r0,4(r26)
	b L806
L294:
	lwz r2,240(r1)
	addi r0,r18,1
	cmpw cr7,r2,r0
	beq- cr7,L296
	andi. r0,r17,8
	beq- cr0,L1299
L296:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1038
	lis r29,0x1
	b L313
L1300:
	stw r29,4(r26)
L307:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L303
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L310
	add r22,r22,r3
L310:
	cmpwi cr7,r23,0
	beq- cr7,L311
	add r23,r23,r3
L311:
	cmpwi cr7,r25,0
	beq- cr7,L303
	add r25,r25,r3
L303:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1038
L313:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1300
	stw r0,4(r26)
	b L307
L671:
	lwz r2,240(r1)
	cmpw cr7,r2,r21
	beq- cr7,L1188
	lbz r28,0(r2)
	addi r30,r2,1
	stw r30,240(r1)
	addi r9,r28,-39
	cmplwi cr7,r9,85
	bgt- cr7,L678
	addis r2,r31,ha16(L984-"L00000000005$pb")
	slwi r9,r9,2
	la r2,lo16(L984-"L00000000005$pb")(r2)
	lwzx r0,r9,r2
	add r0,r0,r2
	mtctr r0
	bctr
	.align 2
L984:
	.long L933-L984
	.long L676-L984
	.long L696-L984
	.long L678-L984
	.long L978-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L955-L984
	.long L955-L984
	.long L955-L984
	.long L955-L984
	.long L955-L984
	.long L955-L984
	.long L955-L984
	.long L955-L984
	.long L955-L984
	.long L678-L984
	.long L678-L984
	.long L863-L984
	.long L678-L984
	.long L877-L984
	.long L978-L984
	.long L678-L984
	.long L678-L984
	.long L905-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L849-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L919-L984
	.long L678-L984
	.long L891-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L835-L984
	.long L678-L984
	.long L678-L984
	.long L678-L984
	.long L759-L984
	.long L732-L984
L434:
	lwz r0,240(r1)
	li r15,0
	li r14,-1
	cmpw cr7,r0,r21
	beq- cr7,L1184
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,34
	cmplw cr7,r2,r0
	ble- cr7,L1050
	lis r29,0x1
	b L446
L1301:
	stw r29,4(r26)
L440:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L436
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L443
	add r22,r22,r3
L443:
	cmpwi cr7,r23,0
	beq- cr7,L444
	add r23,r23,r3
L444:
	cmpwi cr7,r25,0
	beq- cr7,L436
	add r25,r25,r3
L436:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,34
	cmplw cr7,r2,r0
	ble- cr7,L1050
L446:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1301
	stw r0,4(r26)
	b L440
L421:
	lwz r3,0(r26)
	mr r23,r27
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1048
	lis r29,0x1
	b L433
L1302:
	stw r29,4(r26)
L427:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L423
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L430
	add r22,r22,r3
L430:
	cmpwi cr7,r23,0
	beq- cr7,L431
	add r23,r23,r3
L431:
	cmpwi cr7,r25,0
	beq- cr7,L423
	add r25,r25,r3
L423:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1048
L433:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1302
	stw r0,4(r26)
	b L427
L1232:
	addi r1,r1,416
	li r3,15
	lwz r12,4(r1)
	lmw r13,-76(r1)
	lwz r0,8(r1)
	mtcrf 32,r12
	mtlr r0
	mtcrf 16,r12
	mtcrf 8,r12
	blr
L1286:
	la r2,lo16(_re_syntax_table-"L00000000005$pb")(r19)
	li r0,1
	li r9,1
	stb r0,95(r2)
	stw r9,lo16(done.0-"L00000000005$pb")(r24)
	b L274
L1280:
	cmpwi cr7,r0,255
	beq- cr7,L987
	lwz r30,240(r1)
	lbz r0,0(r30)
	extsb r0,r0
	cmpwi cr7,r0,42
	beq- cr7,L987
	cmpwi cr7,r0,94
	beq- cr7,L987
	andi. r2,r17,2
	bne- cr0,L1303
L988:
	cmpwi cr7,r0,43
	beq- cr7,L987
	cmpwi cr7,r0,63
	beq- cr7,L987
L989:
	andi. r8,r17,512
	beq- cr0,L986
	andi. r9,r17,4096
	beq- cr0,L990
	lbz r0,0(r30)
L1269:
	cmpwi cr7,r0,123
	bne+ cr7,L986
	b L987
L1105:
	li r0,1
	stb r0,0(r27)
	addi r27,r27,1
L1020:
	lwz r3,64(r1)
	bl L_free$stub
	lwz r0,0(r26)
	addi r1,r1,416
	li r3,0
	subf r0,r0,r27
	lwz r12,4(r1)
	stw r0,8(r26)
	lmw r13,-76(r1)
	lwz r0,8(r1)
	mtcrf 32,r12
	mtcrf 16,r12
	mtlr r0
	mtcrf 8,r12
	blr
L1303:
	cmpwi cr7,r0,92
	bne+ cr7,L989
	lbz r0,1(r30)
	extsb r0,r0
	b L988
L1294:
	addi r0,r2,1
	lbz r2,0(r2)
	cmplw cr7,r0,r21
	mr r9,r0
	xori r11,r2,92
	subfic r8,r11,0
	adde r11,r8,r11
	blt- cr7,L320
	li r9,0
L320:
	andi. r10,r17,8192
	li r10,0
	beq- cr0,L323
	cmpwi cr7,r2,41
L1259:
	beq- cr7,L322
L324:
	andi. r0,r17,32768
	beq- cr0,L325
	cmpwi cr7,r2,124
L1260:
	beq- cr7,L322
L327:
	cmpwi cr7,r10,0
	bne+ cr7,L318
	b L315
L1299:
	addi r2,r2,-2
	li r9,0
	cmplw cr7,r2,r18
	ble- cr7,L297
	lbz r0,-1(r2)
	cmpwi cr7,r0,92
	bne+ cr7,L297
	li r9,1
L297:
	lbz r0,0(r2)
	li r2,0
	extsb r0,r0
	cmpwi cr7,r0,40
	beq- cr7,L1304
	cmpwi cr7,r0,124
	beq- cr7,L1305
L301:
	cmpwi cr7,r2,0
	bne+ cr7,L296
	b L315
L1071:
	subf r5,r24,r27
	mr r6,r27
	mr r4,r24
	addi r5,r5,3
	li r3,15
	addi r27,r27,3
	bl _byte_insert_op1
	cmpwi cr7,r22,0
	li r25,0
	beq- cr7,L747
	subf r5,r22,r27
	mr r4,r22
	addi r5,r5,-3
	li r3,14
	bl _byte_store_op1
L747:
	lwz r3,0(r26)
	mr r22,r27
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	ble- cr7,L1073
	lis r29,0x1
	b L758
L1306:
	stw r29,4(r26)
L752:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L748
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	beq- cr7,L755
	add r22,r22,r3
L755:
	cmpwi cr7,r23,0
	beq- cr7,L756
	add r23,r23,r3
L756:
	cmpwi cr7,r25,0
	beq- cr7,L748
	add r25,r25,r3
L748:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	ble- cr7,L1073
L758:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1306
	stw r0,4(r26)
	b L752
L1150:
	addi r30,r30,-2
	stw r30,240(r1)
L352:
	beq- cr1,L288
	cmpwi cr7,r11,0
	beq- cr7,L372
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r29,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	ble- cr7,L1042
	lis r30,0x1
L383:
	cmpw cr7,r0,r30
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r30
	ble- cr7,L1117
	stw r30,4(r26)
L377:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r29,r3
	beq- cr7,L373
	cmpwi cr7,r22,0
	subf r3,r29,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L380
	add r22,r22,r3
L380:
	cmpwi cr7,r23,0
	beq- cr7,L381
	add r23,r23,r3
L381:
	cmpwi cr7,r25,0
	beq- cr7,L373
	add r25,r25,r3
L373:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r29,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	bgt+ cr7,L383
	lwz r30,240(r1)
L1042:
	beq- cr3,L385
	lbz r0,-2(r30)
	lbzx r2,r20,r0
	extsb r2,r2
L386:
	beq- cr3,L387
	lbz r0,46(r20)
	extsb r0,r0
	cmpw cr7,r2,r0
L1262:
	beq- cr7,L1307
L384:
	subf r5,r27,r23
	li r3,18
	addi r5,r5,-6
	mr r4,r27
	bl _byte_store_op1
L393:
	addi r27,r27,3
L372:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	ble- cr7,L1044
	lis r29,0x1
L404:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	ble- cr7,L1118
	stw r29,4(r26)
L398:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L394
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L401
	add r22,r22,r3
L401:
	cmpwi cr7,r23,0
	beq- cr7,L402
	add r23,r23,r3
L402:
	cmpwi cr7,r25,0
	beq- cr7,L394
	add r25,r25,r3
L394:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	bgt+ cr7,L404
L1044:
	xori r3,r15,1
	subf r5,r23,r27
	mr r6,r27
	subfic r3,r3,16
	mr r4,r23
	addi r27,r27,3
	bl _byte_insert_op1
	cmpwi cr7,r19,0
	li r25,0
	bne- cr7,L1114
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	ble- cr7,L1046
	lis r29,0x1
	b L420
L1308:
	stw r29,4(r26)
L414:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L410
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L417
	add r22,r22,r3
L417:
	cmpwi cr7,r23,0
	beq- cr7,L418
	add r23,r23,r3
L418:
	cmpwi cr7,r25,0
	beq- cr7,L410
	add r25,r25,r3
L410:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	ble- cr7,L1046
L420:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1308
	stw r0,4(r26)
	b L414
L1118:
	stw r0,4(r26)
	b L398
L1048:
	li r0,3
	stb r0,0(r27)
L1270:
	lwz r30,240(r1)
	addi r27,r27,1
	b L288
L1050:
	subf r2,r3,r27
	mr r23,r27
	addi r2,r2,1
	mr r30,r3
	cmplw cr7,r2,r0
	ble- cr7,L1052
	lis r29,0x1
	b L458
L1309:
	stw r29,4(r26)
L452:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L448
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L455
	add r22,r22,r3
L455:
	cmpwi cr7,r23,0
	beq- cr7,L456
	add r23,r23,r3
L456:
	cmpwi cr7,r25,0
	beq- cr7,L448
	add r25,r25,r3
L448:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1052
L458:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1309
	stw r0,4(r26)
	b L452
L1040:
	li r0,10
	stb r0,0(r27)
	b L1270
L1038:
	li r0,9
	stb r0,0(r27)
	b L1270
L1052:
	lwz r9,240(r1)
	mr r11,r27
	addi r27,r27,1
	lbz r2,0(r9)
	extsb r2,r2
	xori r2,r2,94
	addic r8,r2,-1
	subfe r0,r8,r2
	subfic r0,r0,5
	stb r0,0(r11)
	lwz r30,240(r1)
	lbz r0,0(r30)
	cmpwi cr7,r0,94
	beq- cr7,L1310
L461:
	lwz r3,0(r26)
	mr r19,r30
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1054
	lis r29,0x1
	b L473
L1311:
	stw r29,4(r26)
L467:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L463
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L470
	add r22,r22,r3
L470:
	cmpwi cr7,r23,0
	beq- cr7,L471
	add r23,r23,r3
L471:
	cmpwi cr7,r25,0
	beq- cr7,L463
	add r25,r25,r3
L463:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1054
L473:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1311
	stw r0,4(r26)
	b L467
L1054:
	li r0,0
	li r2,32
	stb r2,0(r27)
	stwu r0,1(r27)
	lbz r2,-2(r27)
	stw r0,28(r27)
	cmpwi cr7,r2,5
	stw r0,4(r27)
	stw r0,8(r27)
	stw r0,12(r27)
	stw r0,16(r27)
	stw r0,20(r27)
	stw r0,24(r27)
	beq- cr7,L1312
L474:
	srwi r2,r17,2
	stw r2,320(r1)
	b L1354
L1253:
L1354:
	lwz r2,240(r1)
	cmpw cr7,r2,r21
	beq- cr7,L1184
	addi r30,r2,1
	lbz r28,0(r2)
	stw r30,240(r1)
	beq- cr3,L478
	lbzx r28,r20,r28
L478:
	xori r0,r28,92
	subfic r8,r0,0
	adde r0,r8,r0
	and. r9,r17,r0
	beq- cr0,L481
	cmpw cr7,r30,r21
	beq- cr7,L1188
	addi r30,r30,1
	lbz r29,1(r2)
	stw r30,240(r1)
	beq- cr3,L483
	lbzx r29,r20,r29
L483:
	srwi r11,r29,3
	rlwinm r9,r29,0,29,31
	lbzx r2,r27,r11
	li r0,1
	slw r0,r0,r9
	mr r14,r29
	or r2,r2,r0
	stbx r2,r27,r11
	b L1253
L1312:
	andi. r0,r17,256
	beq- cr0,L474
	lbz r0,1(r27)
	ori r0,r0,4
	stb r0,1(r27)
	b L474
L481:
	cmpwi cr7,r28,93
	beq- cr7,L1313
L486:
	cmpwi cr6,r28,45
	mfcr r0
	rlwinm r0,r0,27,1
	and. r10,r15,r0
	beq- cr0,L487
	lbz r0,0(r30)
	cmpwi cr7,r0,93
	bne- cr7,L1168
L487:
	bne- cr6,L488
	addi r0,r30,-2
	cmplw cr7,r0,r18
	blt- cr7,L489
	lbz r0,-2(r30)
	cmpwi cr7,r0,91
	beq- cr7,L488
L489:
	addi r0,r30,-3
	cmplw cr7,r0,r18
	blt- cr7,L490
	lbz r0,-3(r30)
	cmpwi cr7,r0,91
	beq- cr7,L1314
L490:
	lbz r0,0(r30)
	cmpwi cr7,r0,93
	beq- cr7,L488
	mr r3,r14
	addi r4,r1,240
	mr r5,r21
	mr r6,r20
	mr r7,r17
	mr r8,r27
L1272:
	bl _byte_compile_range
	mr. r29,r3
	bne- cr0,L1171
	li r14,-1
	b L1253
L1314:
	lbz r0,-2(r30)
	cmpwi cr7,r0,94
	bne+ cr7,L490
L488:
	lbz r0,0(r30)
	cmpwi cr7,r0,45
	beq- cr7,L1315
L493:
	cmpwi cr6,r28,91
	lwz r2,320(r1)
	mfcr r0
	rlwinm r0,r0,27,1
	and. r2,r2,r0
	beq- cr0,L499
	lbz r0,0(r30)
	cmpwi cr7,r0,58
	beq- cr7,L1316
L499:
	mfcr r0
	rlwinm r0,r0,27,1
	lwz r10,320(r1)
	and. r10,r10,r0
	beq- cr0,L599
	lbz r0,0(r30)
	cmpwi cr7,r0,61
	beq- cr7,L1317
L599:
	mfcr r0
	rlwinm r0,r0,27,1
	lwz r2,320(r1)
	and. r2,r2,r0
	beq- cr0,L624
	lbz r0,0(r30)
	cmpwi cr7,r0,46
	beq- cr7,L1318
L624:
	rlwinm r11,r28,29,24,31
	rlwinm r9,r28,0,29,31
	lbzx r2,r27,r11
	li r0,1
	slw r0,r0,r9
	mr r14,r28
	or r2,r2,r0
	li r15,0
	stbx r2,r27,r11
	b L1253
L1313:
	addi r0,r19,1
	cmpw cr7,r30,r0
	beq+ cr7,L486
	lbz r9,-1(r27)
	mr. r0,r9
	beq- cr0,L650
	add r2,r27,r0
	lbz r0,-1(r2)
	cmpwi cr7,r0,0
	bne- cr7,L650
L651:
	addi r0,r9,-1
	stb r0,-1(r27)
	lbz r9,-1(r27)
	mr. r0,r9
	beq- cr0,L1113
	add r2,r27,r0
	lbz r0,-1(r2)
	cmpwi cr7,r0,0
	beq+ cr7,L651
L1113:
	lwz r30,240(r1)
L650:
	add r27,r27,r9
	b L288
L1315:
	lbz r0,1(r30)
	cmpwi cr7,r0,93
	beq- cr7,L493
	cmpw cr7,r30,r21
	beq- cr7,L1201
	addi r30,r30,1
	mr r3,r28
	addi r4,r1,240
	mr r5,r21
	mr r6,r20
	mr r7,r17
	mr r8,r27
	stw r30,240(r1)
	b L1272
L1124:
	stw r0,4(r26)
	b L689
L1117:
	stw r0,4(r26)
	b L377
L1318:
	cmpw cr7,r30,r21
	beq- cr7,L1201
	addi r30,r30,1
	li r29,0
	cmpw cr7,r30,r21
	stw r30,240(r1)
	beq- cr7,L1184
	li r11,0
L1256:
	cmpw cr7,r30,r21
	beq- cr7,L1201
L1320:
	lbz r28,0(r30)
	addi r30,r30,1
	stw r30,240(r1)
	beq- cr3,L631
	lbzx r28,r20,r28
L631:
	cmpwi cr6,r28,46
	beq- cr6,L1319
L636:
	cmpw cr7,r30,r21
	beq- cr7,L630
	andi. r8,r29,128
	bne- cr0,L637
	addi r10,r1,56
	addi r2,r29,1
	add r9,r10,r29
	rlwinm r29,r2,0,0xff
	stb r28,40(r9)
	lwz r30,240(r1)
	cmpw cr7,r30,r21
	bne+ cr7,L1320
L1201:
	li r3,14
	b L271
L1073:
	addi r27,r27,3
	lwz r30,240(r1)
	li r23,0
	mr r24,r27
	b L288
L1316:
	cmpw cr7,r30,r21
	beq- cr7,L1201
	addi r30,r30,1
	li r29,0
	cmpw cr7,r30,r21
	stw r30,240(r1)
	beq- cr7,L1184
	li r11,0
L1254:
	cmpw cr7,r30,r21
	beq- cr7,L1201
L1322:
	lbz r28,0(r30)
	addi r30,r30,1
	stw r30,240(r1)
	beq- cr3,L506
	lbzx r28,r20,r28
L506:
	cmpwi cr6,r28,58
	beq- cr6,L1321
L511:
	cmpw cr7,r30,r21
	beq- cr7,L505
	cmplwi cr7,r29,5
	bgt- cr7,L512
	addi r8,r1,56
	addi r2,r29,1
	add r9,r8,r29
	rlwinm r29,r2,0,0xff
	stb r28,24(r9)
	lwz r30,240(r1)
	cmpw cr7,r30,r21
	bne+ cr7,L1322
	li r3,14
	b L271
L512:
	stb r11,80(r1)
	b L1254
L1321:
	lbz r0,0(r30)
	cmpwi cr7,r0,93
	bne+ cr7,L511
L505:
	add r2,r1,r29
	li r0,0
	stb r0,80(r2)
	bne- cr6,L514
	lwz r30,240(r1)
	lbz r0,0(r30)
	cmpwi cr7,r0,93
	beq- cr7,L1323
L514:
	cmpwi cr7,r29,255
	beq- cr7,L1058
	lwz r30,240(r1)
L597:
	addi r0,r29,-1
	addi r30,r30,-1
	rlwinm r29,r0,0,0xff
	cmpwi cr7,r29,255
	bne+ cr7,L597
	stw r30,240(r1)
L1058:
	lbz r0,11(r27)
	li r14,58
	lbz r2,7(r27)
	ori r0,r0,8
	ori r2,r2,4
L1264:
	li r15,0
	stb r0,11(r27)
	stb r2,7(r27)
	b L1253
L1067:
	li r0,20
	li r3,14
	stb r0,0(r27)
	addi r27,r27,1
	subf r5,r22,r27
	mr r4,r22
	addi r5,r5,-4
	bl _byte_store_op1
L701:
	lwz r10,72(r1)
	cmpwi cr7,r10,0
	bne- cr7,L714
	andis. r0,r17,2
	bne+ cr0,L315
L1271:
	lwz r3,64(r1)
	bl L_free$stub
	li r3,16
	b L271
L1317:
	cmpw cr7,r30,r21
	beq- cr7,L1201
	addi r30,r30,1
	li r29,0
	cmpw cr7,r30,r21
	stw r30,240(r1)
	beq- cr7,L1184
	li r9,0
L1255:
	cmpw cr7,r30,r21
	beq- cr7,L1201
L1325:
	lbz r28,0(r30)
	addi r30,r30,1
	stw r30,240(r1)
	beq- cr3,L606
	lbzx r28,r20,r28
L606:
	cmpwi cr6,r28,61
	beq- cr6,L1324
L611:
	cmpw cr7,r30,r21
	beq- cr7,L605
	cmpwi cr7,r29,0
	bne- cr7,L612
	addi r11,r29,244
	addi r2,r29,1
	stbx r28,r11,r1
	rlwinm r29,r2,0,0xff
	lwz r30,240(r1)
	cmpw cr7,r30,r21
	bne+ cr7,L1325
	li r3,14
	b L271
L612:
	stb r9,244(r1)
	b L1255
L1324:
	lbz r0,0(r30)
	cmpwi cr7,r0,93
	bne+ cr7,L611
L605:
	li r0,0
	addi r2,r1,244
	stbx r0,r29,r2
	bne- cr6,L614
	lwz r30,240(r1)
	lbz r0,0(r30)
	cmpwi cr7,r0,93
	beq- cr7,L1326
L614:
	cmpwi cr7,r29,255
	beq- cr7,L1060
	lwz r30,240(r1)
L622:
	addi r0,r29,-1
	addi r30,r30,-1
	rlwinm r29,r0,0,0xff
	cmpwi cr7,r29,255
	bne+ cr7,L622
	stw r30,240(r1)
L1060:
	lbz r0,11(r27)
	li r14,61
	lbz r2,7(r27)
	ori r0,r0,8
	ori r2,r2,32
	b L1264
L1319:
	lbz r0,0(r30)
	cmpwi cr7,r0,93
	bne+ cr7,L636
L630:
	add r2,r1,r29
	li r0,0
	stb r0,96(r2)
	bne- cr6,L639
	lwz r30,240(r1)
	lbz r0,0(r30)
	cmpwi cr7,r0,93
	beq- cr7,L1327
L639:
	cmpwi cr7,r29,255
	beq- cr7,L1062
	lwz r30,240(r1)
L647:
	addi r0,r29,-1
	addi r30,r30,-1
	rlwinm r29,r0,0,0xff
	cmpwi cr7,r29,255
	bne+ cr7,L647
	stw r30,240(r1)
L1062:
	lbz r0,11(r27)
	li r14,46
	lbz r2,5(r27)
	li r15,0
	ori r0,r0,8
	ori r2,r2,64
	stb r0,11(r27)
	stb r2,5(r27)
	b L1253
L637:
	stb r11,96(r1)
	b L1256
L714:
	addi r10,r10,-1
	lwz r8,64(r1)
	mulli r11,r10,20
	lwz r3,0(r26)
	stw r10,72(r1)
	add r2,r11,r8
	lwzx r0,r11,r8
	lwz r9,4(r2)
	add r24,r3,r0
	cmpwi cr7,r9,0
	add r9,r3,r9
	addi r22,r9,-1
	bne- cr7,L718
	li r22,0
L718:
	lwz r0,72(r1)
	li r25,0
	mulli r0,r0,20
	add r2,r0,r8
	lwz r29,16(r2)
	lwz r0,12(r2)
	cmplwi cr7,r29,255
	add r23,r3,r0
	bgt- cr7,L1114
	lwz r2,8(r2)
	subf r19,r29,r16
	stbx r19,r3,r2
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	ble- cr7,L1069
	lis r28,0x1
	b L731
L1328:
	stw r28,4(r26)
L725:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L721
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L728
	add r22,r22,r3
L728:
	cmpwi cr7,r23,0
	beq- cr7,L729
	add r23,r23,r3
L729:
	cmpwi cr7,r25,0
	beq- cr7,L721
	add r25,r25,r3
L721:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,3
	cmplw cr7,r2,r0
	ble- cr7,L1069
L731:
	cmpw cr7,r0,r28
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r28
	bgt- cr7,L1328
	stw r0,4(r26)
	b L725
L1188:
	lwz r3,64(r1)
	bl L_free$stub
	li r3,5
	b L271
L990:
	lbz r0,0(r30)
	cmpwi cr7,r0,92
	bne+ cr7,L986
	lbz r0,1(r30)
	b L1269
L323:
	addic r8,r9,-1
	subfe r0,r8,r9
	and. r8,r11,r0
	beq- cr0,L324
	lbz r0,0(r9)
	cmpwi cr7,r0,41
	b L1259
L364:
	addi r30,r30,-1
	stw r30,240(r1)
	b L352
L1287:
	andi. r8,r17,32
	bne- cr0,L1202
	andi. r9,r17,16
	bne+ cr0,L347
	b L315
L1284:
	lwz r3,64(r1)
	bl L_free$stub
	li r3,8
	b L271
L1305:
	rlwinm r0,r17,17,31,31
	or. r10,r9,r0
L1258:
	beq- cr0,L301
	li r2,1
	b L301
L1304:
	rlwinm r0,r17,19,31,31
	or. r8,r9,r0
	b L1258
L325:
	addic r2,r9,-1
	subfe r0,r2,r9
	and. r8,r11,r0
	beq- cr0,L327
	lbz r0,0(r9)
	cmpwi cr7,r0,124
	b L1260
L322:
	li r10,1
	b L327
L1307:
	rlwinm r0,r19,0,0xff
	subfc r2,r21,r30
	subfe r2,r2,r2
	neg r2,r2
	neg r0,r0
	srwi r0,r0,31
	and. r8,r0,r2
	beq- cr0,L384
	beq- cr3,L389
	lbz r0,0(r30)
	lbzx r2,r20,r0
	extsb r2,r2
L390:
	beq- cr3,L391
	lbz r0,10(r20)
	extsb r0,r0
	cmpw cr7,r2,r0
L1263:
	bne+ cr7,L384
	andi. r9,r17,64
	bne+ cr0,L384
	subf r5,r27,r23
	li r3,13
	addi r5,r5,-3
	mr r4,r27
	bl _byte_store_op1
	li r15,1
	b L393
L387:
	cmpwi cr7,r2,46
	b L1262
L385:
	lbz r0,-2(r30)
	extsb r2,r0
	b L386
L1069:
	li r0,7
	stb r0,0(r27)
	stbu r29,1(r27)
	stbu r19,1(r27)
	lwz r30,240(r1)
	addi r27,r27,1
	b L288
L1310:
	addi r30,r30,1
	stw r30,240(r1)
	b L461
L1046:
	mr r6,r27
	li r3,19
	mr r4,r23
	li r5,3
	bl _byte_insert_op1
	lwz r30,240(r1)
	addi r27,r27,3
	b L288
L1279:
	lwz r3,64(r1)
	bl L_free$stub
	li r3,12
	b L271
L1292:
	mulli r4,r4,40
	lwz r3,64(r1)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,64(r1)
	beq- cr7,L1233
	lwz r0,68(r1)
	lwz r4,72(r1)
	slwi r0,r0,1
	stw r0,68(r1)
	b L679
L1293:
	li r0,0
	b L682
L763:
	andis. r0,r17,32
	beq- cr0,L1329
L799:
	andi. r10,r9,1
	stw r11,240(r1)
	li r28,123
	beq- cr0,L678
	b L315
L1326:
	lbz r2,244(r1)
	cmpwi cr7,r2,0
	beq- cr7,L614
	cmpwi cr7,r29,1
	bne- cr7,L1186
	cmpw cr7,r30,r21
	beq- cr7,L1201
	addi r30,r30,1
	srwi r0,r2,3
	stw r30,240(r1)
	rlwinm r2,r2,0,29,31
	lbzx r9,r27,r0
	slw r2,r29,r2
	li r15,1
	or r9,r9,r2
	stbx r9,r27,r0
	b L1253
L1327:
	lbz r2,96(r1)
	cmpwi cr7,r2,0
	beq- cr7,L639
	cmpwi cr7,r29,1
	bne- cr7,L1186
	cmpw cr7,r30,r21
	beq- cr7,L1201
	addi r30,r30,1
	srwi r0,r2,3
	stw r30,240(r1)
	rlwinm r2,r2,0,29,31
	lbzx r9,r27,r0
	slw r2,r29,r2
	li r15,0
	or r9,r9,r2
	stbx r9,r27,r0
	lbz r14,96(r1)
	b L1253
L1329:
	lwz r3,64(r1)
	bl L_free$stub
	lwz r0,240(r1)
	xor r0,r0,r21
	addic r8,r0,-1
	subfe r2,r8,r0
	addi r3,r2,9
	b L271
L1186:
	lwz r3,64(r1)
	bl L_free$stub
	li r3,3
	b L271
L801:
	cmpwi cr4,r29,1
	ble- cr4,L814
	li r15,20
L815:
	lwz r3,0(r26)
	lwz r2,4(r26)
	subf r0,r3,r27
	mr r30,r3
	add r0,r0,r15
	cmplw cr7,r0,r2
	ble- cr7,L1079
	lis r28,0x1
	b L826
L1330:
	stw r28,4(r26)
L820:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L816
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L823
	add r22,r22,r3
L823:
	cmpwi cr7,r23,0
	beq- cr7,L824
	add r23,r23,r3
L824:
	cmpwi cr7,r25,0
	beq- cr7,L816
	add r25,r25,r3
L816:
	lwz r3,0(r26)
	lwz r2,4(r26)
	subf r0,r3,r27
	mr r30,r3
	add r0,r0,r15
	cmplw cr7,r0,r2
	ble- cr7,L1079
L826:
	cmpw cr7,r2,r28
	beq- cr7,L1232
	slwi r0,r2,1
	cmplw cr7,r0,r28
	bgt- cr7,L1330
	stw r0,4(r26)
	b L820
L1079:
	addi r0,r27,5
	ble- cr4,L827
	subf r2,r23,r0
	addi r5,r2,2
L828:
	mr r7,r27
	li r3,21
	mr r27,r0
	mr r4,r23
	mr r6,r19
	bl _byte_insert_op2
	mr r7,r27
	mr r6,r19
	li r3,23
	mr r4,r23
	li r5,5
	bl _byte_insert_op2
	addi r27,r27,5
	ble+ cr4,L813
	addi r29,r29,-1
	subf r5,r27,r23
	mr r4,r27
	addi r5,r5,2
	addi r27,r27,5
	li r3,22
	mr r6,r29
	bl _byte_store_op2
	subf r5,r23,r27
	mr r7,r27
	mr r6,r29
	li r3,23
	mr r4,r23
	bl _byte_insert_op2
	addi r27,r27,5
L813:
	lwz r30,240(r1)
	li r25,0
	b L288
L827:
	subf r2,r23,r0
	addi r5,r2,-3
	b L828
L814:
	li r15,10
	b L815
L1203:
	lwz r3,64(r1)
	bl L_free$stub
	li r3,10
	b L271
L1297:
	andi. r0,r17,32
	beq- cr0,L795
	andis. r2,r17,32
	beq- cr0,L1202
L795:
	andi. r8,r17,16
	beq- cr0,L799
	mr r23,r27
	b L794
L1296:
	lwz r30,240(r1)
	cmpw cr7,r30,r21
	bne+ cr7,L782
	b L1235
L1331:
	lbz r28,0(r30)
	addi r30,r30,1
	stw r30,240(r1)
	beq- cr3,L776
	lbzx r28,r20,r28
L776:
	addi r0,r28,-48
	rlwinm r0,r0,0,0xff
	cmplwi cr7,r0,9
	bgt- cr7,L775
	cmpwi cr7,r29,32767
	bgt- cr7,L774
	nor r0,r29,r29
	srawi r0,r0,31
	and r29,r29,r0
	mulli r2,r29,10
	add r2,r2,r28
	addi r29,r2,-48
L774:
	cmpw cr7,r30,r21
	beq- cr7,L775
L782:
	cmpw cr7,r30,r21
	bne+ cr7,L1331
	li r3,14
	b L271
L775:
	cmpwi cr7,r29,0
	bge+ cr7,L784
L1235:
	li r29,32767
	b L784
L1077:
	subf r5,r23,r27
	mr r6,r27
	li r3,13
	mr r4,r23
	bl _byte_insert_op1
	addi r27,r27,3
	b L813
L1202:
	lwz r3,64(r1)
	bl L_free$stub
	li r3,13
	b L271
L391:
	cmpwi cr7,r2,10
	b L1263
L389:
	lbz r0,0(r30)
	extsb r2,r0
	b L390
L1184:
	lwz r3,64(r1)
	bl L_free$stub
	li r3,7
	b L271
L1171:
	lwz r3,64(r1)
	bl L_free$stub
	mr r3,r29
	b L271
L1168:
	lwz r3,64(r1)
	bl L_free$stub
	li r3,11
	b L271
L1323:
	addis r4,r31,ha16(LC17-"L00000000005$pb")
	addi r3,r1,80
	la r4,lo16(LC17-"L00000000005$pb")(r4)
	bl L_strcmp$stub
	addis r4,r31,ha16(LC18-"L00000000005$pb")
	cmpwi cr2,r3,0
	la r4,lo16(LC18-"L00000000005$pb")(r4)
	addi r3,r1,80
	bl L_strcmp$stub
	mfcr r28
	rlwinm r28,r28,11,1
	addis r4,r31,ha16(LC19-"L00000000005$pb")
	cmpwi cr4,r3,0
	la r4,lo16(LC19-"L00000000005$pb")(r4)
	addi r3,r1,80
	bl L_strcmp$stub
	mfcr r15
	rlwinm r15,r15,19,1
	cmpwi cr0,r3,0
	addis r4,r31,ha16(LC20-"L00000000005$pb")
	la r4,lo16(LC20-"L00000000005$pb")(r4)
	addi r3,r1,80
	mfcr r29
	bl L_strcmp$stub
	cmpwi cr0,r3,0
	addis r4,r31,ha16(LC21-"L00000000005$pb")
	la r4,lo16(LC21-"L00000000005$pb")(r4)
	addi r3,r1,80
	mfcr r0
	stw r0,252(r1)
	bl L_strcmp$stub
	cmpwi cr0,r3,0
	addis r4,r31,ha16(LC22-"L00000000005$pb")
	la r4,lo16(LC22-"L00000000005$pb")(r4)
	addi r3,r1,80
	mfcr r0
	stw r0,260(r1)
	bl L_strcmp$stub
	cmpwi cr0,r3,0
	addis r4,r31,ha16(LC23-"L00000000005$pb")
	la r4,lo16(LC23-"L00000000005$pb")(r4)
	addi r3,r1,80
	mfcr r0
	stw r0,268(r1)
	bl L_strcmp$stub
	cmpwi cr0,r3,0
	addis r4,r31,ha16(LC24-"L00000000005$pb")
	la r4,lo16(LC24-"L00000000005$pb")(r4)
	addi r3,r1,80
	mfcr r0
	stw r0,276(r1)
	bl L_strcmp$stub
	cmpwi cr0,r3,0
	addis r4,r31,ha16(LC25-"L00000000005$pb")
	la r4,lo16(LC25-"L00000000005$pb")(r4)
	addi r3,r1,80
	mfcr r0
	stw r0,284(r1)
	bl L_strcmp$stub
	cmpwi cr0,r3,0
	addis r4,r31,ha16(LC26-"L00000000005$pb")
	la r4,lo16(LC26-"L00000000005$pb")(r4)
	addi r3,r1,80
	mfcr r0
	stw r0,292(r1)
	bl L_strcmp$stub
	cmpwi cr0,r3,0
	addis r4,r31,ha16(LC27-"L00000000005$pb")
	la r4,lo16(LC27-"L00000000005$pb")(r4)
	addi r3,r1,80
	mfcr r0
	stw r0,300(r1)
	bl L_strcmp$stub
	cmpwi cr0,r3,0
	addis r4,r31,ha16(LC28-"L00000000005$pb")
	la r4,lo16(LC28-"L00000000005$pb")(r4)
	addi r3,r1,80
	mfcr r0
	stw r0,308(r1)
	bl L_strcmp$stub
	mtcrf 128,r29
	lwz r0,252(r1)
	cmpwi cr7,r3,0
	mfcr r13
	rlwinm r13,r13,3,1
	mtcrf 128,r0
	mfcr r0
	rlwinm r0,r0,3,1
	stw r0,248(r1)
	lwz r0,260(r1)
	mtcrf 128,r0
	mfcr r0
	rlwinm r0,r0,3,1
	stw r0,256(r1)
	lwz r0,268(r1)
	mtcrf 128,r0
	mfcr r0
	rlwinm r0,r0,3,1
	stw r0,264(r1)
	lwz r0,276(r1)
	mtcrf 128,r0
	mfcr r0
	rlwinm r0,r0,3,1
	stw r0,272(r1)
	lwz r0,284(r1)
	mtcrf 128,r0
	mfcr r0
	rlwinm r0,r0,3,1
	stw r0,280(r1)
	lwz r0,292(r1)
	mtcrf 128,r0
	mfcr r0
	rlwinm r0,r0,3,1
	stw r0,288(r1)
	lwz r0,300(r1)
	mtcrf 128,r0
	mfcr r0
	rlwinm r0,r0,3,1
	stw r0,296(r1)
	lwz r0,308(r1)
	mtcrf 128,r0
	mfcr r0
	rlwinm r0,r0,3,1
	stw r0,304(r1)
	mfcr r0
	rlwinm r0,r0,31,1
	stw r0,312(r1)
	beq- cr4,L515
	beq- cr0,L515
	lwz r8,276(r1)
	mtcrf 128,r8
	beq- cr0,L515
	lwz r0,260(r1)
	mtcrf 128,r0
	beq- cr0,L515
	beq- cr2,L515
	beq- cr7,L515
	lwz r0,300(r1)
	mtcrf 128,r0
	beq- cr0,L515
	lwz r0,284(r1)
	mtcrf 128,r0
	beq- cr0,L515
	lwz r0,292(r1)
	mtcrf 128,r0
	beq- cr0,L515
	lwz r0,268(r1)
	mtcrf 128,r0
	beq- cr0,L515
	lwz r0,252(r1)
	mtcrf 128,r0
	beq- cr0,L515
	rlwinm r29,r29,8,0xffffffff
	mtcrf 2,r29
	rlwinm r29,r29,24,0xffffffff
	bne- cr6,L1175
L515:
	cmpw cr7,r30,r21
	beq- cr7,L1201
	addi r30,r30,1
	cmpw cr7,r30,r21
	stw r30,240(r1)
	beq- cr7,L1184
	addis r8,r31,ha16(L__DefaultRuneLocale$non_lazy_ptr-"L00000000005$pb")
	addis r2,r31,ha16(LC29-"L00000000005$pb")
	lwz r8,lo16(L__DefaultRuneLocale$non_lazy_ptr-"L00000000005$pb")(r8)
	li r29,0
	lwz r30,lo16(LC29-"L00000000005$pb")(r2)
	addi r8,r8,52
	stw r8,316(r1)
L593:
	extsb. r9,r28
	beq- cr0,L525
	rlwinm. r10,r29,0,0,24
	bne- cr0,L525
	cmplwi cr7,r29,255
	bgt- cr7,L1332
	lwz r0,0(r30)
	slwi r2,r29,2
	add r2,r2,r0
	lwz r9,52(r2)
	andi. r3,r9,1280
L528:
	cmpwi cr7,r3,0
	bne- cr7,L524
L525:
	extsb. r0,r15
	beq- cr0,L530
	rlwinm. r2,r29,0,0,24
	bne- cr0,L530
	cmplwi cr7,r29,255
	bgt- cr7,L1333
	lwz r0,0(r30)
	slwi r2,r29,2
	add r2,r2,r0
	lwz r9,52(r2)
	rlwinm r3,r9,0,23,23
L533:
	cmpwi cr7,r3,0
	bne- cr7,L524
L530:
	extsb. r0,r13
	beq- cr0,L535
	rlwinm. r2,r29,0,0,24
	bne- cr0,L535
	cmplwi cr7,r29,255
	bgt- cr7,L1334
	lwz r0,0(r30)
	slwi r2,r29,2
	add r2,r2,r0
	lwz r9,52(r2)
	rlwinm r3,r9,0,14,14
L538:
	cmpwi cr7,r3,0
	bne- cr7,L524
L535:
	lwz r0,248(r1)
	extsb. r0,r0
	beq- cr0,L523
	rlwinm. r2,r29,0,0,24
	bne- cr0,L523
	cmplwi cr7,r29,255
	bgt- cr7,L1335
	lwz r0,0(r30)
	slwi r2,r29,2
	add r2,r2,r0
	lwz r9,52(r2)
	rlwinm r3,r9,0,22,22
L542:
	cmpwi cr7,r3,0
	beq- cr7,L523
L524:
	rlwinm r0,r29,0,0xff
	li r8,1
	srwi r9,r0,3
	rlwinm r0,r0,0,29,31
	lbzx r2,r27,r9
	slw r0,r8,r0
	or r2,r2,r0
	stbx r2,r27,r9
L523:
	lwz r9,256(r1)
	extsb. r9,r9
	beq- cr0,L546
	rlwinm. r10,r29,0,0,24
	bne- cr0,L546
	cmplwi cr7,r29,255
	bgt- cr7,L546
	lwz r11,316(r1)
	lwz r0,0(r11)
	andi. r2,r0,1024
	bne- cr0,L545
L546:
	lwz r8,264(r1)
	extsb. r8,r8
	beq- cr0,L549
	rlwinm. r9,r29,0,0,24
	bne- cr0,L549
	cmplwi cr7,r29,255
	bgt- cr7,L1336
	lwz r0,0(r30)
	slwi r2,r29,2
	add r2,r2,r0
	lwz r9,52(r2)
	rlwinm r3,r9,0,20,20
L552:
	cmpwi cr7,r3,0
	bne- cr7,L545
L549:
	lwz r0,272(r1)
	extsb. r0,r0
	beq- cr0,L554
	rlwinm. r2,r29,0,0,24
	bne- cr0,L554
	cmplwi cr7,r29,255
	bgt- cr7,L1337
	lwz r0,0(r30)
	slwi r2,r29,2
	add r2,r2,r0
	lwz r9,52(r2)
	rlwinm r3,r9,0,19,19
L557:
	cmpwi cr7,r3,0
	bne- cr7,L545
L554:
	lwz r0,280(r1)
	extsb. r0,r0
	beq- cr0,L544
	rlwinm. r2,r29,0,0,24
	bne- cr0,L544
	cmplwi cr7,r29,255
	bgt- cr7,L1338
	lwz r0,0(r30)
	slwi r2,r29,2
	add r2,r2,r0
	lwz r9,52(r2)
	rlwinm r3,r9,0,13,13
L561:
	cmpwi cr7,r3,0
	beq- cr7,L544
L545:
	rlwinm r0,r29,0,0xff
	li r8,1
	srwi r9,r0,3
	rlwinm r0,r0,0,29,31
	lbzx r2,r27,r9
	slw r0,r8,r0
	or r2,r2,r0
	stbx r2,r27,r9
L544:
	lwz r9,288(r1)
	extsb. r9,r9
	beq- cr0,L565
	rlwinm. r10,r29,0,0,24
	bne- cr0,L565
	cmplwi cr7,r29,255
	bgt- cr7,L1339
	lwz r0,0(r30)
	slwi r2,r29,2
	add r2,r2,r0
	lwz r9,52(r2)
	rlwinm r3,r9,0,18,18
L568:
	cmpwi cr7,r3,0
	bne- cr7,L564
L565:
	lwz r0,296(r1)
	extsb. r0,r0
	beq- cr0,L570
	rlwinm. r2,r29,0,0,24
	bne- cr0,L570
	cmplwi cr7,r29,255
	bgt- cr7,L1340
	lwz r0,0(r30)
	slwi r2,r29,2
	add r2,r2,r0
	lwz r9,52(r2)
	rlwinm r3,r9,0,17,17
L573:
	cmpwi cr7,r3,0
	bne- cr7,L564
L570:
	lwz r0,304(r1)
	extsb. r0,r0
	beq- cr0,L575
	rlwinm. r2,r29,0,0,24
	bne- cr0,L575
	cmplwi cr7,r29,255
	bgt- cr7,L1341
	lwz r0,0(r30)
	slwi r2,r29,2
	add r2,r2,r0
	lwz r9,52(r2)
	rlwinm r3,r9,0,16,16
L578:
	cmpwi cr7,r3,0
	bne- cr7,L564
L575:
	lwz r0,312(r1)
	extsb. r0,r0
	beq- cr0,L563
	rlwinm. r2,r29,0,0,24
	bne- cr0,L563
	cmplwi cr7,r29,255
	bgt- cr7,L563
	lwz r8,316(r1)
	lwz r0,0(r8)
	andis. r9,r0,1
	beq- cr0,L563
L564:
	rlwinm r0,r29,0,0xff
	li r10,1
	srwi r9,r0,3
	rlwinm r0,r0,0,29,31
	lbzx r2,r27,r9
	slw r0,r10,r0
	or r2,r2,r0
	stbx r2,r27,r9
L563:
	beq- cr3,L522
	lwz r11,304(r1)
	lwz r0,272(r1)
	or. r11,r11,r0
	beq- cr0,L522
	rlwinm. r2,r29,0,0,24
	bne- cr0,L522
	cmplwi cr7,r29,255
	bgt- cr7,L1342
	lwz r0,0(r30)
	slwi r2,r29,2
	add r2,r2,r0
	lwz r9,52(r2)
	rlwinm r3,r9,0,16,16
L587:
	cmpwi cr7,r3,0
	bne- cr7,L583
	cmplwi cr7,r29,255
	bgt- cr7,L1343
	lwz r0,0(r30)
	slwi r2,r29,2
	add r2,r2,r0
	lwz r9,52(r2)
	rlwinm r3,r9,0,19,19
L591:
	cmpwi cr7,r3,0
	beq- cr7,L522
L583:
	rlwinm r0,r29,0,0xff
	li r8,1
	srwi r9,r0,3
	rlwinm r0,r0,0,29,31
	lbzx r2,r27,r9
	slw r0,r8,r0
	or r2,r2,r0
	stbx r2,r27,r9
L522:
	addi r29,r29,1
	lwz r9,316(r1)
	cmpwi cr7,r29,255
	addi r9,r9,4
	stw r9,316(r1)
	ble+ cr7,L593
	li r15,1
	b L1253
L1339:
	mr r3,r29
	bl L____runetype$stub
	rlwinm r3,r3,0,18,18
	b L568
L1340:
	mr r3,r29
	bl L____runetype$stub
	rlwinm r3,r3,0,17,17
	b L573
L1336:
	mr r3,r29
	bl L____runetype$stub
	rlwinm r3,r3,0,20,20
	b L552
L1333:
	mr r3,r29
	bl L____runetype$stub
	rlwinm r3,r3,0,23,23
	b L533
L1332:
	mr r3,r29
	bl L____runetype$stub
	andi. r3,r3,1280
	b L528
L1334:
	mr r3,r29
	bl L____runetype$stub
	rlwinm r3,r3,0,14,14
	b L538
L1341:
	mr r3,r29
	bl L____runetype$stub
	rlwinm r3,r3,0,16,16
	b L578
L1337:
	mr r3,r29
	bl L____runetype$stub
	rlwinm r3,r3,0,19,19
	b L557
L1335:
	mr r3,r29
	bl L____runetype$stub
	rlwinm r3,r3,0,22,22
	b L542
L1338:
	mr r3,r29
	bl L____runetype$stub
	rlwinm r3,r3,0,13,13
	b L561
L1342:
	mr r3,r29
	bl L____runetype$stub
	rlwinm r3,r3,0,16,16
	b L587
L1343:
	mr r3,r29
	bl L____runetype$stub
	rlwinm r3,r3,0,19,19
	b L591
L1175:
	lwz r3,64(r1)
	bl L_free$stub
	li r3,4
	b L271
L732:
	srwi r0,r17,10
	andi. r2,r0,1
	bne- cr0,L678
	andi. r8,r17,32768
	bne- cr0,L678
	b L662
L759:
	andi. r0,r17,512
	beq- cr0,L678
	srwi r9,r17,12
	andi. r2,r9,1
	bne- cr0,L678
	b L669
L835:
	andis. r11,r17,8
	bne- cr0,L315
	lwz r3,0(r26)
	mr r23,r27
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1081
	lis r29,0x1
	b L848
L1344:
	stw r29,4(r26)
L842:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L838
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L845
	add r22,r22,r3
L845:
	cmpwi cr7,r23,0
	beq- cr7,L846
	add r23,r23,r3
L846:
	cmpwi cr7,r25,0
	beq- cr7,L838
	add r25,r25,r3
L838:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1081
L848:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1344
	stw r0,4(r26)
	b L842
L1081:
	li r0,24
	stb r0,0(r27)
	b L1270
L891:
	andis. r0,r17,8
	bne- cr0,L315
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1089
	lis r29,0x1
	b L904
L1345:
	stw r29,4(r26)
L898:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L894
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L901
	add r22,r22,r3
L901:
	cmpwi cr7,r23,0
	beq- cr7,L902
	add r23,r23,r3
L902:
	cmpwi cr7,r25,0
	beq- cr7,L894
	add r25,r25,r3
L894:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1089
L904:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1345
	stw r0,4(r26)
	b L898
L1089:
	li r0,28
	stb r0,0(r27)
	b L1270
L919:
	andis. r0,r17,8
	bne- cr0,L315
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1093
	lis r29,0x1
	b L932
L1346:
	stw r29,4(r26)
L926:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L922
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L929
	add r22,r22,r3
L929:
	cmpwi cr7,r23,0
	beq- cr7,L930
	add r23,r23,r3
L930:
	cmpwi cr7,r25,0
	beq- cr7,L922
	add r25,r25,r3
L922:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1093
L932:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1346
	stw r0,4(r26)
	b L926
L1093:
	li r0,11
	stb r0,0(r27)
	b L1270
L849:
	andis. r0,r17,8
	bne- cr0,L315
	lwz r3,0(r26)
	mr r23,r27
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1083
	lis r29,0x1
	b L862
L1347:
	stw r29,4(r26)
L856:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L852
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L859
	add r22,r22,r3
L859:
	cmpwi cr7,r23,0
	beq- cr7,L860
	add r23,r23,r3
L860:
	cmpwi cr7,r25,0
	beq- cr7,L852
	add r25,r25,r3
L852:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1083
L862:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1347
	stw r0,4(r26)
	b L856
L1083:
	li r0,25
	stb r0,0(r27)
	b L1270
L905:
	andis. r0,r17,8
	bne- cr0,L315
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1091
	lis r29,0x1
	b L918
L1348:
	stw r29,4(r26)
L912:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L908
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L915
	add r22,r22,r3
L915:
	cmpwi cr7,r23,0
	beq- cr7,L916
	add r23,r23,r3
L916:
	cmpwi cr7,r25,0
	beq- cr7,L908
	add r25,r25,r3
L908:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1091
L918:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1348
	stw r0,4(r26)
	b L912
L1091:
	li r0,29
	stb r0,0(r27)
	b L1270
L978:
	andi. r0,r17,2
	bne- cr0,L346
	b L678
L877:
	andis. r0,r17,8
	bne- cr0,L315
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1087
	lis r29,0x1
	b L890
L1349:
	stw r29,4(r26)
L884:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L880
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L887
	add r22,r22,r3
L887:
	cmpwi cr7,r23,0
	beq- cr7,L888
	add r23,r23,r3
L888:
	cmpwi cr7,r25,0
	beq- cr7,L880
	add r25,r25,r3
L880:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1087
L890:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1349
	stw r0,4(r26)
	b L884
L1087:
	li r0,27
	stb r0,0(r27)
	b L1270
L863:
	andis. r0,r17,8
	bne- cr0,L315
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1085
	lis r29,0x1
	b L876
L1350:
	stw r29,4(r26)
L870:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L866
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L873
	add r22,r22,r3
L873:
	cmpwi cr7,r23,0
	beq- cr7,L874
	add r23,r23,r3
L874:
	cmpwi cr7,r25,0
	beq- cr7,L866
	add r25,r25,r3
L866:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1085
L876:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1350
	stw r0,4(r26)
	b L870
L1085:
	li r0,26
	stb r0,0(r27)
	b L1270
L955:
	andi. r0,r17,16384
	bne- cr0,L315
	addi r0,r28,-48
	rlwinm r29,r0,0,0xff
	cmplw cr7,r29,r16
	bgt- cr7,L1224
	lwz r0,72(r1)
	lwz r11,64(r1)
	addic. r9,r0,-1
	lwz r2,68(r1)
	stw r11,224(r1)
	stw r2,228(r1)
	stw r0,232(r1)
	blt- cr0,L1097
	mulli r2,r9,20
	add r2,r2,r11
	addi r2,r2,16
	b L964
L1351:
	addic. r9,r9,-1
	blt- cr0,L1097
L964:
	lwz r0,0(r2)
	addi r2,r2,-20
	cmpw cr7,r0,r29
	bne+ cr7,L1351
	li r0,1
L963:
	cmpwi cr7,r0,0
	bne- cr7,L315
	lwz r3,0(r26)
	mr r23,r27
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,2
	cmplw cr7,r2,r0
	ble- cr7,L1099
	lis r28,0x1
	b L976
L1352:
	stw r28,4(r26)
L970:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L966
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L973
	add r22,r22,r3
L973:
	cmpwi cr7,r23,0
	beq- cr7,L974
	add r23,r23,r3
L974:
	cmpwi cr7,r25,0
	beq- cr7,L966
	add r25,r25,r3
L966:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,2
	cmplw cr7,r2,r0
	ble- cr7,L1099
L976:
	cmpw cr7,r0,r28
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r28
	bgt- cr7,L1352
	stw r0,4(r26)
	b L970
L1099:
	li r0,8
	stb r0,0(r27)
	stbu r29,1(r27)
	lwz r30,240(r1)
	addi r27,r27,1
	b L288
L1097:
	li r0,0
	b L963
L1224:
	lwz r3,64(r1)
	bl L_free$stub
	li r3,6
	b L271
L676:
	andi. r11,r17,8192
	beq+ cr0,L654
	b L678
L933:
	andis. r0,r17,8
	bne- cr0,L315
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1095
	lis r29,0x1
	b L946
L1353:
	stw r29,4(r26)
L940:
	lwz r4,4(r26)
	bl L_realloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r26)
	beq- cr7,L1233
	cmpw cr7,r30,r3
	beq- cr7,L936
	cmpwi cr7,r22,0
	subf r3,r30,r3
	add r27,r27,r3
	add r24,r24,r3
	beq- cr7,L943
	add r22,r22,r3
L943:
	cmpwi cr7,r23,0
	beq- cr7,L944
	add r23,r23,r3
L944:
	cmpwi cr7,r25,0
	beq- cr7,L936
	add r25,r25,r3
L936:
	lwz r3,0(r26)
	lwz r0,4(r26)
	subf r2,r3,r27
	mr r30,r3
	addi r2,r2,1
	cmplw cr7,r2,r0
	ble- cr7,L1095
L946:
	cmpw cr7,r0,r29
	beq- cr7,L1232
	slwi r0,r0,1
	cmplw cr7,r0,r29
	bgt- cr7,L1353
	stw r0,4(r26)
	b L940
L1095:
	li r0,12
	stb r0,0(r27)
	b L1270
	.align 2
	.globl _xregcomp
_xregcomp:
	mflr r0
	rlwinm r2,r5,0,31,31
	bcl 20,31,"L00000000006$pb"
"L00000000006$pb":
	stmw r24,-32(r1)
	addic r2,r2,-1
	subfe r2,r2,r2
	mflr r31
	stw r0,8(r1)
	lis r0,0xfffd
	ori r0,r0,20426
	stwu r1,-96(r1)
	and r26,r2,r0
	li r0,0
	stw r0,8(r3)
	mr r25,r5
	stw r0,0(r3)
	mr r28,r3
	stw r0,4(r3)
	addis r2,r26,0x4
	li r3,256
	mr r24,r4
	addi r26,r2,-19716
	bl L_malloc$stub
	rlwinm r0,r25,31,31,31
	stw r3,16(r28)
	cmpwi cr7,r0,0
	bne- cr7,L1381
	stw r0,20(r28)
L1373:
	andi. r0,r25,4
	beq- cr0,L1374
	lwz r0,28(r28)
	rlwinm r26,r26,0,26,24
	mr r3,r24
	ori r26,r26,256
	oris r0,r0,0x100
	rlwimi r0,r25,24,4,4
	stw r0,28(r28)
	bl L_strlen$stub
	mr r5,r26
	mr r4,r3
	mr r6,r28
	mr r3,r24
	bl _byte_regex_compile
	cmpwi cr7,r3,16
	mr r30,r3
	beq- cr7,L1382
L1376:
	cmpwi cr7,r3,0
	bne- cr7,L1377
	lwz r0,16(r28)
	cmpwi cr7,r0,0
	bne- cr7,L1383
L1377:
	mr r3,r30
L1355:
	addi r1,r1,96
	lwz r0,8(r1)
	lmw r24,-32(r1)
	mtlr r0
	blr
L1374:
	lwz r0,28(r28)
	mr r3,r24
	rlwinm r0,r0,0,8,6
	rlwimi r0,r25,24,4,4
	stw r0,28(r28)
	bl L_strlen$stub
	mr r5,r26
	mr r4,r3
	mr r6,r28
	mr r3,r24
	bl _byte_regex_compile
	cmpwi cr7,r3,16
	mr r30,r3
	bne+ cr7,L1376
L1382:
	li r30,8
	b L1377
L1381:
	li r3,256
	bl L_malloc$stub
	cmpwi cr7,r3,0
	stw r3,20(r28)
	li r3,12
	beq- cr7,L1355
	addis r2,r31,ha16(L__CurrentRuneLocale$non_lazy_ptr-"L00000000006$pb")
	li r30,0
	lwz r27,lo16(L__CurrentRuneLocale$non_lazy_ptr-"L00000000006$pb")(r2)
	b L1372
L1386:
	cmplwi cr7,r30,255
	bgt- cr7,L1384
	lwz r0,0(r27)
	slwi r2,r30,2
	add r2,r2,r0
	lwz r9,52(r2)
	rlwinm r3,r9,0,16,16
L1367:
	cmpwi cr7,r3,0
	beq- cr7,L1363
	cmplwi cr7,r30,255
	bgt- cr7,L1385
	lwz r0,0(r27)
	slwi r2,r30,2
	add r2,r2,r0
	lwz r3,1076(r2)
L1364:
	stbx r3,r29,r30
	addi r30,r30,1
	cmplwi cr7,r30,255
	bgt- cr7,L1373
L1372:
	rlwinm. r0,r30,0,0,24
	lwz r29,20(r28)
	beq- cr0,L1386
L1363:
	mr r3,r30
	b L1364
L1384:
	mr r3,r30
	bl L____runetype$stub
	rlwinm r3,r3,0,16,16
	b L1367
L1385:
	mr r3,r30
	bl L____tolower$stub
	b L1364
L1383:
	mr r3,r28
	bl _xre_compile_fastmap
	cmpwi cr7,r3,-2
	bne+ cr7,L1377
	lwz r3,16(r28)
	bl L_free$stub
	stw r30,16(r28)
	b L1377
.data
.cstring
	.align 2
LC30:
	.ascii "No previous regular expression\0"
.text
	.align 2
	.globl _xre_comp
_xre_comp:
	stmw r28,-16(r1)
	mr. r28,r3
	mflr r0
	bcl 20,31,"L00000000007$pb"
"L00000000007$pb":
	mflr r31
	stw r0,8(r1)
	stwu r1,-80(r1)
	beq- cr0,L1396
	addis r29,r31,ha16(_re_comp_buf-"L00000000007$pb")
	la r30,lo16(_re_comp_buf-"L00000000007$pb")(r29)
	lwz r0,0(r30)
	cmpwi cr7,r0,0
	beq- cr7,L1397
L1390:
	la r29,lo16(_re_comp_buf-"L00000000007$pb")(r29)
	mr r3,r28
	lwz r0,28(r29)
	oris r0,r0,0x100
	stw r0,28(r29)
	bl L_strlen$stub
	mr r6,r29
	addis r2,r31,ha16(L_xre_syntax_options$non_lazy_ptr-"L00000000007$pb")
	mr r4,r3
	lwz r2,lo16(L_xre_syntax_options$non_lazy_ptr-"L00000000007$pb")(r2)
	mr r3,r28
	lwz r5,0(r2)
	bl _byte_regex_compile
	mr. r0,r3
	li r3,0
	beq- cr0,L1387
	addis r2,r31,ha16(_re_error_msgid-"L00000000007$pb")
	slwi r0,r0,2
	la r2,lo16(_re_error_msgid-"L00000000007$pb")(r2)
	lwzx r3,r2,r0
L1387:
	addi r1,r1,80
	lwz r0,8(r1)
	lmw r28,-16(r1)
	mtlr r0
	blr
L1397:
	li r3,200
	bl L_malloc$stub
	cmpwi cr7,r3,0
	stw r3,0(r30)
	bne- cr7,L1398
L1395:
	addi r1,r1,80
	addis r2,r31,ha16(_re_error_msgid-"L00000000007$pb")
	lwz r0,8(r1)
	la r2,lo16(_re_error_msgid-"L00000000007$pb")(r2)
	lwz r3,48(r2)
	lmw r28,-16(r1)
	mtlr r0
	blr
L1396:
	addis r2,r31,ha16(_re_comp_buf-"L00000000007$pb")
	addis r3,r31,ha16(LC30-"L00000000007$pb")
	lwz r2,lo16(_re_comp_buf-"L00000000007$pb")(r2)
	la r3,lo16(LC30-"L00000000007$pb")(r3)
	cmpwi cr7,r2,0
	beq+ cr7,L1387
	li r3,0
	b L1387
L1398:
	li r0,200
	li r3,256
	stw r0,4(r30)
	bl L_malloc$stub
	cmpwi cr7,r3,0
	stw r3,16(r30)
	bne- cr7,L1390
	b L1395
	.align 2
	.globl _xre_compile_pattern
_xre_compile_pattern:
	mflr r0
	stw r31,-4(r1)
	bcl 20,31,"L00000000008$pb"
"L00000000008$pb":
	li r2,0
	mflr r31
	mr r6,r5
	stw r0,8(r1)
	stwu r1,-80(r1)
	lwz r0,28(r5)
	rlwimi r0,r2,29,1,2
	addis r2,r31,ha16(L_xre_syntax_options$non_lazy_ptr-"L00000000008$pb")
	rlwinm r0,r0,0,5,3
	oris r0,r0,0x100
	stw r0,28(r5)
	lwz r2,lo16(L_xre_syntax_options$non_lazy_ptr-"L00000000008$pb")(r2)
	lwz r5,0(r2)
	bl _byte_regex_compile
	li r0,0
	cmpwi cr0,r3,0
	addis r2,r31,ha16(_re_error_msgid-"L00000000008$pb")
	la r2,lo16(_re_error_msgid-"L00000000008$pb")(r2)
	slwi r3,r3,2
	beq- cr0,L1399
	lwzx r0,r3,r2
L1399:
	addi r1,r1,80
	mr r3,r0
	lwz r0,8(r1)
	lwz r31,-4(r1)
	mtlr r0
	blr
	.align 2
_byte_re_match_2_internal:
	mflr r0
	stmw r13,-76(r1)
	bcl 20,31,"L00000000009$pb"
"L00000000009$pb":
	mr r16,r4
	mflr r31
	mr r15,r5
	stw r0,8(r1)
	mr r18,r6
	stwu r1,-224(r1)
	li r22,257
	lwz r0,0(r1)
	mr r30,r1
	stw r3,248(r30)
	li r21,256
	stwu r0,-48(r1)
	li r17,0
	addi r29,r1,64
	lwz r11,24(r3)
	cmpwi cr7,r29,0
	lwz r27,0(r3)
	lwz r0,8(r3)
	stw r8,268(r30)
	lwz r8,20(r3)
	add r19,r27,r0
	stw r7,264(r30)
	li r7,0
	stw r9,272(r30)
	addi r9,r11,1
	stw r29,64(r30)
	li r3,-2
	stw r7,96(r30)
	stw r8,100(r30)
	stw r9,104(r30)
	stw r7,116(r30)
	stw r7,128(r30)
	beq- cr7,L1401
	cmpwi cr7,r11,0
	li r0,5
	li r11,0
	stw r0,68(r30)
	stw r11,72(r30)
	bne- cr7,L2158
	li r11,0
	li r25,0
	stw r11,132(r30)
	li r24,0
	stw r11,124(r30)
	li r26,0
	stw r11,120(r30)
	stw r11,112(r30)
	stw r11,108(r30)
	stw r25,136(r30)
L1417:
	lwz r0,268(r30)
	cmpwi cr7,r0,0
	blt- cr7,L2140
	lwz r2,264(r30)
	lwz r7,268(r30)
	add r0,r15,r2
	cmpw cr7,r7,r0
	bgt- cr7,L2140
	lwz r8,104(r30)
	li r28,1
	cmplw cr7,r28,r8
	bge- cr7,L1977
	addis r9,r31,ha16(_byte_reg_unset_dummy-"L00000000009$pb")
	addi r8,r8,-1
	la r9,lo16(_byte_reg_unset_dummy-"L00000000009$pb")(r9)
	li r11,3
	mtctr r8
L2113:
	lwz r0,112(r30)
	slwi r2,r28,2
	lwz r7,108(r30)
	addi r28,r28,1
	stwx r9,r2,r0
	stwx r9,r2,r7
	stwx r9,r2,r24
	stwx r9,r2,r25
	lwzx r0,r2,r26
	rlwimi r0,r11,30,0,1
	rlwinm r0,r0,0,5,1
	stwx r0,r2,r26
	bdnz L2113
L1977:
	lwz r8,264(r30)
	addic r11,r16,-1
	subfe r2,r11,r16
	subfic r9,r8,0
	adde r0,r9,r8
	and. r7,r0,r2
	beq- cr0,L1434
	mr r18,r16
	stw r15,264(r30)
	li r16,0
	li r15,0
L1434:
	cmpw cr7,r10,r15
	lwz r9,264(r30)
	add r8,r16,r15
	add r11,r16,r10
	add r9,r18,r9
	stw r8,140(r30)
	stw r9,84(r30)
	stw r11,88(r30)
	stw r18,92(r30)
	ble- cr7,L1436
	add r0,r18,r10
	stw r8,88(r30)
	subf r0,r15,r0
	stw r0,92(r30)
L1436:
	lwz r0,268(r30)
	li r2,1
	cmpw cr7,r0,r15
	subfic r0,r15,0
	addme r0,r0
	srwi r0,r0,31
	ble- cr7,L1438
	li r2,0
L1438:
	and. r7,r0,r2
	lwz r8,268(r30)
	lwz r14,88(r30)
	add r23,r16,r8
	bne- cr0,L2212
	add r0,r18,r8
	lwz r14,92(r30)
	subf r23,r15,r0
	b L2212
L2125:
L2212:
	cmpw cr7,r27,r19
	beq- cr7,L2159
	lbz r9,0(r27)
	addi r27,r27,1
	cmplwi cr7,r9,29
	bgt- cr7,L1935
	addis r2,r31,ha16(L1936-"L00000000009$pb")
	slwi r9,r9,2
	la r2,lo16(L1936-"L00000000009$pb")(r2)
	lwzx r0,r9,r2
	add r0,r0,r2
	mtctr r0
	bctr
	.align 2
L1936:
	.long L2125-L1936
	.long L1464-L1936
	.long L1530-L1936
	.long L1555-L1936
	.long L1574-L1936
	.long L1574-L1936
	.long L1589-L1936
	.long L1596-L1936
	.long L1644-L1936
	.long L1679-L1936
	.long L1687-L1936
	.long L1694-L1936
	.long L1699-L1936
	.long L1797-L1936
	.long L1797-L1936
	.long L1719-L1936
	.long L1701-L1936
	.long L1785-L1936
	.long L1741-L1936
	.long L1801-L1936
	.long L1816-L1936
	.long L1831-L1936
	.long L1838-L1936
	.long L1843-L1936
	.long L1903-L1936
	.long L1919-L1936
	.long L1877-L1936
	.long L1890-L1936
	.long L1849-L1936
	.long L1863-L1936
L2158:
	slwi r2,r9,2
	lwz r0,0(r1)
	addi r2,r2,30
	rlwinm r2,r2,0,0,27
	neg r2,r2
	stwux r0,r1,r2
	addi r25,r1,64
	stwux r0,r1,r2
	addi r24,r1,64
	stwux r0,r1,r2
	addi r7,r1,64
	subfic r8,r25,0
	adde r11,r8,r25
	stw r7,108(r30)
	subfic r7,r24,0
	adde r9,r7,r24
	stwux r0,r1,r2
	or. r7,r11,r9
	addi r8,r1,64
	stw r8,112(r30)
	stwux r0,r1,r2
	addi r8,r1,64
	stw r8,120(r30)
	stwux r0,r1,r2
	addi r9,r1,64
	stw r9,124(r30)
	stwux r0,r1,r2
	addi r26,r1,64
	stwux r0,r1,r2
	addi r11,r1,64
	stw r11,132(r30)
	stwux r0,r1,r2
	addi r2,r1,64
	stw r2,136(r30)
	bne- cr0,L1822
	lwz r7,108(r30)
	lwz r9,112(r30)
	subfic r8,r7,0
	adde r0,r8,r7
	subfic r11,r9,0
	adde r2,r11,r9
	or. r7,r0,r2
	bne- cr0,L1822
	lwz r9,120(r30)
	subfic r8,r26,0
	adde r0,r8,r26
	subfic r11,r9,0
	adde r2,r11,r9
	or. r7,r0,r2
	bne- cr0,L1822
	lwz r8,124(r30)
	lwz r11,132(r30)
	subfic r9,r8,0
	adde r0,r9,r8
	subfic r7,r11,0
	adde r2,r7,r11
	or. r8,r0,r2
	bne- cr0,L1822
	lwz r9,136(r30)
	cmpwi cr7,r9,0
	bne+ cr7,L1417
L1822:
	li r3,-2
L1401:
	lwz r1,0(r1)
	lwz r0,8(r1)
	lmw r13,-76(r1)
	mtlr r0
	blr
L2140:
	lwz r1,0(r1)
	li r3,-1
	lwz r0,8(r1)
	lmw r13,-76(r1)
	mtlr r0
	blr
L2159:
	lwz r9,92(r30)
	cmpw cr7,r23,r9
	beq- cr7,L1464
	lwz r11,128(r30)
	subfic r10,r15,0
	adde r0,r10,r15
	subfc r2,r16,r11
	subfe r2,r2,r2
	neg r2,r2
	or. r7,r0,r2
	li r2,0
	bne- cr0,L1445
	lwz r8,140(r30)
	cmplw cr7,r11,r8
	bgt- cr7,L1445
L1444:
	lwz r9,88(r30)
	lwz r10,128(r30)
	xor r0,r14,r9
	subfic r9,r0,0
	adde r0,r9,r0
	cmpw cr7,r2,r0
	subfc r2,r23,r10
	subfe r2,r2,r2
	neg r2,r2
	bne- cr7,L1447
	lwz r11,88(r30)
	xor r0,r14,r11
	addic r7,r0,-1
	subfe r2,r7,r0
L1447:
	lwz r7,72(r30)
	cmpwi cr7,r7,0
	beq- cr7,L1448
	lwz r8,116(r30)
	xori r0,r8,1
	or. r9,r0,r2
	beq- cr0,L2128
	lwz r11,104(r30)
	li r10,1
	stw r10,116(r30)
	li r28,1
	cmplw cr7,r10,r11
	stw r23,128(r30)
	bge- cr7,L2128
	addi r11,r11,-1
	mtctr r11
L2112:
	slwi r0,r28,2
	lwz r2,120(r30)
	lwzx r9,r25,r0
	addi r28,r28,1
	lwz r8,124(r30)
	stwx r9,r2,r0
	lwzx r2,r24,r0
	stwx r2,r8,r0
	bdnz L2112
L1454:
L2128:
	cmpwi cr7,r7,0
	beq- cr7,L1441
L2160:
	addi r7,r7,-1
	lwz r29,64(r30)
	stw r7,72(r30)
	slwi r2,r7,2
	lwzx r0,r2,r29
	cmpwi cr7,r0,0
	beq- cr7,L1938
	mr r23,r0
L1938:
	addi r7,r7,-1
	stw r7,72(r30)
	slwi r2,r7,2
	addi r7,r7,-1
	lwzx r27,r2,r29
	stw r7,72(r30)
	slwi r2,r7,2
	addi r7,r7,-1
	lwzx r21,r2,r29
	stw r7,72(r30)
	slwi r2,r7,2
	lwzx r22,r2,r29
	mr r10,r21
	cmplw cr7,r21,r22
	blt- cr7,L2035
	addi r0,r22,-1
	subf r0,r0,r21
	mtctr r0
L2103:
	addi r7,r7,-1
	slwi r11,r10,2
	stw r7,72(r30)
	slwi r2,r7,2
	lwzx r0,r2,r29
	addi r10,r10,-1
	stwx r0,r11,r26
	lwz r7,72(r30)
	lwz r29,64(r30)
	addi r7,r7,-1
	stw r7,72(r30)
	slwi r2,r7,2
	lwzx r9,r2,r29
	addi r0,r7,-1
	stw r0,72(r30)
	slwi r2,r0,2
	stwx r9,r11,r24
	mr r7,r0
	lwzx r0,r2,r29
	stwx r0,r11,r25
	bdnz L2103
L2035:
	cmpwi cr7,r27,0
	li r17,0
	beq- cr7,L2099
	cmplw cr7,r27,r19
	bge- cr7,L1950
	lbz r0,0(r27)
	li r2,0
	cmplwi cr7,r0,18
	bgt- cr7,L1962
	cmplwi cr7,r0,17
	bge- cr7,L1955
	cmpwi cr7,r0,13
	bne- cr7,L1950
L1955:
	addi r29,r27,1
	cmpwi cr7,r2,0
	stw r29,80(r30)
	lbz r0,1(r29)
	addi r29,r27,3
	lbz r28,1(r27)
	extsb r0,r0
	slwi r0,r0,8
	add r28,r28,r0
	add r2,r29,r28
	stw r2,80(r30)
	beq- cr7,L2116
	lbz r0,0(r2)
	cmpwi cr7,r0,21
	beq- cr7,L2099
L1950:
	lwz r7,140(r30)
	subfc r0,r16,r23
	li r0,0
	adde r0,r0,r0
	subfc r2,r23,r7
	li r2,0
	adde r2,r2,r2
	and. r8,r0,r2
	beq- cr0,L2125
	lwz r14,88(r30)
	b L2125
L1445:
	li r2,1
	b L1444
L2116:
	lbz r0,0(r2)
	cmpwi cr7,r0,15
	bne- cr7,L1950
L2099:
	lwz r7,72(r30)
L2172:
	cmpwi cr7,r7,0
	bne+ cr7,L2160
L1441:
	lwz r9,116(r30)
	cmpwi cr7,r9,0
	beq- cr7,L2140
L1457:
	lwz r23,128(r30)
	lwz r10,140(r30)
	subfc r0,r16,r23
	li r0,0
	adde r0,r0,r0
	lwz r14,88(r30)
	subfc r2,r23,r10
	li r2,0
	adde r2,r2,r2
	and. r11,r0,r2
	bne- cr0,L1459
	lwz r14,92(r30)
L1459:
	lwz r2,104(r30)
	li r28,1
	cmplw cr7,r28,r2
	bge- cr7,L1464
	addi r2,r2,-1
	mtctr r2
L2111:
	lwz r7,120(r30)
	slwi r0,r28,2
	lwz r8,124(r30)
	addi r28,r28,1
	lwzx r9,r7,r0
	stwx r9,r25,r0
	lwzx r2,r8,r0
	stwx r2,r24,r0
	bdnz L2111
L1464:
	lwz r9,272(r30)
	cmpwi cr7,r9,0
	beq- cr7,L2041
	lwz r10,248(r30)
	lwz r11,88(r30)
	lwz r0,28(r10)
	cmpw cr6,r14,r11
	andis. r2,r0,2048
	bne- cr0,L1465
	rlwinm r0,r0,3,30,31
	cmpwi cr7,r0,0
	bne- cr7,L1466
	lwz r7,104(r30)
	addi r3,r7,1
	cmplwi cr7,r3,30
	bge- cr7,L1467
	li r3,30
L1467:
	lwz r8,272(r30)
	stw r3,0(r8)
	slwi r3,r3,2
	bl L_malloc$stub
	lwz r2,272(r30)
	lwz r0,0(r2)
	stw r3,4(r2)
	slwi r3,r0,2
	bl L_malloc$stub
	lwz r2,272(r30)
	lwz r0,4(r2)
	stw r3,8(r2)
	cmpwi cr7,r0,0
	beq- cr7,L1822
	cmpwi cr7,r3,0
	beq- cr7,L1822
	lwz r7,248(r30)
	li r2,1
	lwz r0,28(r7)
	rlwimi r0,r2,29,1,2
	stw r0,28(r7)
L2044:
	lwz r8,272(r30)
	lwz r2,0(r8)
L1480:
	cmpwi cr7,r2,0
	lwz r9,88(r30)
	cmpw cr6,r14,r9
	beq- cr7,L1496
	lwz r10,272(r30)
	lwz r11,268(r30)
	lwz r9,4(r10)
	lwz r3,8(r10)
	stw r11,0(r9)
	beq- cr6,L2161
	subf r0,r18,r23
	add r0,r0,r15
L1498:
	lwz r7,272(r30)
	stw r0,0(r3)
	lwz r2,0(r7)
L1496:
	addis r10,r31,ha16(_byte_reg_unset_dummy-"L00000000009$pb")
	cmpwi cr1,r15,0
	la r10,lo16(_byte_reg_unset_dummy-"L00000000009$pb")(r10)
	li r28,1
	li r8,-1
L1499:
	lwz r11,104(r30)
	mr r0,r2
	cmplw cr7,r2,r11
	ble- cr7,L1502
	mr r0,r11
L1502:
	cmplw cr7,r28,r0
	bge- cr7,L2162
	slwi r2,r28,2
	lwzx r11,r2,r25
	cmpw cr7,r11,r10
	beq- cr7,L1504
	lwzx r0,r2,r24
	cmpw cr7,r0,r10
	beq- cr7,L1504
	lwz r7,272(r30)
	lwz r9,4(r7)
	add r9,r2,r9
	beq- cr1,L1506
	cmplw cr7,r16,r11
	bgt- cr7,L1506
	lwz r7,140(r30)
	subf r0,r16,r11
	cmplw cr7,r11,r7
	ble- cr7,L1507
L1506:
	lwzx r0,r2,r25
	subf r0,r18,r0
	add r0,r0,r15
L1507:
	lwz r11,272(r30)
	stw r0,0(r9)
	lwz r3,8(r11)
	add r3,r2,r3
	beq- cr1,L1508
	lwzx r0,r2,r24
	cmplw cr7,r16,r0
	bgt- cr7,L1508
	lwz r7,140(r30)
	cmplw cr7,r0,r7
	subf r0,r16,r0
	ble- cr7,L1509
L1508:
	lwzx r0,r2,r24
	subf r0,r18,r0
	add r0,r0,r15
L1509:
	stw r0,0(r3)
L1501:
	lwz r9,272(r30)
	addi r28,r28,1
	lwz r2,0(r9)
	b L1499
L1962:
	cmpwi cr7,r0,22
	li r2,1
	beq+ cr7,L1955
	b L1950
L1919:
	cmpw cr7,r23,r14
	bne- cr7,L2032
L2163:
	lwz r8,92(r30)
	cmpw cr7,r14,r8
	beq- cr7,L2099
	mr r23,r18
	mr r14,r8
	cmpw cr7,r23,r14
	beq- cr7,L2163
L2032:
	lwz r9,140(r30)
	addis r2,r31,ha16(_re_syntax_table-"L00000000009$pb")
	la r2,lo16(_re_syntax_table-"L00000000009$pb")(r2)
	cmpw cr7,r23,r9
	beq- cr7,L2164
	addi r0,r18,-1
	cmpw cr7,r23,r0
	beq- cr7,L2165
	lbz r0,0(r23)
L1926:
	lbzx r0,r2,r0
	cmpwi cr7,r0,1
	beq- cr7,L2099
	cmpwi cr7,r17,0
	bne- cr7,L1929
	cmplw cr7,r22,r21
	li r17,1
	mr r9,r22
	bgt- cr7,L1929
	addi r0,r21,1
	subf r0,r22,r0
	mtctr r0
L2104:
	slwi r2,r9,2
	addi r9,r9,1
	lwzx r0,r2,r26
	oris r0,r0,0x1800
	stwx r0,r2,r26
	bdnz L2104
L1929:
	addi r23,r23,1
	b L2125
L1903:
	cmpw cr7,r23,r14
	bne- cr7,L2029
L2166:
	lwz r0,92(r30)
	cmpw cr7,r14,r0
	beq- cr7,L2099
	mr r23,r18
	mr r14,r0
	cmpw cr7,r23,r14
	beq- cr7,L2166
L2029:
	lwz r2,140(r30)
	cmpw cr7,r23,r2
	addis r2,r31,ha16(_re_syntax_table-"L00000000009$pb")
	la r2,lo16(_re_syntax_table-"L00000000009$pb")(r2)
	beq- cr7,L2167
	addi r0,r18,-1
	cmpw cr7,r23,r0
	beq- cr7,L2168
	lbz r0,0(r23)
L1910:
	lbzx r0,r2,r0
	cmpwi cr7,r0,1
	bne- cr7,L2099
	cmpwi cr7,r17,0
	bne- cr7,L1929
	cmplw cr7,r22,r21
	li r17,1
	mr r9,r22
	bgt- cr7,L1929
	addi r0,r21,1
	subf r0,r22,r0
	mtctr r0
L2105:
	slwi r2,r9,2
	addi r9,r9,1
	lwzx r0,r2,r26
	oris r0,r0,0x1800
	stwx r0,r2,r26
	bdnz L2105
	addi r23,r23,1
	b L2125
L1555:
	cmpw cr7,r23,r14
	bne- cr7,L1989
L2169:
	lwz r0,92(r30)
	cmpw cr7,r14,r0
	beq- cr7,L2099
	mr r23,r18
	mr r14,r0
	cmpw cr7,r23,r14
	beq- cr7,L2169
L1989:
	lwz r2,248(r30)
	lwz r9,12(r2)
	andi. r7,r9,64
	bne- cr0,L1562
	lwz r8,100(r30)
	cmpwi cr7,r8,0
	beq- cr7,L1563
	lbz r0,0(r23)
	lbzx r2,r8,r0
	cmpwi cr7,r2,10
L2141:
	beq- cr7,L2099
L1562:
	andi. r10,r9,128
	beq- cr0,L1560
	lwz r11,100(r30)
	cmpwi cr7,r11,0
	beq- cr7,L1565
	lbz r0,0(r23)
	lbzx r2,r11,r0
	cmpwi cr7,r2,0
L2142:
	beq- cr7,L2099
L1560:
	cmpwi cr7,r17,0
	bne- cr7,L1929
	cmplw cr7,r22,r21
	li r17,1
	mr r9,r22
	bgt- cr7,L1929
	addi r0,r21,1
	subf r0,r22,r0
	mtctr r0
L2109:
	slwi r2,r9,2
	addi r9,r9,1
	lwzx r0,r2,r26
	oris r0,r0,0x1800
	stwx r0,r2,r26
	bdnz L2109
	addi r23,r23,1
	b L2125
L1745:
	cmpw cr7,r10,r19
	add r29,r27,r28
	stw r29,80(r30)
	beq- cr7,L1782
	lbz r9,0(r10)
	cmpwi cr7,r9,2
	beq- cr7,L2079
	lwz r7,248(r30)
	lwz r0,28(r7)
	andis. r8,r0,256
	beq- cr0,L1752
	cmpwi cr7,r9,10
	beq- cr7,L2170
L1752:
	cmpwi cr7,r9,4
	beq- cr7,L2171
L1751:
	addi r27,r27,-2
	lbz r0,-1(r27)
	cmpwi cr7,r0,17
	beq- cr7,L1785
	li r0,13
	stb r0,-1(r27)
L1784:
L1797:
	lbz r0,1(r27)
	lbz r28,0(r27)
	addi r27,r27,2
	extsb r0,r0
	slwi r0,r0,8
	add r28,r28,r0
	add r27,r27,r28
	b L2125
L1785:
	lwz r7,72(r30)
	lwz r29,64(r30)
	addi r7,r7,-3
	stw r7,72(r30)
	slwi r2,r7,2
	addi r7,r7,-1
	lwzx r0,r2,r29
	stw r7,72(r30)
	slwi r2,r7,2
	lwzx r2,r2,r29
	mr r11,r0
	cmplw cr7,r0,r2
	blt- cr7,L2019
	addi r0,r2,-1
	subf r0,r0,r11
	mtctr r0
L2106:
	addi r7,r7,-1
	lwz r10,136(r30)
	stw r7,72(r30)
	slwi r2,r7,2
	lwzx r0,r2,r29
	slwi r9,r11,2
	addi r11,r11,-1
	stwx r0,r9,r10
	lwz r7,72(r30)
	lwz r29,64(r30)
	addi r7,r7,-1
	lwz r8,132(r30)
	stw r7,72(r30)
	slwi r2,r7,2
	lwzx r0,r2,r29
	addi r7,r7,-1
	lwz r2,132(r30)
	stw r7,72(r30)
	stwx r0,r9,r2
	slwi r2,r7,2
	lwzx r0,r2,r29
	stwx r0,r9,r8
	bdnz L2106
L2019:
	li r17,0
	b L1797
L1833:
	bne+ cr0,L2125
	stb r28,3(r27)
	stb r28,2(r27)
L1719:
	lbz r0,1(r27)
	addi r29,r27,2
	lbz r28,0(r27)
	cmplw cr7,r29,r19
	extsb r0,r0
	stw r29,80(r30)
	slwi r0,r0,8
	mr r27,r29
	add r28,r28,r0
L2136:
	bge- cr7,L1723
	lbz r0,0(r29)
	cmpwi cr7,r0,0
	bne- cr7,L1723
	addi r29,r29,1
	cmplw cr7,r29,r19
	stw r29,80(r30)
	b L2136
L1701:
	subf r2,r22,r21
	lwz r5,68(r30)
	mulli r9,r2,3
	lwz r7,72(r30)
	lbz r0,1(r27)
	addi r9,r9,7
	subf r2,r7,r5
	cmplw cr7,r2,r9
	lbz r28,0(r27)
	extsb r0,r0
	addi r27,r27,2
	slwi r0,r0,8
	add r28,r28,r0
	bge- cr7,L2008
	addis r13,r31,ha16(_xre_max_failures-"L00000000009$pb")
	mr r20,r9
	la r13,lo16(_xre_max_failures-"L00000000009$pb")(r13)
L1712:
	lwz r0,0(r13)
	mulli r0,r0,19
	cmplw cr7,r5,r0
	bgt- cr7,L1822
	slwi r2,r5,3
	lwz r0,0(r1)
	addi r2,r2,30
	slwi r5,r5,2
	rlwinm r2,r2,0,0,27
	neg r2,r2
	stwux r0,r1,r2
	addi r29,r1,64
	lwz r3,64(r30)
	mr r4,r29
	bl L_bcopy$stub
	cmpwi cr7,r29,0
	stw r29,64(r30)
	beq- cr7,L1822
	lwz r0,68(r30)
	lwz r7,72(r30)
	slwi r0,r0,1
	subf r2,r7,r0
	mr r5,r0
	cmplw cr7,r2,r20
	stw r0,68(r30)
	blt+ cr7,L1712
L2008:
	cmplw cr7,r22,r21
	mr r10,r22
	bgt- cr7,L2075
	lwz r29,64(r30)
L1717:
	slwi r9,r10,2
	slwi r2,r7,2
	lwzx r0,r9,r25
	addi r7,r7,1
	addi r10,r10,1
	slwi r11,r7,2
	stwx r0,r2,r29
	addi r7,r7,1
	lwzx r0,r9,r24
	cmplw cr7,r10,r21
	lwz r2,64(r30)
	stwx r0,r11,r2
	slwi r2,r7,2
	stw r7,72(r30)
	addi r7,r7,1
	lwzx r0,r9,r26
	lwz r29,64(r30)
	stwx r0,r2,r29
	stw r7,72(r30)
	ble+ cr7,L1717
L2010:
	slwi r2,r7,2
	addi r7,r7,1
	stwx r22,r2,r29
	slwi r9,r7,2
	lwz r2,64(r30)
	addi r7,r7,1
	add r0,r27,r28
	stwx r21,r9,r2
	slwi r9,r7,2
	lwz r2,64(r30)
	addi r7,r7,1
	stwx r0,r9,r2
	slwi r9,r7,2
	lwz r2,64(r30)
	li r0,0
	addi r7,r7,1
	stwx r0,r9,r2
L2129:
	stw r7,72(r30)
	b L2125
L1699:
	lwz r11,84(r30)
	cmpw cr7,r23,r11
	beq- cr7,L2125
L2175:
	lwz r7,72(r30)
	b L2172
L1687:
	lwz r10,84(r30)
	cmpw cr7,r23,r10
	beq- cr7,L2173
	lwz r7,140(r30)
	cmpw cr7,r23,r7
	beq- cr7,L2174
	lbz r0,0(r23)
L2143:
	cmpwi cr7,r0,10
	bne+ cr7,L2099
	lwz r8,248(r30)
	lwz r0,28(r8)
	andis. r9,r0,256
	bne- cr0,L2125
	lwz r7,72(r30)
	b L2172
L1679:
	cmpwi cr7,r15,0
	beq- cr7,L1682
	cmpw cr7,r23,r16
L2133:
	beq- cr7,L1681
	lwz r0,264(r30)
	cmpwi cr7,r0,0
	bne- cr7,L1680
L1681:
	lwz r2,248(r30)
	lwz r0,28(r2)
	andis. r7,r0,1024
	beq- cr0,L2125
L2153:
	lwz r7,72(r30)
	b L2172
L1694:
	cmpwi cr7,r15,0
	beq- cr7,L1697
	cmpw cr7,r23,r16
L2134:
	beq- cr7,L2125
	lwz r10,264(r30)
	cmpwi cr7,r10,0
	beq- cr7,L2125
	b L2175
L1644:
	lbz r0,0(r27)
	addis r2,r31,ha16(_byte_reg_unset_dummy-"L00000000009$pb")
	la r2,lo16(_byte_reg_unset_dummy-"L00000000009$pb")(r2)
	addi r27,r27,1
	slwi r13,r0,2
	lwzx r4,r13,r25
	cmpw cr7,r4,r2
	beq- cr7,L2099
	lwzx r0,r13,r24
	cmpw cr7,r0,r2
	beq- cr7,L2099
	cmpwi cr6,r15,0
	mr r20,r4
	li r9,0
	beq- cr6,L1650
	cmplw cr7,r16,r4
	bgt- cr7,L1650
	lwz r2,140(r30)
	cmplw cr7,r4,r2
	bgt- cr7,L1650
L1649:
	li r2,0
	beq- cr6,L1651
	lwzx r0,r13,r24
	cmplw cr7,r16,r0
	bgt- cr7,L1651
	lwz r7,140(r30)
	cmplw cr7,r0,r7
	bgt- cr7,L1651
	li r2,1
L1651:
	cmpw cr7,r9,r2
	lwz r29,88(r30)
	beq- cr7,L2213
	lwzx r29,r13,r24
	b L2213
L2126:
L2213:
	cmpw cr7,r20,r29
	beq- cr7,L1658
L2115:
	cmpw cr7,r23,r14
	beq- cr7,L1663
L2002:
	subf r28,r23,r14
	subf r0,r20,r29
	cmpw cr7,r28,r0
	ble- cr7,L1664
	mr r28,r0
L1664:
	lwz r10,100(r30)
	cmpwi cr7,r10,0
	beq- cr7,L1666
	cmpwi cr7,r28,0
	mtctr r28
	mr r8,r23
	mr r10,r20
	beq- cr7,L1665
L1672:
	lbz r9,0(r8)
	addi r8,r8,1
	lbz r11,0(r10)
	addi r10,r10,1
	lwz r0,100(r30)
	lbzx r2,r9,r0
	lbzx r0,r11,r0
	extsb r2,r2
	extsb r0,r0
	cmpw cr7,r2,r0
	bne- cr7,L2099
	bdnz L1672
L1665:
	cmpwi cr7,r17,0
	add r20,r20,r28
	add r23,r23,r28
	bne- cr7,L2126
	cmplw cr7,r22,r21
	li r17,1
	mr r9,r22
	bgt- cr7,L2126
	addi r0,r21,1
	subf r0,r22,r0
	mtctr r0
L2107:
	slwi r2,r9,2
	addi r9,r9,1
	lwzx r0,r2,r26
	oris r0,r0,0x1800
	stwx r0,r2,r26
	bdnz L2107
	b L2126
L1596:
	lbz r0,0(r27)
	lwz r10,112(r30)
	slwi r0,r0,2
	lwzx r2,r26,r0
	add r9,r0,r10
	srwi. r11,r2,30
	beq- cr0,L1597
	lwzx r0,r24,r0
	addis r2,r31,ha16(_byte_reg_unset_dummy-"L00000000009$pb")
	la r2,lo16(_byte_reg_unset_dummy-"L00000000009$pb")(r2)
	cmpw cr7,r0,r2
	beq- cr7,L2176
L1598:
	stw r0,0(r9)
	cmpw cr7,r22,r21
	lbz r0,0(r27)
	li r17,0
	slwi r0,r0,2
	stwx r23,r24,r0
	lbz r2,0(r27)
	slwi r2,r2,2
	lwzx r0,r2,r26
	rlwinm r0,r0,0,3,1
	stwx r0,r2,r26
	beq- cr7,L2177
	lbz r11,0(r27)
	addi r0,r11,-1
	rlwinm r9,r0,0,0xff
	cmpwi cr7,r9,0
	beq- cr7,L1604
	slwi r0,r9,2
	lwzx r2,r26,r0
	andis. r0,r2,8192
L2131:
	bne- cr0,L1604
	addi r0,r9,-1
	rlwinm r9,r0,0,0xff
	cmpwi cr7,r9,0
	beq- cr7,L1604
	slwi r0,r9,2
	lwzx r2,r26,r0
	andis. r7,r2,8192
	b L2131
L1863:
	cmpwi cr7,r15,0
	beq- cr7,L1866
	cmpw cr7,r23,r16
L2145:
	beq- cr7,L2099
	lwz r2,264(r30)
	lwz r8,84(r30)
	subfic r7,r2,0
	adde r0,r7,r2
	xor r2,r23,r8
	subfic r8,r2,0
	adde r2,r8,r2
	or. r9,r0,r2
	bne- cr0,L2099
	lwz r10,140(r30)
	addi r2,r23,-1
	addis r11,r31,ha16(_re_syntax_table-"L00000000009$pb")
	cmpw cr7,r2,r10
	la r9,lo16(_re_syntax_table-"L00000000009$pb")(r11)
	beq- cr7,L2178
	addi r0,r18,-1
	cmpw cr7,r2,r0
	beq- cr7,L2179
	lbz r0,-1(r23)
L1869:
	lwz r7,140(r30)
	lbzx r0,r9,r0
	la r9,lo16(_re_syntax_table-"L00000000009$pb")(r11)
	cmpw cr7,r23,r7
	xori r2,r0,1
	subfic r8,r2,0
	adde r2,r8,r2
	beq- cr7,L2180
	addi r0,r18,-1
	cmpw cr7,r23,r0
	beq- cr7,L2181
	lbz r0,0(r23)
L1873:
	lbzx r0,r9,r0
	xori r0,r0,1
	subfic r11,r0,0
	adde r0,r11,r0
	cmpw cr7,r2,r0
	beq- cr7,L2125
	b L2175
L1849:
	cmpwi cr7,r15,0
	beq- cr7,L1852
	cmpw cr7,r23,r16
L2138:
	beq- cr7,L2125
	lwz r2,264(r30)
	lwz r8,84(r30)
	subfic r7,r2,0
	adde r0,r7,r2
	xor r2,r23,r8
	subfic r8,r2,0
	adde r2,r8,r2
	or. r9,r0,r2
	bne- cr0,L2125
	lwz r10,140(r30)
	addi r2,r23,-1
	addis r11,r31,ha16(_re_syntax_table-"L00000000009$pb")
	cmpw cr7,r2,r10
	la r9,lo16(_re_syntax_table-"L00000000009$pb")(r11)
	beq- cr7,L2182
	addi r0,r18,-1
	cmpw cr7,r2,r0
	beq- cr7,L2183
	lbz r0,-1(r23)
L1855:
	lwz r7,140(r30)
	lbzx r0,r9,r0
	la r9,lo16(_re_syntax_table-"L00000000009$pb")(r11)
	cmpw cr7,r23,r7
	xori r2,r0,1
	subfic r8,r2,0
	adde r2,r8,r2
	beq- cr7,L2184
	addi r0,r18,-1
	cmpw cr7,r23,r0
	beq- cr7,L2185
	lbz r0,0(r23)
L1859:
	lbzx r0,r9,r0
	xori r0,r0,1
	subfic r11,r0,0
	adde r0,r11,r0
	cmpw cr7,r2,r0
	bne+ cr7,L2125
L2195:
	lwz r7,72(r30)
	b L2172
L1530:
	lwz r10,100(r30)
	lbz r28,0(r27)
	addi r27,r27,1
	cmpwi cr7,r10,0
	beq- cr7,L1541
L1532:
	cmpw cr7,r23,r14
	beq- cr7,L1538
L1983:
	lbz r2,0(r23)
	addi r23,r23,1
	lwz r7,100(r30)
	lbz r0,0(r27)
	addi r27,r27,1
	lbzx r9,r7,r2
	cmpw cr7,r9,r0
	bne- cr7,L2099
	addic. r28,r28,-1
	bne+ cr0,L1532
	b L1540
L2186:
	cmpw cr7,r18,r11
	mr r23,r18
	mr r14,r11
	bne- cr7,L1983
L1538:
	lwz r11,92(r30)
	cmpw cr7,r14,r11
	bne+ cr7,L2186
	lwz r7,72(r30)
	b L2172
L1541:
	cmpw cr7,r23,r14
	bne- cr7,L1985
L2187:
	lwz r0,92(r30)
	cmpw cr7,r14,r0
	beq- cr7,L2099
	mr r23,r18
	mr r14,r0
	cmpw cr7,r23,r14
	beq- cr7,L2187
L1985:
	lbz r0,0(r27)
	addi r27,r27,1
	lbz r2,0(r23)
	addi r23,r23,1
	extsb r0,r0
	extsb r2,r2
	cmpw cr7,r2,r0
	bne- cr7,L2099
	addic. r28,r28,-1
	bne+ cr0,L1541
L1540:
	cmpwi cr7,r17,0
	bne- cr7,L2125
	cmplw cr7,r22,r21
	li r17,1
	mr r9,r22
	bgt- cr7,L2125
	addi r0,r21,1
	subf r0,r22,r0
	mtctr r0
L2110:
	slwi r2,r9,2
	addi r9,r9,1
	lwzx r0,r2,r26
	oris r0,r0,0x1800
	stwx r0,r2,r26
	bdnz L2110
	b L2125
L1843:
	lbz r0,1(r27)
	lbz r28,0(r27)
	addi r27,r27,2
	extsb r0,r0
	slwi r0,r0,8
	add r28,r28,r0
	add r29,r27,r28
	stw r29,80(r30)
	lbz r0,1(r27)
	lbz r28,0(r27)
	addi r27,r27,2
	extsb r0,r0
	slwi r0,r0,8
	add r28,r28,r0
	stb r28,0(r29)
	srawi r0,r28,8
	lwz r2,80(r30)
	stb r0,1(r2)
	b L2125
L1589:
	stw r27,80(r30)
	lbz r11,0(r27)
	slwi r28,r11,2
	lwzx r0,r28,r26
	rlwinm r0,r0,2,30,31
	cmpwi cr7,r0,3
	beq- cr7,L2188
L1590:
	slwi r2,r11,2
	lwz r7,108(r30)
	lwzx r0,r2,r26
	add r9,r2,r7
	srwi. r8,r0,30
	beq- cr0,L1591
	lwzx r0,r2,r25
	addis r2,r31,ha16(_byte_reg_unset_dummy-"L00000000009$pb")
	la r2,lo16(_byte_reg_unset_dummy-"L00000000009$pb")(r2)
	cmpw cr7,r0,r2
	beq- cr7,L2189
L1592:
	stw r0,0(r9)
	cmpwi cr7,r22,257
	lbz r0,0(r27)
	li r17,0
	slwi r0,r0,2
	stwx r23,r25,r0
	lbz r9,0(r27)
	slwi r9,r9,2
	lwzx r0,r9,r26
	oris r0,r0,0x2000
	stwx r0,r9,r26
	lbz r2,0(r27)
	slwi r2,r2,2
	lwzx r0,r2,r26
	rlwinm r0,r0,0,4,2
	stwx r0,r2,r26
	lbz r21,0(r27)
	beq- cr7,L2190
	addi r27,r27,2
	stw r27,96(r30)
	b L2125
L1574:
	lbz r0,-1(r27)
	cmpw cr7,r23,r14
	xori r10,r0,5
	subfic r2,r10,0
	adde r10,r2,r10
L2130:
	bne- cr7,L1992
	lwz r7,92(r30)
	cmpw cr7,r14,r7
	beq- cr7,L2099
	cmpw cr7,r18,r7
	mr r23,r18
	mr r14,r7
	b L2130
L1890:
	cmpwi cr7,r15,0
	beq- cr7,L1892
	cmpw cr7,r23,r16
L2146:
	beq- cr7,L2099
	lwz r11,264(r30)
	cmpwi cr7,r11,0
	beq- cr7,L2099
	lwz r7,140(r30)
	addi r2,r23,-1
	addis r11,r31,ha16(_re_syntax_table-"L00000000009$pb")
	cmpw cr7,r2,r7
	la r9,lo16(_re_syntax_table-"L00000000009$pb")(r11)
	beq- cr7,L2191
	addi r0,r18,-1
	cmpw cr7,r2,r0
	beq- cr7,L2192
	lbz r0,-1(r23)
L1895:
	lbzx r0,r9,r0
	cmpwi cr7,r0,1
	bne+ cr7,L2099
	lwz r9,84(r30)
	cmpw cr7,r23,r9
	beq- cr7,L2125
	lwz r10,140(r30)
	la r2,lo16(_re_syntax_table-"L00000000009$pb")(r11)
	cmpw cr7,r23,r10
	beq- cr7,L2193
	addi r0,r18,-1
	cmpw cr7,r23,r0
	beq- cr7,L2194
	lbz r0,0(r23)
	lbzx r0,r2,r0
L2147:
	cmpwi cr7,r0,1
L2200:
	bne+ cr7,L2125
	b L2195
L1831:
	lbz r0,3(r27)
	lbz r28,2(r27)
	extsb r0,r0
	slwi r0,r0,8
	add. r28,r28,r0
	ble- cr0,L1833
	addi r28,r28,-1
	stbu r28,2(r27)
	srawi r0,r28,8
	stb r0,1(r27)
	addi r27,r27,2
	b L2125
L1816:
	subf r2,r22,r21
	lwz r5,68(r30)
	mulli r2,r2,3
	lwz r7,72(r30)
	addi r2,r2,7
	subf r0,r7,r5
	cmplw cr7,r0,r2
	bge- cr7,L2025
	addis r20,r31,ha16(_xre_max_failures-"L00000000009$pb")
	mr r28,r2
	la r20,lo16(_xre_max_failures-"L00000000009$pb")(r20)
L1825:
	lwz r0,0(r20)
	mulli r0,r0,19
	cmplw cr7,r5,r0
	bgt- cr7,L1822
	slwi r2,r5,3
	lwz r0,0(r1)
	addi r2,r2,30
	slwi r5,r5,2
	rlwinm r2,r2,0,0,27
	neg r2,r2
	stwux r0,r1,r2
	addi r29,r1,64
	lwz r3,64(r30)
	mr r4,r29
	bl L_bcopy$stub
	cmpwi cr7,r29,0
	stw r29,64(r30)
	beq- cr7,L1822
	lwz r0,68(r30)
	lwz r7,72(r30)
	slwi r0,r0,1
	subf r2,r7,r0
	mr r5,r0
	cmplw cr7,r2,r28
	stw r0,68(r30)
	blt+ cr7,L1825
L2025:
	cmplw cr7,r22,r21
	mr r10,r22
	bgt- cr7,L2082
	lwz r29,64(r30)
L1830:
	slwi r9,r10,2
	slwi r2,r7,2
	lwzx r0,r9,r25
	addi r7,r7,1
	addi r10,r10,1
	slwi r11,r7,2
	stwx r0,r2,r29
	addi r7,r7,1
	lwzx r0,r9,r24
	cmplw cr7,r10,r21
	lwz r2,64(r30)
	stwx r0,r11,r2
	slwi r2,r7,2
	stw r7,72(r30)
	addi r7,r7,1
	lwzx r0,r9,r26
	lwz r29,64(r30)
	stwx r0,r2,r29
	stw r7,72(r30)
	ble+ cr7,L1830
L2027:
	slwi r2,r7,2
	addi r7,r7,1
	stwx r22,r2,r29
	slwi r9,r7,2
	lwz r2,64(r30)
	addi r7,r7,1
	li r0,0
	stwx r21,r9,r2
	slwi r9,r7,2
	lwz r2,64(r30)
	addi r7,r7,1
	stwx r0,r9,r2
	slwi r9,r7,2
	lwz r2,64(r30)
	addi r7,r7,1
	stwx r0,r9,r2
	b L2129
L1877:
	lwz r0,84(r30)
	cmpw cr7,r23,r0
	beq- cr7,L2099
	lwz r2,140(r30)
	addis r11,r31,ha16(_re_syntax_table-"L00000000009$pb")
	cmpw cr7,r23,r2
	la r2,lo16(_re_syntax_table-"L00000000009$pb")(r11)
	beq- cr7,L2196
	addi r0,r18,-1
	cmpw cr7,r23,r0
	beq- cr7,L2197
	lbz r0,0(r23)
L1880:
	lbzx r0,r2,r0
	cmpwi cr7,r0,1
	bne+ cr7,L2099
	cmpwi cr7,r15,0
	beq- cr7,L1884
	cmpw cr7,r23,r16
L2139:
	beq- cr7,L2125
	lwz r8,264(r30)
	cmpwi cr7,r8,0
	beq- cr7,L2125
	lwz r9,140(r30)
	addi r2,r23,-1
	cmpw cr7,r2,r9
	la r9,lo16(_re_syntax_table-"L00000000009$pb")(r11)
	beq- cr7,L2198
	addi r0,r18,-1
	cmpw cr7,r2,r0
	beq- cr7,L2199
	lbz r0,-1(r23)
	lbzx r0,r9,r0
L2211:
	cmpwi cr7,r0,1
	b L2200
L1838:
	lbz r0,3(r27)
	lbz r28,2(r27)
	extsb r0,r0
	slwi r0,r0,8
	add. r28,r28,r0
	bne- cr0,L2201
	addi r27,r27,4
	b L2125
L1801:
	subf r2,r22,r21
	lwz r5,68(r30)
	mulli r2,r2,3
	lwz r7,72(r30)
	addi r2,r2,7
	subf r0,r7,r5
	cmplw cr7,r0,r2
	bge- cr7,L2021
	addis r20,r31,ha16(_xre_max_failures-"L00000000009$pb")
	mr r28,r2
	la r20,lo16(_xre_max_failures-"L00000000009$pb")(r20)
L1810:
	lwz r0,0(r20)
	mulli r0,r0,19
	cmplw cr7,r5,r0
	bgt- cr7,L1822
	slwi r2,r5,3
	lwz r0,0(r1)
	addi r2,r2,30
	slwi r5,r5,2
	rlwinm r2,r2,0,0,27
	neg r2,r2
	stwux r0,r1,r2
	addi r29,r1,64
	lwz r3,64(r30)
	mr r4,r29
	bl L_bcopy$stub
	cmpwi cr7,r29,0
	stw r29,64(r30)
	beq- cr7,L1822
	lwz r0,68(r30)
	lwz r7,72(r30)
	slwi r0,r0,1
	subf r2,r7,r0
	mr r5,r0
	cmplw cr7,r2,r28
	stw r0,68(r30)
	blt+ cr7,L1810
L2021:
	cmplw cr7,r22,r21
	mr r10,r22
	bgt- cr7,L2080
	lwz r29,64(r30)
L1815:
	slwi r9,r10,2
	slwi r2,r7,2
	lwzx r0,r9,r25
	addi r7,r7,1
	addi r10,r10,1
	slwi r11,r7,2
	stwx r0,r2,r29
	addi r7,r7,1
	lwzx r0,r9,r24
	cmplw cr7,r10,r21
	lwz r2,64(r30)
	stwx r0,r11,r2
	slwi r2,r7,2
	stw r7,72(r30)
	addi r7,r7,1
	lwzx r0,r9,r26
	lwz r29,64(r30)
	stwx r0,r2,r29
	stw r7,72(r30)
	ble+ cr7,L1815
L2023:
	slwi r2,r7,2
	addi r7,r7,1
	stwx r22,r2,r29
	slwi r9,r7,2
	lwz r2,64(r30)
	addi r7,r7,1
	li r0,0
	stwx r21,r9,r2
	slwi r9,r7,2
	lwz r2,64(r30)
	addi r7,r7,1
	stwx r0,r9,r2
	slwi r9,r7,2
	lwz r2,64(r30)
	addi r7,r7,1
	stwx r0,r9,r2
	stw r7,72(r30)
	b L1797
L1741:
	lbz r0,1(r27)
	lbz r28,0(r27)
	addi r27,r27,2
	extsb r0,r0
	mr r10,r27
	slwi r0,r0,8
	add r28,r28,r0
L2127:
	addi r0,r10,2
	cmplw cr7,r0,r19
	bge- cr7,L1746
L2202:
	lbz r2,0(r10)
	addi r2,r2,-6
	cmplwi cr7,r2,1
	bgt- cr7,L1746
	addi r10,r10,3
	addi r0,r10,2
	cmplw cr7,r0,r19
	blt- cr7,L2202
L1746:
	addi r2,r10,6
	cmplw cr7,r2,r19
	bge- cr7,L1745
	lbz r0,0(r10)
	cmpwi cr7,r0,19
	bne- cr7,L1745
	mr r10,r2
	b L2127
L2190:
	addi r27,r27,2
	mr r22,r21
	stw r27,96(r30)
	b L2125
L2203:
	cmpw cr7,r18,r9
	mr r23,r18
	mr r14,r9
	bne- cr7,L2002
L1663:
	lwz r9,92(r30)
	cmpw cr7,r14,r9
	bne+ cr7,L2203
	lwz r7,72(r30)
	b L2172
L1658:
	lwz r8,92(r30)
	cmpw cr7,r29,r8
	beq- cr7,L2063
	lwzx r0,r13,r24
	cmpw cr7,r29,r0
	beq- cr7,L2063
	cmpw cr7,r18,r0
	mr r29,r0
	mr r20,r18
	beq+ cr7,L1658
	bne+ cr7,L2115
	b L2125
L1650:
	li r9,1
	b L1649
L1504:
	lwz r11,272(r30)
	lwz r9,4(r11)
	lwz r3,8(r11)
	stwx r8,r2,r3
	stwx r8,r2,r9
	b L1501
L2041:
	lwz r8,88(r30)
	cmpw cr6,r14,r8
L1465:
	lwz r9,268(r30)
	subf r2,r9,r23
	beq- cr6,L1515
	subf r0,r15,r18
	subf r28,r0,r2
	mr r3,r28
L2204:
	lwz r1,0(r1)
	lwz r0,8(r1)
	lmw r13,-76(r1)
	mtlr r0
	blr
L1515:
	subf r28,r16,r2
	mr r3,r28
	b L2204
L2162:
	lwz r28,104(r30)
	cmplw cr7,r28,r2
	bge- cr7,L1465
	lwz r2,272(r30)
	li r11,-1
	lwz r9,4(r2)
	lwz r3,8(r2)
L1514:
	slwi r2,r28,2
	lwz r7,272(r30)
	stwx r11,r2,r3
	addi r28,r28,1
	stwx r11,r2,r9
	lwz r0,0(r7)
	cmplw cr7,r28,r0
	blt+ cr7,L1514
	b L1465
L1723:
	cmplw cr7,r29,r19
	bge- cr7,L1725
	lbz r0,0(r29)
	cmpwi cr7,r0,6
	beq- cr7,L2205
L1725:
	subf r2,r22,r21
	lwz r5,68(r30)
	mulli r2,r2,3
	lwz r7,72(r30)
	addi r2,r2,7
	subf r0,r7,r5
	cmplw cr7,r0,r2
	bge- cr7,L2013
	addis r13,r31,ha16(_xre_max_failures-"L00000000009$pb")
	mr r20,r2
	la r13,lo16(_xre_max_failures-"L00000000009$pb")(r13)
L1735:
	lwz r0,0(r13)
	mulli r0,r0,19
	cmplw cr7,r5,r0
	bgt- cr7,L1822
	slwi r2,r5,3
	lwz r0,0(r1)
	addi r2,r2,30
	slwi r5,r5,2
	rlwinm r2,r2,0,0,27
	neg r2,r2
	stwux r0,r1,r2
	addi r29,r1,64
	lwz r3,64(r30)
	mr r4,r29
	bl L_bcopy$stub
	cmpwi cr7,r29,0
	stw r29,64(r30)
	beq- cr7,L1822
	lwz r0,68(r30)
	lwz r7,72(r30)
	slwi r0,r0,1
	subf r2,r7,r0
	mr r5,r0
	cmplw cr7,r2,r20
	stw r0,68(r30)
	blt+ cr7,L1735
L2013:
	cmplw cr7,r22,r21
	mr r10,r22
	bgt- cr7,L2077
	lwz r29,64(r30)
L1740:
	slwi r9,r10,2
	slwi r2,r7,2
	lwzx r0,r9,r25
	addi r7,r7,1
	addi r10,r10,1
	slwi r11,r7,2
	stwx r0,r2,r29
	addi r7,r7,1
	lwzx r0,r9,r24
	cmplw cr7,r10,r21
	lwz r2,64(r30)
	stwx r0,r11,r2
	slwi r2,r7,2
	stw r7,72(r30)
	addi r7,r7,1
	lwzx r0,r9,r26
	lwz r29,64(r30)
	stwx r0,r2,r29
	stw r7,72(r30)
	ble+ cr7,L1740
L2015:
	slwi r2,r7,2
	addi r7,r7,1
	stwx r22,r2,r29
	slwi r9,r7,2
	lwz r2,64(r30)
	addi r7,r7,1
	add r0,r27,r28
	stwx r21,r9,r2
	slwi r9,r7,2
	lwz r2,64(r30)
	addi r7,r7,1
	stwx r0,r9,r2
	slwi r9,r7,2
	lwz r2,64(r30)
	addi r7,r7,1
	stwx r23,r9,r2
	stw r7,72(r30)
	b L2125
L1466:
	cmpwi cr7,r0,1
	beq- cr7,L2206
	lwz r7,272(r30)
	lwz r2,0(r7)
	b L1480
L1992:
	lwz r8,100(r30)
	cmpwi cr7,r8,0
	beq- cr7,L1579
	lbz r0,0(r23)
	lbzx r9,r8,r0
L1580:
	lbz r11,0(r27)
	slwi r0,r11,3
	cmplw cr7,r9,r0
	bge- cr7,L1581
	srwi r2,r9,3
	rlwinm r9,r9,0,29,31
	add r2,r27,r2
	lbz r0,1(r2)
	sraw r0,r0,r9
	andi. r9,r0,1
	beq- cr0,L1581
	xori r10,r10,1
L1581:
	cmpwi cr7,r10,0
	add r2,r27,r11
	addi r27,r2,1
	beq- cr7,L2099
	cmpwi cr7,r17,0
	bne- cr7,L1929
	cmplw cr7,r22,r21
	li r17,1
	mr r9,r22
	bgt- cr7,L1929
	addi r0,r21,1
	subf r0,r22,r0
	mtctr r0
L2108:
	slwi r2,r9,2
	addi r9,r9,1
	lwzx r0,r2,r26
	oris r0,r0,0x1800
	stwx r0,r2,r26
	bdnz L2108
	addi r23,r23,1
	b L2125
L1604:
	cmpwi cr7,r9,0
	mr r21,r9
	beq- cr7,L2132
L1602:
	slwi r0,r11,2
	lwzx r2,r26,r0
	andis. r8,r2,4096
	beq- cr0,L1609
	lwz r9,96(r30)
	addi r0,r27,-1
	cmpw cr7,r9,r0
	addi r9,r27,2
	beq- cr7,L1609
L1608:
	mr r27,r9
	b L2125
L2177:
	lbz r11,0(r27)
L2132:
	li r22,257
	li r21,256
	b L1602
L1609:
	addi r9,r27,2
	cmplw cr7,r9,r19
	bge- cr7,L1608
	stw r9,80(r30)
	li r2,0
	lbz r0,2(r27)
	li r28,0
	addi r29,r27,3
	cmplwi cr7,r0,19
	bgt- cr7,L1620
	cmplwi cr7,r0,17
	bge- cr7,L2101
	cmpwi cr7,r0,13
	beq- cr7,L2101
L1610:
	cmpwi cr7,r28,0
	add r29,r29,r28
	stw r29,80(r30)
	bge+ cr7,L1608
	lbz r0,0(r29)
	cmpwi cr7,r0,15
	bne+ cr7,L1608
	lbz r0,3(r29)
	cmpwi cr7,r0,6
	bne+ cr7,L1608
	lbz r2,4(r29)
	lbz r0,0(r27)
	cmpw cr7,r2,r0
	bne+ cr7,L1608
	slwi r2,r2,2
	lwzx r0,r2,r26
	andis. r10,r0,2048
	beq- cr0,L1622
	rlwinm r0,r0,0,5,3
	stwx r0,r2,r26
	lbz r11,0(r27)
	lbz r0,1(r27)
	add r0,r11,r0
	cmplw cr7,r11,r0
	bge- cr7,L2057
	mr r9,r29
L1627:
	lwz r7,108(r30)
	slwi r2,r11,2
	lwz r8,112(r30)
	lwzx r0,r2,r7
	stwx r0,r2,r25
	lwzx r10,r2,r8
	cmplw cr7,r10,r0
	blt- cr7,L1625
	stwx r10,r2,r24
L1625:
	lbz r0,0(r27)
	addi r11,r11,1
	lbz r2,1(r27)
	add r0,r0,r2
	cmplw cr7,r11,r0
	blt+ cr7,L1627
	mr r29,r9
	b L1622
L1852:
	cmpw cr7,r23,r18
	b L2138
L1682:
	cmpw cr7,r23,r18
	b L2133
L1591:
	lwzx r0,r2,r25
	b L1592
L1866:
	cmpw cr7,r23,r18
	b L2145
L1697:
	cmpw cr7,r23,r18
	b L2134
L1892:
	cmpw cr7,r23,r18
	b L2146
L1597:
	lwzx r0,r24,r0
	b L1598
L1666:
	mr r3,r23
	mr r4,r20
	mr r5,r28
	bl L_bcmp$stub
	cmpwi cr7,r3,0
	beq+ cr7,L1665
	lwz r7,72(r30)
	b L2172
L1680:
	lbz r0,-1(r23)
	b L2143
L1935:
	bl L_abort$stub
L2063:
	cmpw cr7,r20,r29
	bne+ cr7,L2115
	b L2125
L2201:
	addi r28,r28,-1
	srawi r0,r28,8
	stb r28,2(r27)
	stb r0,3(r27)
	b L1797
L2206:
	lwz r9,272(r30)
	lwz r10,104(r30)
	lwz r2,0(r9)
	addi r0,r10,1
	cmplw cr7,r2,r0
	bge+ cr7,L1480
	lwz r3,4(r9)
	slwi r4,r0,2
	stw r0,0(r9)
	bl L_realloc$stub
	lwz r2,272(r30)
	lwz r4,0(r2)
	stw r3,4(r2)
	lwz r3,8(r2)
	slwi r4,r4,2
	bl L_realloc$stub
	lwz r2,272(r30)
	lwz r9,4(r2)
	stw r3,8(r2)
	cmpwi cr7,r9,0
	beq- cr7,L1822
	cmpwi cr7,r3,0
	bne- cr7,L2044
	li r3,-2
	b L1401
L2079:
	lbz r9,2(r10)
L1755:
	lwz r29,80(r30)
	lbz r0,3(r29)
	cmpwi cr7,r0,2
	beq- cr7,L2207
L1756:
	lbz r2,3(r29)
	addi r0,r2,-4
	cmplwi cr7,r0,1
	bgt- cr7,L1751
	lbz r0,4(r29)
	xori r11,r2,5
	subfic r10,r11,0
	adde r11,r10,r11
	slwi r0,r0,3
	cmplw cr7,r9,r0
	bge- cr7,L1759
	srwi r2,r9,3
	rlwinm r9,r9,0,29,31
	add r2,r29,r2
	lbz r0,5(r2)
	sraw r0,r0,r9
	andi. r2,r0,1
	beq- cr0,L1759
	xori r11,r11,1
L1759:
	cmpwi cr7,r11,0
	bne+ cr7,L1751
L1782:
	li r0,17
	stb r0,-3(r27)
	b L1751
L2075:
	lwz r29,64(r30)
	b L2010
L2082:
	lwz r29,64(r30)
	b L2027
L2080:
	lwz r29,64(r30)
	b L2023
L2077:
	lwz r29,64(r30)
	b L2015
L2176:
	mr r0,r23
	b L1598
L1579:
	lbz r9,0(r23)
	b L1580
L2168:
	lwz r7,140(r30)
	lbz r0,-1(r7)
	b L1910
L2167:
	lbz r0,0(r18)
	b L1910
L2165:
	lwz r10,140(r30)
	lbz r0,-1(r10)
	b L1926
L2164:
	lbz r0,0(r18)
	b L1926
L2184:
	lbz r0,0(r18)
	b L1859
L2182:
	lbz r0,0(r18)
	b L1855
L2161:
	subf r0,r16,r23
	b L1498
L1563:
	lbz r0,0(r23)
	cmpwi cr7,r0,10
	b L2141
L2170:
	li r9,10
	b L1755
L1565:
	lbz r0,0(r23)
	cmpwi cr7,r0,0
	b L2142
L2205:
	cmpwi cr7,r22,257
	lbz r0,2(r29)
	lbz r2,1(r29)
	add r21,r2,r0
	bne+ cr7,L1725
	mr r22,r2
	b L1725
L2207:
	lbz r0,5(r29)
	cmpw cr7,r0,r9
	beq- cr7,L1756
	li r0,17
	stb r0,-3(r27)
	b L1751
L2174:
	lbz r0,0(r18)
	b L2143
L2173:
	lwz r11,248(r30)
	lwz r0,28(r11)
	andis. r2,r0,512
	bne- cr0,L2153
	b L2125
L2189:
	mr r0,r23
	b L1592
L1884:
	cmpw cr7,r23,r18
	b L2139
L2197:
	lwz r7,140(r30)
	lbz r0,-1(r7)
	b L1880
L2196:
	lbz r0,0(r18)
	b L1880
L2188:
	addi r3,r30,80
	mr r4,r19
	mr r5,r26
	bl _byte_group_match_null_string_p
	lwzx r0,r28,r26
	rlwimi r0,r3,30,0,1
	stwx r0,r28,r26
	lbz r11,0(r27)
	b L1590
L2171:
	lwz r29,80(r30)
	lbz r0,3(r29)
	cmpwi cr7,r0,2
	beq- cr7,L2208
L1763:
	lbz r0,3(r29)
	cmpwi cr7,r0,5
	beq- cr7,L2209
	cmpwi cr7,r0,4
	bne+ cr7,L1751
	lbz r7,1(r10)
	li r8,0
	cmpw cr7,r8,r7
	bge- cr7,L1777
	lbz r0,4(r29)
	cmpw cr7,r8,r0
	bge- cr7,L1777
	mr r6,r7
	mr r5,r0
L1780:
	add r9,r29,r8
	add r2,r10,r8
	lbz r11,2(r2)
	lbz r0,5(r9)
	and. r9,r11,r0
	bne- cr0,L1777
	addi r8,r8,1
	cmpw cr7,r8,r6
	bge- cr7,L1777
	cmpw cr7,r8,r5
	blt+ cr7,L1780
L1777:
	cmpw cr7,r8,r7
	beq- cr7,L1782
	lbz r0,4(r29)
	cmpw cr7,r8,r0
	bne+ cr7,L1751
	b L1782
L2180:
	lbz r0,0(r18)
	b L1873
L2178:
	lbz r0,0(r18)
	b L1869
L1620:
	cmpwi cr7,r0,22
	bne+ cr7,L1610
	li r2,1
L2101:
	stw r29,80(r30)
	cmpwi cr7,r2,0
	lbz r0,1(r29)
	lbz r28,0(r29)
	addi r29,r29,2
	extsb r0,r0
	slwi r0,r0,8
	add r28,r28,r0
	beq- cr7,L1610
	addi r29,r29,2
	b L1610
L2191:
	lbz r0,0(r18)
	b L1895
L2179:
	lwz r2,140(r30)
	lbz r0,-1(r2)
	b L1869
L2192:
	lwz r8,140(r30)
	lbz r0,-1(r8)
	b L1895
L2194:
	lwz r11,140(r30)
	lbz r0,-1(r11)
	lbzx r0,r2,r0
	b L2147
L2193:
	lbz r0,0(r18)
	lbzx r0,r2,r0
	b L2147
L2183:
	lwz r2,140(r30)
	lbz r0,-1(r2)
	b L1855
L1448:
	lwz r9,116(r30)
	andc. r9,r9,r2
	beq- cr0,L1464
	b L1457
L2057:
	lwz r29,80(r30)
L1622:
	subf r2,r22,r21
	lwz r5,68(r30)
	mulli r9,r2,3
	lwz r7,72(r30)
	addi r29,r29,1
	stw r29,80(r30)
	addi r9,r9,7
	subf r2,r7,r5
	lbz r0,1(r29)
	cmplw cr7,r2,r9
	lbz r28,0(r29)
	extsb r0,r0
	addi r29,r29,2
	slwi r0,r0,8
	stw r29,80(r30)
	add r28,r28,r0
	bge- cr7,L1997
	addis r27,r31,ha16(_xre_max_failures-"L00000000009$pb")
	mr r20,r9
	la r27,lo16(_xre_max_failures-"L00000000009$pb")(r27)
L1638:
	lwz r0,0(r27)
	mulli r0,r0,19
	cmplw cr7,r5,r0
	bgt- cr7,L1822
	slwi r2,r5,3
	lwz r0,0(r1)
	addi r2,r2,30
	slwi r5,r5,2
	rlwinm r2,r2,0,0,27
	neg r2,r2
	stwux r0,r1,r2
	addi r29,r1,64
	lwz r3,64(r30)
	mr r4,r29
	bl L_bcopy$stub
	cmpwi cr7,r29,0
	stw r29,64(r30)
	beq- cr7,L1822
	lwz r0,68(r30)
	lwz r7,72(r30)
	slwi r0,r0,1
	subf r2,r7,r0
	mr r5,r0
	cmplw cr7,r2,r20
	stw r0,68(r30)
	blt+ cr7,L1638
L1997:
	cmplw cr7,r22,r21
	mr r10,r22
	bgt- cr7,L2058
	lwz r29,64(r30)
L1643:
	slwi r9,r10,2
	slwi r2,r7,2
	lwzx r0,r9,r25
	addi r7,r7,1
	addi r10,r10,1
	slwi r11,r7,2
	stwx r0,r2,r29
	addi r7,r7,1
	lwzx r0,r9,r24
	cmplw cr7,r10,r21
	lwz r2,64(r30)
	stwx r0,r11,r2
	slwi r2,r7,2
	stw r7,72(r30)
	addi r7,r7,1
	lwzx r0,r9,r26
	lwz r29,64(r30)
	stwx r0,r2,r29
	stw r7,72(r30)
	ble+ cr7,L1643
	b L1999
L2181:
	lwz r10,140(r30)
	lbz r0,-1(r10)
	b L1873
L2209:
	lbz r7,1(r10)
	li r9,0
	cmpw cr7,r9,r7
	mr r8,r7
	blt+ cr7,L1772
	b L1768
L2210:
	add r2,r29,r9
	lbz r0,5(r2)
	andc. r2,r11,r0
	bne- cr0,L1768
L1769:
	addi r9,r9,1
	cmpw cr7,r9,r8
	bge- cr7,L1768
L1772:
	add r2,r10,r9
	lbz r11,2(r2)
	cmpwi cr7,r11,0
	beq- cr7,L1769
	lbz r0,4(r29)
	cmpw cr7,r9,r0
	blt+ cr7,L2210
L1768:
	cmpw cr7,r9,r7
	bne+ cr7,L1751
	b L1782
L2208:
	lbz r0,1(r10)
	lbz r9,5(r29)
	slwi r0,r0,3
	cmpw cr7,r0,r9
	ble- cr7,L1782
	srwi r2,r9,3
	rlwinm r9,r9,0,29,31
	add r2,r10,r2
	lbz r0,2(r2)
	sraw r0,r0,r9
	andi. r7,r0,1
	beq- cr0,L1782
	b L1763
L2199:
	lwz r10,140(r30)
	lbz r0,-1(r10)
	lbzx r0,r9,r0
	b L2211
L2198:
	lbz r0,0(r18)
	lbzx r0,r9,r0
	b L2211
L2185:
	lwz r10,140(r30)
	lbz r0,-1(r10)
	b L1859
L2058:
	lwz r29,64(r30)
L1999:
	slwi r2,r7,2
	addi r7,r7,1
	stwx r22,r2,r29
	slwi r9,r7,2
	lwz r2,64(r30)
	addi r7,r7,1
	lwz r0,80(r30)
	stwx r21,r9,r2
	slwi r9,r7,2
	lwz r2,64(r30)
	add r0,r0,r28
	addi r7,r7,1
	stwx r0,r9,r2
	slwi r9,r7,2
	lwz r2,64(r30)
	addi r7,r7,1
	stwx r23,r9,r2
	stw r7,72(r30)
	b L2128
	.align 2
	.globl _xre_match_2
_xre_match_2:
	stw r31,-4(r1)
	lwz r31,-4(r1)
	b _byte_re_match_2_internal
	.align 2
	.globl _xre_match
_xre_match:
	stw r31,-4(r1)
	mr r9,r7
	lwz r31,-4(r1)
	mr r7,r5
	mr r8,r6
	li r5,0
	mr r6,r4
	mr r10,r7
	li r4,0
	b _byte_re_match_2_internal
	.align 2
	.globl _xre_search_2
_xre_search_2:
	stmw r17,-60(r1)
	add r27,r5,r7
	mflr r0
	mfcr r12
	cmpw cr4,r8,r27
	mr r30,r9
	stw r12,4(r1)
	mr r25,r5
	stw r0,8(r1)
	mr r20,r7
	stwu r1,-128(r1)
	mr r29,r8
	mr r28,r3
	mr r21,r4
	mr r23,r6
	mr r19,r10
	lwz r18,184(r1)
	add r9,r8,r9
	lwz r26,16(r3)
	srwi r0,r8,31
	lwz r22,20(r3)
	li r2,1
	bgt- cr4,L2218
	li r2,0
L2218:
	or. r11,r0,r2
	li r3,-1
	bne- cr0,L2219
	cmpwi cr7,r9,0
	blt- cr7,L2274
	cmpw cr7,r9,r27
	bgt- cr7,L2275
L2221:
	lwz r2,8(r28)
	subfic r9,r30,0
	addme r9,r9
	srwi r9,r9,31
	addic r11,r2,-1
	subfe r0,r11,r2
	and. r2,r0,r9
	beq- cr0,L2223
	lwz r2,0(r28)
	lbz r0,0(r2)
	cmpwi cr7,r0,11
	beq- cr7,L2224
	cmpwi cr7,r0,9
	beq- cr7,L2276
L2223:
	cmpwi cr3,r26,0
	beq- cr3,L2227
	lwz r0,28(r28)
	andis. r11,r0,4096
	beq- cr0,L2277
L2227:
	cmpwi cr2,r22,0
	addic r0,r26,-1
	subfe r24,r0,r26
	subfic r2,r25,0
	adde r17,r2,r25
	b L2280
L2269:
L2280:
	li r0,1
	blt- cr4,L2232
	li r0,0
L2232:
	and. r9,r24,r0
	beq- cr0,L2231
	lwz r0,28(r28)
	cmpwi cr7,r0,0
	blt- cr7,L2231
	cmpwi cr6,r30,0
	ble- cr6,L2233
	cmpw cr7,r29,r25
	subf r0,r25,r23
	add r11,r0,r29
	li r10,0
	mr r8,r30
	bge- cr7,L2236
	add r0,r29,r30
	cmpw cr7,r0,r25
	blt- cr7,L2235
	subf r0,r29,r25
	subf r10,r0,r30
L2235:
	add r11,r21,r29
L2236:
	beq- cr2,L2272
	cmpw cr7,r30,r10
	ble- cr7,L2241
L2278:
	lbz r9,0(r11)
	addi r11,r11,1
	lbzx r0,r22,r9
	lbzx r2,r26,r0
	cmpwi cr7,r2,0
	bne- cr7,L2241
	addi r30,r30,-1
	cmpw cr7,r30,r10
	bgt+ cr7,L2278
L2241:
	subf r0,r30,r8
	add r29,r29,r0
	cmpw cr4,r29,r27
L2231:
	mfcr r0
	rlwinm r0,r0,19,1
	nor r2,r30,r30
	srwi r2,r2,31
	and. r9,r2,r0
	beq- cr0,L2253
	beq- cr3,L2253
	lwz r0,28(r28)
	cmpwi cr7,r0,0
	bge- cr7,L2230
L2253:
	mr r3,r28
	mr r4,r21
	mr r5,r25
	mr r6,r23
	mr r7,r20
	mr r8,r29
	mr r9,r19
	mr r10,r18
	bl _byte_re_match_2_internal
	cmpwi cr0,r3,0
	bge- cr0,L2264
	cmpwi cr7,r3,-2
	beq- cr7,L2265
	cmpwi cr6,r30,0
L2252:
	beq- cr6,L2230
	ble- cr6,L2258
	addi r29,r29,1
	addi r30,r30,-1
	cmpw cr4,r29,r27
	b L2269
L2230:
	li r3,-1
L2219:
	addi r1,r1,128
	lwz r12,4(r1)
	lmw r17,-60(r1)
	lwz r0,8(r1)
	mtcrf 32,r12
	mtlr r0
	mtcrf 16,r12
	mtcrf 8,r12
	blr
L2272:
	cmpw cr7,r30,r10
	ble- cr7,L2241
L2271:
	lbz r0,0(r11)
	addi r11,r11,1
	lbzx r2,r26,r0
	cmpwi cr7,r2,0
	bne- cr7,L2241
	addi r30,r30,-1
	cmpw cr7,r30,r10
	bgt+ cr7,L2271
	b L2241
L2275:
	subf r30,r29,r27
	b L2221
L2274:
	neg r30,r29
	b L2221
L2258:
	addi r29,r29,-1
	addi r30,r30,1
	cmpw cr4,r29,r27
	b L2269
L2233:
	cmpw cr7,r29,r25
	li r0,1
	bge- cr7,L2248
	li r0,0
L2248:
	or. r11,r17,r0
	beq- cr0,L2246
	subf r0,r25,r29
	lbzx r2,r23,r0
	extsb r0,r2
	beq- cr2,L2250
L2279:
	rlwinm r0,r0,0,0xff
	lbzx r2,r22,r0
	add r2,r26,r2
L2251:
	lbz r0,0(r2)
	cmpwi cr7,r0,0
	bne+ cr7,L2231
	b L2252
L2246:
	lbzx r0,r21,r29
	extsb r0,r0
	bne- cr2,L2279
L2250:
	rlwinm r0,r0,0,0xff
	add r2,r26,r0
	b L2251
L2277:
	mr r3,r28
	bl _xre_compile_fastmap
	cmpwi cr7,r3,-2
	li r3,-2
	bne+ cr7,L2227
	b L2219
L2276:
	lwz r0,28(r28)
	andis. r9,r0,256
	bne- cr0,L2223
L2224:
	cmpwi cr7,r8,0
	li r30,1
	li r3,-1
	ble- cr7,L2223
	b L2219
L2264:
	addi r1,r1,128
	mr r3,r29
	lwz r12,4(r1)
	lmw r17,-60(r1)
	lwz r0,8(r1)
	mtcrf 32,r12
	mtlr r0
	mtcrf 16,r12
	mtcrf 8,r12
	blr
L2265:
	addi r1,r1,128
	li r3,-2
	lwz r12,4(r1)
	lmw r17,-60(r1)
	lwz r0,8(r1)
	mtcrf 32,r12
	mtlr r0
	mtcrf 16,r12
	mtcrf 8,r12
	blr
	.align 2
	.globl _xre_search
_xre_search:
	mflr r0
	mr r2,r5
	stw r31,-4(r1)
	mr r9,r7
	mr r10,r8
	mr r7,r5
	stw r0,8(r1)
	mr r0,r6
	stwu r1,-96(r1)
	mr r6,r4
	mr r8,r0
	li r4,0
	li r5,0
	stw r2,56(r1)
	bl _xre_search_2
	addi r1,r1,96
	lwz r0,8(r1)
	lwz r31,-4(r1)
	mtlr r0
	blr
	.align 2
	.globl _xregexec
_xregexec:
	mflr r0
	stmw r24,-32(r1)
	mr r29,r3
	mr r30,r5
	mr r3,r4
	mr r28,r7
	stw r0,8(r1)
	mr r25,r6
	stwu r1,-144(r1)
	mr r24,r4
	bl L_strlen$stub
	lwz r2,28(r29)
	rlwinm r11,r28,0,31,31
	lwz r5,24(r29)
	andis. r0,r2,2048
	rlwimi r2,r11,26,5,5
	addic r11,r30,-1
	subfe r0,r11,r30
	lwz r10,8(r29)
	mfcr r9
	rlwinm r9,r9,3,1
	lwz r11,4(r29)
	lwz r8,12(r29)
	rlwimi r2,r28,24,6,6
	and. r27,r9,r0
	lwz r7,16(r29)
	lwz r9,0(r29)
	li r0,2
	lwz r6,20(r29)
	rlwimi r2,r0,29,1,2
	mr r26,r3
	stw r9,80(r1)
	stw r11,84(r1)
	stw r10,88(r1)
	stw r8,92(r1)
	stw r7,96(r1)
	stw r6,100(r1)
	stw r5,104(r1)
	stw r2,108(r1)
	bne- cr0,L2298
L2283:
	cmpwi cr7,r27,0
	addi r8,r1,64
	beq- cr7,L2299
L2288:
	mr r5,r26
	addi r3,r1,80
	mr r4,r24
	li r6,0
	mr r7,r26
	bl _xre_search
	cmpwi cr7,r27,0
	mr r29,r3
	beq- cr7,L2289
	cmpwi cr7,r3,0
	blt- cr7,L2297
	li r10,0
	cmplw cr7,r10,r30
	bge- cr7,L2297
	lwz r3,68(r1)
	lwz r8,72(r1)
L2294:
	slwi r11,r10,2
	slwi r2,r10,3
	lwzx r0,r11,r3
	addi r10,r10,1
	cmplw cr7,r10,r30
	stwx r0,r2,r25
	add r2,r2,r25
	lwzx r9,r11,r8
	stw r9,4(r2)
	blt+ cr7,L2294
	bl L_free$stub
L2289:
	srwi r0,r29,31
L2282:
	addi r1,r1,144
	mr r3,r0
	lwz r0,8(r1)
	lmw r24,-32(r1)
	mtlr r0
	blr
L2299:
	li r8,0
	b L2288
L2298:
	slwi r3,r30,3
	stw r30,64(r1)
	bl L_malloc$stub
	li r0,1
	cmpwi cr7,r3,0
	stw r3,68(r1)
	beq- cr7,L2282
	slwi r0,r30,2
	add r8,r3,r0
	stw r8,72(r1)
	b L2283
L2297:
	lwz r3,68(r1)
	bl L_free$stub
	b L2289
	.align 2
	.globl _xre_exec
_xre_exec:
	mflr r0
	bcl 20,31,"L00000000010$pb"
"L00000000010$pb":
	stmw r29,-12(r1)
	mr r29,r3
	mflr r31
	stw r0,8(r1)
	stwu r1,-80(r1)
	bl L_strlen$stub
	mr r4,r29
	mr r5,r3
	addis r3,r31,ha16(_re_comp_buf-"L00000000010$pb")
	la r3,lo16(_re_comp_buf-"L00000000010$pb")(r3)
	li r6,0
	mr r7,r5
	li r8,0
	bl _xre_search
	addi r1,r1,80
	lwz r0,8(r1)
	nor r3,r3,r3
	srwi r3,r3,31
	lmw r29,-12(r1)
	mtlr r0
	blr
.comm _xre_syntax_options,4
.lcomm _re_syntax_table,256,2
.lcomm _byte_reg_unset_dummy,1,0
.lcomm _re_comp_buf,32,2
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
	.align 2
L_bcmp$stub:
	.indirect_symbol _bcmp
	mflr r0
	bcl 20,31,L0$_bcmp
L0$_bcmp:
	mflr r11
	addis r11,r11,ha16(L_bcmp$lazy_ptr-L0$_bcmp)
	mtlr r0
	lwzu r12,lo16(L_bcmp$lazy_ptr-L0$_bcmp)(r11)
	mtctr r12
	bctr
.data
.lazy_symbol_pointer
L_bcmp$lazy_ptr:
	.indirect_symbol _bcmp
	.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
	.align 2
L____tolower$stub:
	.indirect_symbol ____tolower
	mflr r0
	bcl 20,31,L0$____tolower
L0$____tolower:
	mflr r11
	addis r11,r11,ha16(L____tolower$lazy_ptr-L0$____tolower)
	mtlr r0
	lwzu r12,lo16(L____tolower$lazy_ptr-L0$____tolower)(r11)
	mtctr r12
	bctr
.data
.lazy_symbol_pointer
L____tolower$lazy_ptr:
	.indirect_symbol ____tolower
	.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
	.align 2
L_strcmp$stub:
	.indirect_symbol _strcmp
	mflr r0
	bcl 20,31,L0$_strcmp
L0$_strcmp:
	mflr r11
	addis r11,r11,ha16(L_strcmp$lazy_ptr-L0$_strcmp)
	mtlr r0
	lwzu r12,lo16(L_strcmp$lazy_ptr-L0$_strcmp)(r11)
	mtctr r12
	bctr
.data
.lazy_symbol_pointer
L_strcmp$lazy_ptr:
	.indirect_symbol _strcmp
	.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
	.align 2
L_realloc$stub:
	.indirect_symbol _realloc
	mflr r0
	bcl 20,31,L0$_realloc
L0$_realloc:
	mflr r11
	addis r11,r11,ha16(L_realloc$lazy_ptr-L0$_realloc)
	mtlr r0
	lwzu r12,lo16(L_realloc$lazy_ptr-L0$_realloc)(r11)
	mtctr r12
	bctr
.data
.lazy_symbol_pointer
L_realloc$lazy_ptr:
	.indirect_symbol _realloc
	.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
	.align 2
L____runetype$stub:
	.indirect_symbol ____runetype
	mflr r0
	bcl 20,31,L0$____runetype
L0$____runetype:
	mflr r11
	addis r11,r11,ha16(L____runetype$lazy_ptr-L0$____runetype)
	mtlr r0
	lwzu r12,lo16(L____runetype$lazy_ptr-L0$____runetype)(r11)
	mtctr r12
	bctr
.data
.lazy_symbol_pointer
L____runetype$lazy_ptr:
	.indirect_symbol ____runetype
	.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
	.align 2
L_malloc$stub:
	.indirect_symbol _malloc
	mflr r0
	bcl 20,31,L0$_malloc
L0$_malloc:
	mflr r11
	addis r11,r11,ha16(L_malloc$lazy_ptr-L0$_malloc)
	mtlr r0
	lwzu r12,lo16(L_malloc$lazy_ptr-L0$_malloc)(r11)
	mtctr r12
	bctr
.data
.lazy_symbol_pointer
L_malloc$lazy_ptr:
	.indirect_symbol _malloc
	.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
	.align 2
L_free$stub:
	.indirect_symbol _free
	mflr r0
	bcl 20,31,L0$_free
L0$_free:
	mflr r11
	addis r11,r11,ha16(L_free$lazy_ptr-L0$_free)
	mtlr r0
	lwzu r12,lo16(L_free$lazy_ptr-L0$_free)(r11)
	mtctr r12
	bctr
.data
.lazy_symbol_pointer
L_free$lazy_ptr:
	.indirect_symbol _free
	.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
	.align 2
L_strlen$stub:
	.indirect_symbol _strlen
	mflr r0
	bcl 20,31,L0$_strlen
L0$_strlen:
	mflr r11
	addis r11,r11,ha16(L_strlen$lazy_ptr-L0$_strlen)
	mtlr r0
	lwzu r12,lo16(L_strlen$lazy_ptr-L0$_strlen)(r11)
	mtctr r12
	bctr
.data
.lazy_symbol_pointer
L_strlen$lazy_ptr:
	.indirect_symbol _strlen
	.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
	.align 2
L_abort$stub:
	.indirect_symbol _abort
	mflr r0
	bcl 20,31,L0$_abort
L0$_abort:
	mflr r11
	addis r11,r11,ha16(L_abort$lazy_ptr-L0$_abort)
	mtlr r0
	lwzu r12,lo16(L_abort$lazy_ptr-L0$_abort)(r11)
	mtctr r12
	bctr
.data
.lazy_symbol_pointer
L_abort$lazy_ptr:
	.indirect_symbol _abort
	.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
	.align 2
L_bcopy$stub:
	.indirect_symbol _bcopy
	mflr r0
	bcl 20,31,L0$_bcopy
L0$_bcopy:
	mflr r11
	addis r11,r11,ha16(L_bcopy$lazy_ptr-L0$_bcopy)
	mtlr r0
	lwzu r12,lo16(L_bcopy$lazy_ptr-L0$_bcopy)(r11)
	mtctr r12
	bctr
.data
.lazy_symbol_pointer
L_bcopy$lazy_ptr:
	.indirect_symbol _bcopy
	.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
	.align 2
L_memset$stub:
	.indirect_symbol _memset
	mflr r0
	bcl 20,31,L0$_memset
L0$_memset:
	mflr r11
	addis r11,r11,ha16(L_memset$lazy_ptr-L0$_memset)
	mtlr r0
	lwzu r12,lo16(L_memset$lazy_ptr-L0$_memset)(r11)
	mtctr r12
	bctr
.data
.lazy_symbol_pointer
L_memset$lazy_ptr:
	.indirect_symbol _memset
	.long dyld_stub_binding_helper
.data
.non_lazy_symbol_pointer
L__DefaultRuneLocale$non_lazy_ptr:
	.indirect_symbol __DefaultRuneLocale
	.long	0
L__CurrentRuneLocale$non_lazy_ptr:
	.indirect_symbol __CurrentRuneLocale
	.long	0
L_xre_syntax_options$non_lazy_ptr:
	.indirect_symbol _xre_syntax_options
	.long	0

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Another reload problem/bug on powerpc-apple-darwin6.6
  2003-09-08  1:07 Another reload problem/bug on powerpc-apple-darwin6.6 Andrew Pinski
@ 2003-09-09  1:16 ` Jim Wilson
  0 siblings, 0 replies; 2+ messages in thread
From: Jim Wilson @ 2003-09-09  1:16 UTC (permalink / raw)
  To: Andrew Pinski; +Cc: apinski, Geoff Keating, gcc

Andrew Pinski wrote:
> The problem is reload wants to put the external symbol _CurrentRuneLocale
> in a constant label, LC29, but on Darwin this not allowed with shared 
> libraries.

Sounds like you need LEGITIMATE_PIC_OPERAND_P defined.  Even if code is 
always pic, flag_pic should be true if and only if you are building a 
shared library, so you can still use it to handle cases like this.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-09-09  0:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-08  1:07 Another reload problem/bug on powerpc-apple-darwin6.6 Andrew Pinski
2003-09-09  1:16 ` Jim Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).