This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


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

Re: MEM tracking, round 3


	gcc 3.1 i686-pc-linux-gnu no longer bootstraps.  The problem
occurs on line 175 of explow.c which your patch changed.  Below are
the commands that show the problem.  Attached is the offending
preprocessed file.

	Will you please back out your patch until i686-pc-linux-gnu
bootstraps using your patch?

Thanks,
Jeffrey D. Oldham
oldham@codesourcery.com

./xgcc -v -save-temps  -B./ -B/nfs/oz/home/oldham/gcc-install/gcc5/i686-pc-linux-gnu/bin/ -isystem /nfs/oz/home/oldham/gcc-install/gcc5/i686-pc-linux-gnu/include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I/nfs/oz/home/oldham/gcc/gcc5/gcc -I/nfs/oz/home/oldham/gcc/gcc5/gcc/. -I/nfs/oz/home/oldham/gcc/gcc5/gcc/config -I/nfs/oz/home/oldham/gcc/gcc5/gcc/../include -fexceptions -c /nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c -o libgcc/./unwind-dw2.o
Reading specs from ./specs
Configured with: /nfs/oz/home/oldham/gcc/gcc5/configure --prefix=/nfs/oz/home/oldham/gcc-install/gcc5
Thread model: single
gcc version 3.1 20010703 (experimental)
 ./cpp0 -lang-c -v -I. -I. -I/nfs/oz/home/oldham/gcc/gcc5/gcc -I/nfs/oz/home/oldham/gcc/gcc5/gcc/. -I/nfs/oz/home/oldham/gcc/gcc5/gcc/config -I/nfs/oz/home/oldham/gcc/gcc5/gcc/../include -iprefix ./../lib/gcc-lib/i686-pc-linux-gnu/3.1/ -isystem ./include -isystem /nfs/oz/home/oldham/gcc-install/gcc5/i686-pc-linux-gnu/bin/include -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ -D__PIC__ -D__pic__ -DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -isystem /nfs/oz/home/oldham/gcc-install/gcc5/i686-pc-linux-gnu/include -isystem ./include /nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c unwind-dw2.i
ignoring nonexistent directory "/nfs/oz/home/oldham/gcc-install/gcc5/i686-pc-linux-gnu/bin/include"
GNU CPP version 3.1 20010703 (experimental) (cpplib) (i386 Linux/ELF)
ignoring nonexistent directory "../lib/gcc-lib/i686-pc-linux-gnu/3.1/include"
ignoring nonexistent directory "../lib/gcc-lib/i686-pc-linux-gnu/3.1/../../../../i686-pc-linux-gnu/include"
ignoring nonexistent directory "/usr/local/include"
ignoring duplicate directory "."
ignoring duplicate directory "/nfs/oz/home/oldham/gcc/gcc5/gcc"
ignoring duplicate directory "include"
ignoring duplicate directory "/nfs/oz/home/oldham/gcc-install/gcc5/i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 .
 /nfs/oz/home/oldham/gcc/gcc5/gcc
 /nfs/oz/home/oldham/gcc/gcc5/gcc/config
 /nfs/oz/home/oldham/gcc/gcc5/include
 include
 /nfs/oz/home/oldham/gcc-install/gcc5/i686-pc-linux-gnu/include
 /nfs/oz/home/oldham/gcc-install/gcc5/lib/gcc-lib/i686-pc-linux-gnu/3.1/include
 /usr/include
End of search list.
 ./cc1 -fpreprocessed unwind-dw2.i -quiet -dumpbase unwind-dw2.c -g1 -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -version -fPIC -fexceptions -o unwind-dw2.s
GNU CPP version 3.1 20010703 (experimental) (cpplib) (i386 Linux/ELF)
GNU C version 3.1 20010703 (experimental) (i686-pc-linux-gnu)
	compiled by GNU C version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release).
/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c: In function `execute_stack_op':
/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c:300: warning: `result' might be used uninitialized in this function
/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c:678: Internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
# 21 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c"
# 1 "tconfig.h" 1

# 1 "/nfs/oz/home/oldham/gcc/gcc5/include/ansidecl.h" 1
# 3 "tconfig.h" 2
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/i386.h" 1
# 53 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/i386.h"
struct processor_costs {
  int add;
  int lea;
  int shift_var;
  int shift_const;
  int mult_init;
  int mult_bit;
  int divide;
  int large_insn;
  int move_ratio;

  int movzbl_load;
  int int_load[3];


  int int_store[3];

  int fp_move;
  int fp_load[3];

  int fp_store[3];

  int mmx_move;
  int mmx_load[2];

  int mmx_store[2];

  int sse_move;
  int sse_load[3];

  int sse_store[3];

  int mmxsse_to_integer;

};

extern struct processor_costs *ix86_cost;



extern int target_flags;
# 204 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/i386.h"
extern const int x86_use_leave, x86_push_memory, x86_zero_extend_with_and;
extern const int x86_use_bit_test, x86_cmove, x86_deep_branch;
extern const int x86_branch_hints, x86_unroll_strlen;
extern const int x86_double_with_add, x86_partial_reg_stall, x86_movx;
extern const int x86_use_loop, x86_use_fiop, x86_use_mov0;
extern const int x86_use_cltd, x86_read_modify_write;
extern const int x86_read_modify, x86_split_long_moves;
extern const int x86_promote_QImode, x86_single_stringop;
extern const int x86_himode_math, x86_qimode_math, x86_promote_qi_regs;
extern const int x86_promote_hi_regs, x86_integer_DFmode_moves;
extern const int x86_add_esp_4, x86_add_esp_8, x86_sub_esp_4, x86_sub_esp_8;
extern const int x86_partial_reg_dependency, x86_memory_mismatch_stall;
extern const int x86_accumulate_outgoing_args, x86_prologue_using_move;
extern const int x86_epilogue_using_move;
# 374 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/i386.h"
enum processor_type
{
  PROCESSOR_I386,
  PROCESSOR_I486,
  PROCESSOR_PENTIUM,
  PROCESSOR_PENTIUMPRO,
  PROCESSOR_K6,
  PROCESSOR_ATHLON,
  PROCESSOR_PENTIUM4,
  PROCESSOR_max
};

extern enum processor_type ix86_cpu;

extern int ix86_arch;
# 1090 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/i386.h"
enum reg_class
{
  NO_REGS,
  AREG, DREG, CREG, BREG, SIREG, DIREG,
  AD_REGS,
  Q_REGS,
  NON_Q_REGS,
  INDEX_REGS,
  LEGACY_REGS,
  GENERAL_REGS,
  FP_TOP_REG, FP_SECOND_REG,
  FLOAT_REGS,
  SSE_REGS,
  MMX_REGS,
  FP_TOP_SSE_REGS,
  FP_SECOND_SSE_REGS,
  FLOAT_SSE_REGS,
  FLOAT_INT_REGS,
  INT_SSE_REGS,
  FLOAT_INT_SSE_REGS,
  ALL_REGS, LIM_REG_CLASSES
};
# 1537 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/i386.h"
typedef struct ix86_args {
  int words;
  int nregs;
  int regno;
  int sse_words;
  int sse_nregs;
  int sse_regno;
} CUMULATIVE_ARGS;
# 1980 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/i386.h"
enum ix86_builtins
{
  IX86_BUILTIN_ADDPS,
  IX86_BUILTIN_ADDSS,
  IX86_BUILTIN_DIVPS,
  IX86_BUILTIN_DIVSS,
  IX86_BUILTIN_MULPS,
  IX86_BUILTIN_MULSS,
  IX86_BUILTIN_SUBPS,
  IX86_BUILTIN_SUBSS,

  IX86_BUILTIN_CMPEQPS,
  IX86_BUILTIN_CMPLTPS,
  IX86_BUILTIN_CMPLEPS,
  IX86_BUILTIN_CMPGTPS,
  IX86_BUILTIN_CMPGEPS,
  IX86_BUILTIN_CMPNEQPS,
  IX86_BUILTIN_CMPNLTPS,
  IX86_BUILTIN_CMPNLEPS,
  IX86_BUILTIN_CMPNGTPS,
  IX86_BUILTIN_CMPNGEPS,
  IX86_BUILTIN_CMPORDPS,
  IX86_BUILTIN_CMPUNORDPS,
  IX86_BUILTIN_CMPNEPS,
  IX86_BUILTIN_CMPEQSS,
  IX86_BUILTIN_CMPLTSS,
  IX86_BUILTIN_CMPLESS,
  IX86_BUILTIN_CMPGTSS,
  IX86_BUILTIN_CMPGESS,
  IX86_BUILTIN_CMPNEQSS,
  IX86_BUILTIN_CMPNLTSS,
  IX86_BUILTIN_CMPNLESS,
  IX86_BUILTIN_CMPNGTSS,
  IX86_BUILTIN_CMPNGESS,
  IX86_BUILTIN_CMPORDSS,
  IX86_BUILTIN_CMPUNORDSS,
  IX86_BUILTIN_CMPNESS,

  IX86_BUILTIN_COMIEQSS,
  IX86_BUILTIN_COMILTSS,
  IX86_BUILTIN_COMILESS,
  IX86_BUILTIN_COMIGTSS,
  IX86_BUILTIN_COMIGESS,
  IX86_BUILTIN_COMINEQSS,
  IX86_BUILTIN_UCOMIEQSS,
  IX86_BUILTIN_UCOMILTSS,
  IX86_BUILTIN_UCOMILESS,
  IX86_BUILTIN_UCOMIGTSS,
  IX86_BUILTIN_UCOMIGESS,
  IX86_BUILTIN_UCOMINEQSS,

  IX86_BUILTIN_CVTPI2PS,
  IX86_BUILTIN_CVTPS2PI,
  IX86_BUILTIN_CVTSI2SS,
  IX86_BUILTIN_CVTSS2SI,
  IX86_BUILTIN_CVTTPS2PI,
  IX86_BUILTIN_CVTTSS2SI,
  IX86_BUILTIN_M_FROM_INT,
  IX86_BUILTIN_M_TO_INT,

  IX86_BUILTIN_MAXPS,
  IX86_BUILTIN_MAXSS,
  IX86_BUILTIN_MINPS,
  IX86_BUILTIN_MINSS,

  IX86_BUILTIN_LOADAPS,
  IX86_BUILTIN_LOADUPS,
  IX86_BUILTIN_STOREAPS,
  IX86_BUILTIN_STOREUPS,
  IX86_BUILTIN_LOADSS,
  IX86_BUILTIN_STORESS,
  IX86_BUILTIN_MOVSS,

  IX86_BUILTIN_MOVHLPS,
  IX86_BUILTIN_MOVLHPS,
  IX86_BUILTIN_LOADHPS,
  IX86_BUILTIN_LOADLPS,
  IX86_BUILTIN_STOREHPS,
  IX86_BUILTIN_STORELPS,

  IX86_BUILTIN_MASKMOVQ,
  IX86_BUILTIN_MOVMSKPS,
  IX86_BUILTIN_PMOVMSKB,

  IX86_BUILTIN_MOVNTPS,
  IX86_BUILTIN_MOVNTQ,

  IX86_BUILTIN_PACKSSWB,
  IX86_BUILTIN_PACKSSDW,
  IX86_BUILTIN_PACKUSWB,

  IX86_BUILTIN_PADDB,
  IX86_BUILTIN_PADDW,
  IX86_BUILTIN_PADDD,
  IX86_BUILTIN_PADDSB,
  IX86_BUILTIN_PADDSW,
  IX86_BUILTIN_PADDUSB,
  IX86_BUILTIN_PADDUSW,
  IX86_BUILTIN_PSUBB,
  IX86_BUILTIN_PSUBW,
  IX86_BUILTIN_PSUBD,
  IX86_BUILTIN_PSUBSB,
  IX86_BUILTIN_PSUBSW,
  IX86_BUILTIN_PSUBUSB,
  IX86_BUILTIN_PSUBUSW,

  IX86_BUILTIN_PAND,
  IX86_BUILTIN_PANDN,
  IX86_BUILTIN_POR,
  IX86_BUILTIN_PXOR,

  IX86_BUILTIN_PAVGB,
  IX86_BUILTIN_PAVGW,

  IX86_BUILTIN_PCMPEQB,
  IX86_BUILTIN_PCMPEQW,
  IX86_BUILTIN_PCMPEQD,
  IX86_BUILTIN_PCMPGTB,
  IX86_BUILTIN_PCMPGTW,
  IX86_BUILTIN_PCMPGTD,

  IX86_BUILTIN_PEXTRW,
  IX86_BUILTIN_PINSRW,

  IX86_BUILTIN_PMADDWD,

  IX86_BUILTIN_PMAXSW,
  IX86_BUILTIN_PMAXUB,
  IX86_BUILTIN_PMINSW,
  IX86_BUILTIN_PMINUB,

  IX86_BUILTIN_PMULHUW,
  IX86_BUILTIN_PMULHW,
  IX86_BUILTIN_PMULLW,

  IX86_BUILTIN_PSADBW,
  IX86_BUILTIN_PSHUFW,

  IX86_BUILTIN_PSLLW,
  IX86_BUILTIN_PSLLD,
  IX86_BUILTIN_PSLLQ,
  IX86_BUILTIN_PSRAW,
  IX86_BUILTIN_PSRAD,
  IX86_BUILTIN_PSRLW,
  IX86_BUILTIN_PSRLD,
  IX86_BUILTIN_PSRLQ,
  IX86_BUILTIN_PSLLWI,
  IX86_BUILTIN_PSLLDI,
  IX86_BUILTIN_PSLLQI,
  IX86_BUILTIN_PSRAWI,
  IX86_BUILTIN_PSRADI,
  IX86_BUILTIN_PSRLWI,
  IX86_BUILTIN_PSRLDI,
  IX86_BUILTIN_PSRLQI,

  IX86_BUILTIN_PUNPCKHBW,
  IX86_BUILTIN_PUNPCKHWD,
  IX86_BUILTIN_PUNPCKHDQ,
  IX86_BUILTIN_PUNPCKLBW,
  IX86_BUILTIN_PUNPCKLWD,
  IX86_BUILTIN_PUNPCKLDQ,

  IX86_BUILTIN_SHUFPS,

  IX86_BUILTIN_RCPPS,
  IX86_BUILTIN_RCPSS,
  IX86_BUILTIN_RSQRTPS,
  IX86_BUILTIN_RSQRTSS,
  IX86_BUILTIN_SQRTPS,
  IX86_BUILTIN_SQRTSS,

  IX86_BUILTIN_UNPCKHPS,
  IX86_BUILTIN_UNPCKLPS,

  IX86_BUILTIN_ANDPS,
  IX86_BUILTIN_ANDNPS,
  IX86_BUILTIN_ORPS,
  IX86_BUILTIN_XORPS,

  IX86_BUILTIN_EMMS,
  IX86_BUILTIN_LDMXCSR,
  IX86_BUILTIN_STMXCSR,
  IX86_BUILTIN_SFENCE,
  IX86_BUILTIN_PREFETCH,


  IX86_BUILTIN_SETPS1,
  IX86_BUILTIN_SETPS,
  IX86_BUILTIN_CLRPS,
  IX86_BUILTIN_SETRPS,
  IX86_BUILTIN_LOADPS1,
  IX86_BUILTIN_LOADRPS,
  IX86_BUILTIN_STOREPS1,
  IX86_BUILTIN_STORERPS,

  IX86_BUILTIN_MMX_ZERO,

  IX86_BUILTIN_MAX
};
# 2779 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/i386.h"
extern int const dbx_register_map[53];
extern int const dbx64_register_map[53];
extern int const svr4_dbx_register_map[53];
# 3106 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/i386.h"
enum cmodel {
  CM_32,
  CM_SMALL,
  CM_KERNEL,
  CM_MEDIUM,
  CM_LARGE,
  CM_SMALL_PIC
};






extern const char *ix86_cmodel_string;
extern enum cmodel ix86_cmodel;


extern const char *ix86_cpu_string;
extern const char *ix86_arch_string;
extern const char *ix86_regparm_string;
extern const char *ix86_align_loops_string;
extern const char *ix86_align_jumps_string;
extern const char *ix86_align_funcs_string;
extern const char *ix86_preferred_stack_boundary_string;
extern const char *ix86_branch_cost_string;
extern int ix86_regparm;
extern int ix86_preferred_stack_boundary;
extern int ix86_branch_cost;
extern const char * const hi_reg_name[];
extern const char * const qi_reg_name[];
extern const char * const qi_high_reg_name[];
extern enum reg_class const regclass_map[];
extern struct rtx_def *ix86_compare_op0;
extern struct rtx_def *ix86_compare_op1;
# 4 "tconfig.h" 2
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/att.h" 1
# 22 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/att.h"
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/unix.h" 1
# 23 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/att.h" 2
# 5 "tconfig.h" 2
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/linux.h" 1
# 45 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/linux.h"
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/svr4.h" 1
# 46 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/svr4.h"
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/elfos.h" 1
# 84 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/elfos.h"
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/dbxelf.h" 1
# 85 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/elfos.h" 2
# 47 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/svr4.h" 2
# 46 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/linux.h" 2
# 6 "tconfig.h" 2
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/linux.h" 1
# 234 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/linux.h"
# 1 "/usr/include/signal.h" 1 3
# 29 "/usr/include/signal.h" 3
# 1 "/usr/include/features.h" 1 3
# 250 "/usr/include/features.h" 3
# 1 "/usr/include/sys/cdefs.h" 1 3
# 251 "/usr/include/features.h" 2 3
# 278 "/usr/include/features.h" 3
# 1 "/usr/include/gnu/stubs.h" 1 3
# 279 "/usr/include/features.h" 2 3
# 30 "/usr/include/signal.h" 2 3



# 1 "/usr/include/bits/sigset.h" 1 3
# 23 "/usr/include/bits/sigset.h" 3
typedef int __sig_atomic_t;




typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
# 103 "/usr/include/bits/sigset.h" 3
extern int __sigismember (__const __sigset_t *, int);
extern int __sigaddset (__sigset_t *, int);
extern int __sigdelset (__sigset_t *, int);
# 117 "/usr/include/bits/sigset.h" 3
extern __inline int __sigismember (__const __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return (__set->__val[__word] & __mask) ? 1 : 0; }
extern __inline int __sigaddset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] |= __mask), 0); }
extern __inline int __sigdelset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] &= ~__mask), 0); }
# 34 "/usr/include/signal.h" 2 3







typedef __sig_atomic_t sig_atomic_t;







typedef __sigset_t sigset_t;





# 1 "/usr/include/bits/types.h" 1 3
# 26 "/usr/include/bits/types.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/bits/types.h" 2 3


# 1 "include/stddef.h" 1 3
# 199 "include/stddef.h" 3
typedef unsigned int size_t;
# 30 "/usr/include/bits/types.h" 2 3


typedef unsigned char __u_char;
typedef unsigned short __u_short;
typedef unsigned int __u_int;
typedef unsigned long __u_long;

__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef long long int __quad_t;
# 49 "/usr/include/bits/types.h" 3
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;

__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;

typedef __quad_t *__qaddr_t;

typedef __u_quad_t __dev_t;
typedef __u_int __uid_t;
typedef __u_int __gid_t;
typedef __u_long __ino_t;
typedef __u_int __mode_t;
typedef __u_int __nlink_t;
typedef long int __off_t;
typedef __quad_t __loff_t;
typedef int __pid_t;
typedef int __ssize_t;
typedef long int __rlim_t;
typedef __quad_t __rlim64_t;
typedef __u_int __id_t;

typedef struct
  {
    int __val[2];
  } __fsid_t;


typedef int __daddr_t;
typedef char *__caddr_t;
typedef long int __time_t;
typedef long int __swblk_t;

typedef long int __clock_t;


typedef unsigned long int __fd_mask;
# 100 "/usr/include/bits/types.h" 3
typedef struct
  {






    __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))];


  } __fd_set;


typedef int __key_t;


typedef unsigned short int __ipc_pid_t;





typedef long int __blkcnt_t;
typedef __quad_t __blkcnt64_t;


typedef __u_long __fsblkcnt_t;
typedef __u_quad_t __fsblkcnt64_t;


typedef __u_long __fsfilcnt_t;
typedef __u_quad_t __fsfilcnt64_t;


typedef __u_long __ino64_t;


typedef __loff_t __off64_t;


typedef long int __t_scalar_t;
typedef unsigned long int __t_uscalar_t;


typedef int __intptr_t;
# 56 "/usr/include/signal.h" 2 3
# 1 "/usr/include/bits/signum.h" 1 3
# 57 "/usr/include/signal.h" 2 3
# 71 "/usr/include/signal.h" 3
typedef void (*__sighandler_t) (int);




extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) ;
# 86 "/usr/include/signal.h" 3
extern __sighandler_t signal (int __sig, __sighandler_t __handler) ;
# 108 "/usr/include/signal.h" 3
extern int kill (__pid_t __pid, int __sig) ;






extern int killpg (__pid_t __pgrp, int __sig) ;



extern int raise (int __sig) ;



extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) ;
extern int gsignal (int __sig) ;




extern void psignal (int __sig, __const char *__s) ;
# 138 "/usr/include/signal.h" 3
extern int __sigpause (int __sig_or_mask, int __is_sig) ;




extern int sigpause (int __mask) ;
# 163 "/usr/include/signal.h" 3
extern int sigblock (int __mask) ;


extern int sigsetmask (int __mask) ;


extern int siggetmask (void) ;
# 183 "/usr/include/signal.h" 3
typedef __sighandler_t sig_t;







# 1 "/usr/include/time.h" 1 3
# 83 "/usr/include/time.h" 3
struct timespec
  {
    long int tv_sec;
    long int tv_nsec;
  };
# 192 "/usr/include/signal.h" 2 3


# 1 "/usr/include/bits/siginfo.h" 1 3
# 29 "/usr/include/bits/siginfo.h" 3
typedef union sigval
  {
    int sival_int;
    void *sival_ptr;
  } sigval_t;




typedef struct siginfo
  {
    int si_signo;
    int si_errno;

    int si_code;

    union
      {
        int _pad[((128 / sizeof (int)) - 3)];


        struct
          {
            __pid_t si_pid;
            __uid_t si_uid;
          } _kill;


        struct
          {
            unsigned int _timer1;
            unsigned int _timer2;
          } _timer;


        struct
          {
            __pid_t si_pid;
            __uid_t si_uid;
            sigval_t si_sigval;
          } _rt;


        struct
          {
            __pid_t si_pid;
            __uid_t si_uid;
            int si_status;
            __clock_t si_utime;
            __clock_t si_stime;
          } _sigchld;


        struct
          {
            void *si_addr;
          } _sigfault;


        struct
          {
            int si_band;
            int si_fd;
          } _sigpoll;
      } _sifields;
  } siginfo_t;
# 113 "/usr/include/bits/siginfo.h" 3
enum
{
  SI_SIGIO = -5,

  SI_ASYNCIO,

  SI_MESGQ,

  SI_TIMER,

  SI_QUEUE,

  SI_USER

};



enum
{
  ILL_ILLOPC = 1,

  ILL_ILLOPN,

  ILL_ILLADR,

  ILL_ILLTRP,

  ILL_PRVOPC,

  ILL_PRVREG,

  ILL_COPROC,

  ILL_BADSTK

};


enum
{
  FPE_INTDIV = 1,

  FPE_INTOVF,

  FPE_FLTDIV,

  FPE_FLTOVF,

  FPE_FLTUND,

  FPE_FLTRES,

  FPE_FLTINV,

  FPE_FLTSUB

};


enum
{
  SEGV_MAPERR = 1,

  SEGV_ACCERR

};


enum
{
  BUS_ADRALN = 1,

  BUS_ADRERR,

  BUS_OBJERR

};


enum
{
  TRAP_BRKPT = 1,

  TRAP_TRACE

};


enum
{
  CLD_EXITED = 1,

  CLD_KILLED,

  CLD_DUMPED,

  CLD_TRAPPED,

  CLD_STOPPED,

  CLD_CONTINUED

};


enum
{
  POLL_IN = 1,

  POLL_OUT,

  POLL_MSG,

  POLL_ERR,

  POLL_PRI,

  POLL_HUP

};
# 246 "/usr/include/bits/siginfo.h" 3
typedef struct sigevent
  {
    sigval_t sigev_value;
    int sigev_signo;
    int sigev_notify;

    union
      {
        int _pad[((64 / sizeof (int)) - 3)];

        struct
          {
            void (*_function) (sigval_t);
            void *_attribute;
          } _sigev_thread;
      } _sigev_un;
  } sigevent_t;






enum
{
  SIGEV_SIGNAL = 0,

  SIGEV_NONE,

  SIGEV_THREAD

};
# 195 "/usr/include/signal.h" 2 3



extern int sigemptyset (sigset_t *__set) ;


extern int sigfillset (sigset_t *__set) ;


extern int sigaddset (sigset_t *__set, int __signo) ;


extern int sigdelset (sigset_t *__set, int __signo) ;


extern int sigismember (__const sigset_t *__set, int __signo) ;
# 227 "/usr/include/signal.h" 3
# 1 "/usr/include/bits/sigaction.h" 1 3
# 25 "/usr/include/bits/sigaction.h" 3
struct sigaction
  {


    union
      {

        __sighandler_t sa_handler;

        void (*sa_sigaction) (int, siginfo_t *, void *);
      }
    __sigaction_handler;







    __sigset_t sa_mask;


    int sa_flags;


    void (*sa_restorer) (void);
  };
# 228 "/usr/include/signal.h" 2 3


extern int sigprocmask (int __how, __const sigset_t *__set, sigset_t *__oset) ;




extern int sigsuspend (__const sigset_t *__set) ;


extern int __sigaction (int __sig, __const struct sigaction *__act, struct sigaction *__oact) ;

extern int sigaction (int __sig, __const struct sigaction *__act, struct sigaction *__oact) ;



extern int sigpending (sigset_t *__set) ;



extern int sigwait (__const sigset_t *__set, int *__sig) ;



extern int sigwaitinfo (__const sigset_t *__set, siginfo_t *__info) ;



extern int sigtimedwait (__const sigset_t *__set, siginfo_t *__info, __const struct timespec *__timeout) ;




extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val) ;
# 271 "/usr/include/signal.h" 3
extern __const char *__const _sys_siglist[64];
extern __const char *__const sys_siglist[64];


struct sigvec
  {
    __sighandler_t sv_handler;
    int sv_mask;

    int sv_flags;

  };
# 295 "/usr/include/signal.h" 3
extern int sigvec (int __sig, __const struct sigvec *__vec, struct sigvec *__ovec) ;




# 1 "/usr/include/bits/sigcontext.h" 1 3
# 28 "/usr/include/bits/sigcontext.h" 3
# 1 "/usr/include/asm/sigcontext.h" 1 3
# 12 "/usr/include/asm/sigcontext.h" 3
struct _fpreg {
        unsigned short significand[4];
        unsigned short exponent;
};

struct _fpstate {
        unsigned long cw,
                        sw,
                        tag,
                        ipoff,
                        cssel,
                        dataoff,
                        datasel;
        struct _fpreg _st[8];
        unsigned long status;
};

struct sigcontext {
        unsigned short gs, __gsh;
        unsigned short fs, __fsh;
        unsigned short es, __esh;
        unsigned short ds, __dsh;
        unsigned long edi;
        unsigned long esi;
        unsigned long ebp;
        unsigned long esp;
        unsigned long ebx;
        unsigned long edx;
        unsigned long ecx;
        unsigned long eax;
        unsigned long trapno;
        unsigned long err;
        unsigned long eip;
        unsigned short cs, __csh;
        unsigned long eflags;
        unsigned long esp_at_signal;
        unsigned short ss, __ssh;
        struct _fpstate * fpstate;
        unsigned long oldmask;
        unsigned long cr2;
};
# 29 "/usr/include/bits/sigcontext.h" 2 3
# 301 "/usr/include/signal.h" 2 3


extern int sigreturn (struct sigcontext *__scp) ;
# 313 "/usr/include/signal.h" 3
extern int siginterrupt (int __sig, int __interrupt) ;

# 1 "/usr/include/bits/sigstack.h" 1 3
# 26 "/usr/include/bits/sigstack.h" 3
struct sigstack
  {
    void * ss_sp;
    int ss_onstack;
  };



enum
{
  SS_ONSTACK = 1,

  SS_DISABLE

};
# 50 "/usr/include/bits/sigstack.h" 3
typedef struct sigaltstack
  {
    void * ss_sp;
    int ss_flags;
    size_t ss_size;
  } stack_t;
# 316 "/usr/include/signal.h" 2 3







extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) ;



extern int sigaltstack (__const struct sigaltstack *__ss, struct sigaltstack *__oss) ;
# 356 "/usr/include/signal.h" 3
extern int __libc_current_sigrtmin (void) ;

extern int __libc_current_sigrtmax (void) ;
# 235 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/linux.h" 2
# 1 "/usr/include/sys/ucontext.h" 1 3
# 22 "/usr/include/sys/ucontext.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/sys/ucontext.h" 2 3
# 1 "/usr/include/signal.h" 1 3
# 24 "/usr/include/sys/ucontext.h" 2 3



# 1 "/usr/include/bits/sigcontext.h" 1 3
# 28 "/usr/include/sys/ucontext.h" 2 3



# 1 "/usr/include/sys/user.h" 1 3
# 26 "/usr/include/sys/user.h" 3
struct user_fpregs_struct
{
  long cwd;
  long swd;
  long twd;
  long fip;
  long fcs;
  long foo;
  long fos;
  long st_space [20];
};

struct user_regs_struct
{
  long ebx;
  long ecx;
  long edx;
  long esi;
  long edi;
  long ebp;
  long eax;
  long xds;
  long xes;
  long xfs;
  long xgs;
  long orig_eax;
  long eip;
  long xcs;
  long eflags;
  long esp;
  long xss;
};

struct user
{
  struct user_regs_struct regs;
  int u_fpvalid;
  struct user_fpregs_struct i387;
  unsigned long int u_tsize;
  unsigned long int u_dsize;
  unsigned long int u_ssize;
  unsigned long start_code;
  unsigned long start_stack;
  long int signal;
  int reserved;
  struct user_regs_struct* u_ar0;
  struct user_fpregs_struct* u_fpstate;
  unsigned long magic;
  char u_comm [32];
  int u_debugreg [8];
};
# 32 "/usr/include/sys/ucontext.h" 2 3



typedef int greg_t;





typedef greg_t gregset_t[19];
# 89 "/usr/include/sys/ucontext.h" 3
struct _libc_fpreg
{
  unsigned short int significand[4];
  unsigned short int exponent;
};

struct _libc_fpstate
{
  unsigned long int cw;
  unsigned long int sw;
  unsigned long int tag;
  unsigned long int ipoff;
  unsigned long int cssel;
  unsigned long int dataoff;
  unsigned long int datasel;
  struct _libc_fpreg _st[8];
  unsigned long int status;
};


typedef struct _libc_fpstate *fpregset_t;


typedef struct
  {
    gregset_t gregs;


    fpregset_t fpregs;
    unsigned long int oldmask;
    unsigned long int cr2;
  } mcontext_t;


typedef struct ucontext
  {
    unsigned long int uc_flags;
    struct ucontext *uc_link;
    stack_t uc_stack;
    mcontext_t uc_mcontext;
    __sigset_t uc_sigmask;
    struct _libc_fpstate __fpregs_mem;
  } ucontext_t;
# 236 "/nfs/oz/home/oldham/gcc/gcc5/gcc/config/i386/linux.h" 2
# 7 "tconfig.h" 2
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/defaults.h" 1
# 8 "tconfig.h" 2





# 1 "insn-codes.h" 1






enum insn_code {
  CODE_FOR_cmpdi_ccno_1_rex64 = 0,
  CODE_FOR_cmpdi_1_insn_rex64 = 2,
  CODE_FOR_cmpqi_ext_3_insn = 15,
  CODE_FOR_cmpqi_ext_3_insn_rex64 = 16,
  CODE_FOR_x86_fnstsw_1 = 30,
  CODE_FOR_x86_sahf_1 = 31,
  CODE_FOR_popsi1 = 42,
  CODE_FOR_movsi_insv_1 = 73,
  CODE_FOR_pushdi2_rex64 = 77,
  CODE_FOR_popdi1 = 80,
  CODE_FOR_swapxf = 105,
  CODE_FOR_swaptf = 106,
  CODE_FOR_zero_extendhisi2_and = 107,
  CODE_FOR_zero_extendsidi2_32 = 115,
  CODE_FOR_zero_extendsidi2_rex64 = 116,
  CODE_FOR_zero_extendhidi2 = 117,
  CODE_FOR_zero_extendqidi2 = 118,
  CODE_FOR_extendsidi2_rex64 = 120,
  CODE_FOR_extendhidi2 = 121,
  CODE_FOR_extendqidi2 = 122,
  CODE_FOR_extendhisi2 = 123,
  CODE_FOR_extendqihi2 = 125,
  CODE_FOR_extendqisi2 = 126,
  CODE_FOR_truncdfsf2_3 = 142,
  CODE_FOR_truncdfsf2_sse_only = 143,
  CODE_FOR_fix_truncsfdi_sse = 153,
  CODE_FOR_fix_truncdfdi_sse = 154,
  CODE_FOR_fix_truncsfsi_sse = 156,
  CODE_FOR_fix_truncdfsi_sse = 157,
  CODE_FOR_x86_fnstcw_1 = 159,
  CODE_FOR_x86_fldcw_1 = 160,
  CODE_FOR_floathisf2 = 161,
  CODE_FOR_floathidf2 = 167,
  CODE_FOR_floathixf2 = 173,
  CODE_FOR_floathitf2 = 174,
  CODE_FOR_floatsixf2 = 175,
  CODE_FOR_floatsitf2 = 176,
  CODE_FOR_floatdixf2 = 177,
  CODE_FOR_floatditf2 = 178,
  CODE_FOR_addqi3_cc = 185,
  CODE_FOR_addsi_1_zext = 202,
  CODE_FOR_addqi_ext_1 = 221,
  CODE_FOR_subdi3_carry_rex64 = 225,
  CODE_FOR_subsi3_carry = 229,
  CODE_FOR_subsi3_carry_zext = 230,
  CODE_FOR_mulqi3 = 247,
  CODE_FOR_umulqihi3 = 248,
  CODE_FOR_mulqihi3 = 249,
  CODE_FOR_umulditi3 = 250,
  CODE_FOR_umulsidi3 = 251,
  CODE_FOR_mulditi3 = 252,
  CODE_FOR_mulsidi3 = 253,
  CODE_FOR_umulsi3_highpart = 255,
  CODE_FOR_smulsi3_highpart = 258,
  CODE_FOR_divqi3 = 260,
  CODE_FOR_udivqi3 = 261,
  CODE_FOR_divmodhi4 = 268,
  CODE_FOR_udivmoddi4 = 269,
  CODE_FOR_udivmodsi4 = 271,
  CODE_FOR_testsi_1 = 275,
  CODE_FOR_andqi_ext_0 = 296,
  CODE_FOR_negsf2_memory = 349,
  CODE_FOR_negsf2_ifs = 350,
  CODE_FOR_negdf2_memory = 352,
  CODE_FOR_negdf2_ifs = 353,
  CODE_FOR_abssf2_memory = 368,
  CODE_FOR_abssf2_ifs = 369,
  CODE_FOR_absdf2_memory = 371,
  CODE_FOR_absdf2_ifs = 372,
  CODE_FOR_ashldi3_1 = 399,
  CODE_FOR_x86_shld_1 = 401,
  CODE_FOR_ashrdi3_63_rex64 = 412,
  CODE_FOR_ashrdi3_1 = 417,
  CODE_FOR_x86_shrd_1 = 419,
  CODE_FOR_ashrsi3_31 = 420,
  CODE_FOR_lshrdi3_1 = 442,
  CODE_FOR_setcc_2 = 481,
  CODE_FOR_jump = 496,
  CODE_FOR_indirect_jump = 497,
  CODE_FOR_tablejump = 498,
  CODE_FOR_doloop_end_internal = 500,
  CODE_FOR_blockage = 506,
  CODE_FOR_return_internal = 507,
  CODE_FOR_return_pop_internal = 508,
  CODE_FOR_return_indirect_internal = 509,
  CODE_FOR_nop = 510,
  CODE_FOR_prologue_set_got = 511,
  CODE_FOR_prologue_get_pc = 512,
  CODE_FOR_eh_return_1 = 513,
  CODE_FOR_leave = 514,
  CODE_FOR_leave_rex64 = 515,
  CODE_FOR_ffssi_1 = 516,
  CODE_FOR_sqrtsf2_1 = 547,
  CODE_FOR_sqrtsf2_1_sse_only = 548,
  CODE_FOR_sqrtsf2_i387 = 549,
  CODE_FOR_sqrtdf2_1 = 550,
  CODE_FOR_sqrtdf2_1_sse_only = 551,
  CODE_FOR_sqrtdf2_i387 = 552,
  CODE_FOR_sqrtxf2 = 554,
  CODE_FOR_sqrttf2 = 555,
  CODE_FOR_sindf2 = 560,
  CODE_FOR_sinsf2 = 561,
  CODE_FOR_sinxf2 = 563,
  CODE_FOR_sintf2 = 564,
  CODE_FOR_cosdf2 = 565,
  CODE_FOR_cossf2 = 566,
  CODE_FOR_cosxf2 = 568,
  CODE_FOR_costf2 = 569,
  CODE_FOR_cld = 570,
  CODE_FOR_strmovdi_rex_1 = 571,
  CODE_FOR_strmovsi_1 = 572,
  CODE_FOR_strmovsi_rex_1 = 573,
  CODE_FOR_strmovhi_1 = 574,
  CODE_FOR_strmovhi_rex_1 = 575,
  CODE_FOR_strmovqi_1 = 576,
  CODE_FOR_strmovqi_rex_1 = 577,
  CODE_FOR_rep_movdi_rex64 = 578,
  CODE_FOR_rep_movsi = 579,
  CODE_FOR_rep_movsi_rex64 = 580,
  CODE_FOR_rep_movqi = 581,
  CODE_FOR_rep_movqi_rex64 = 582,
  CODE_FOR_strsetdi_rex_1 = 583,
  CODE_FOR_strsetsi_1 = 584,
  CODE_FOR_strsetsi_rex_1 = 585,
  CODE_FOR_strsethi_1 = 586,
  CODE_FOR_strsethi_rex_1 = 587,
  CODE_FOR_strsetqi_1 = 588,
  CODE_FOR_strsetqi_rex_1 = 589,
  CODE_FOR_rep_stosdi_rex64 = 590,
  CODE_FOR_rep_stossi = 591,
  CODE_FOR_rep_stossi_rex64 = 592,
  CODE_FOR_rep_stosqi = 593,
  CODE_FOR_rep_stosqi_rex64 = 594,
  CODE_FOR_cmpstrqi_nz_1 = 595,
  CODE_FOR_cmpstrqi_nz_rex_1 = 596,
  CODE_FOR_cmpstrqi_1 = 597,
  CODE_FOR_cmpstrqi_rex_1 = 598,
  CODE_FOR_strlenqi_1 = 599,
  CODE_FOR_strlenqi_rex_1 = 600,
  CODE_FOR_x86_movdicc_0_m1_rex64 = 601,
  CODE_FOR_x86_movsicc_0_m1 = 603,
  CODE_FOR_pro_epilogue_adjust_stack_rex64 = 624,
  CODE_FOR_sse_movsfcc = 625,
  CODE_FOR_sse_movsfcc_eq = 626,
  CODE_FOR_sse_movdfcc = 627,
  CODE_FOR_sse_movdfcc_eq = 628,
  CODE_FOR_allocate_stack_worker_1 = 637,
  CODE_FOR_allocate_stack_worker_rex64 = 638,
  CODE_FOR_trap = 645,
  CODE_FOR_movv4sf_internal = 647,
  CODE_FOR_movv4si_internal = 648,
  CODE_FOR_movv8qi_internal = 649,
  CODE_FOR_movv4hi_internal = 650,
  CODE_FOR_movv2si_internal = 651,
  CODE_FOR_movti_internal = 658,
  CODE_FOR_sse_movaps = 659,
  CODE_FOR_sse_movups = 660,
  CODE_FOR_sse_movmskps = 661,
  CODE_FOR_mmx_pmovmskb = 662,
  CODE_FOR_mmx_maskmovq = 663,
  CODE_FOR_sse_movntv4sf = 664,
  CODE_FOR_sse_movntdi = 665,
  CODE_FOR_sse_movhlps = 666,
  CODE_FOR_sse_movlhps = 667,
  CODE_FOR_sse_movhps = 668,
  CODE_FOR_sse_movlps = 669,
  CODE_FOR_sse_loadss = 670,
  CODE_FOR_sse_movss = 671,
  CODE_FOR_sse_storess = 672,
  CODE_FOR_sse_shufps = 673,
  CODE_FOR_addv4sf3 = 674,
  CODE_FOR_vmaddv4sf3 = 675,
  CODE_FOR_subv4sf3 = 676,
  CODE_FOR_vmsubv4sf3 = 677,
  CODE_FOR_mulv4sf3 = 678,
  CODE_FOR_vmmulv4sf3 = 679,
  CODE_FOR_divv4sf3 = 680,
  CODE_FOR_vmdivv4sf3 = 681,
  CODE_FOR_rcpv4sf2 = 682,
  CODE_FOR_vmrcpv4sf2 = 683,
  CODE_FOR_rsqrtv4sf2 = 684,
  CODE_FOR_vmrsqrtv4sf2 = 685,
  CODE_FOR_sqrtv4sf2 = 686,
  CODE_FOR_vmsqrtv4sf2 = 687,
  CODE_FOR_sse_andti3 = 692,
  CODE_FOR_sse_nandti3 = 696,
  CODE_FOR_sse_iorti3 = 702,
  CODE_FOR_sse_xorti3 = 708,
  CODE_FOR_sse_clrti = 710,
  CODE_FOR_maskcmpv4sf3 = 711,
  CODE_FOR_maskncmpv4sf3 = 712,
  CODE_FOR_vmmaskcmpv4sf3 = 713,
  CODE_FOR_vmmaskncmpv4sf3 = 714,
  CODE_FOR_sse_comi = 715,
  CODE_FOR_sse_ucomi = 716,
  CODE_FOR_sse_unpckhps = 717,
  CODE_FOR_sse_unpcklps = 718,
  CODE_FOR_smaxv4sf3 = 719,
  CODE_FOR_vmsmaxv4sf3 = 720,
  CODE_FOR_sminv4sf3 = 721,
  CODE_FOR_vmsminv4sf3 = 722,
  CODE_FOR_cvtpi2ps = 723,
  CODE_FOR_cvtps2pi = 724,
  CODE_FOR_cvttps2pi = 725,
  CODE_FOR_cvtsi2ss = 726,
  CODE_FOR_cvtss2si = 727,
  CODE_FOR_cvttss2si = 728,
  CODE_FOR_addv8qi3 = 729,
  CODE_FOR_addv4hi3 = 730,
  CODE_FOR_addv2si3 = 731,
  CODE_FOR_ssaddv8qi3 = 732,
  CODE_FOR_ssaddv4hi3 = 733,
  CODE_FOR_usaddv8qi3 = 734,
  CODE_FOR_usaddv4hi3 = 735,
  CODE_FOR_subv8qi3 = 736,
  CODE_FOR_subv4hi3 = 737,
  CODE_FOR_subv2si3 = 738,
  CODE_FOR_sssubv8qi3 = 739,
  CODE_FOR_sssubv4hi3 = 740,
  CODE_FOR_ussubv8qi3 = 741,
  CODE_FOR_ussubv4hi3 = 742,
  CODE_FOR_mulv4hi3 = 743,
  CODE_FOR_smulv4hi3_highpart = 744,
  CODE_FOR_umulv4hi3_highpart = 745,
  CODE_FOR_mmx_pmaddwd = 746,
  CODE_FOR_mmx_iordi3 = 747,
  CODE_FOR_mmx_xordi3 = 748,
  CODE_FOR_mmx_clrdi = 749,
  CODE_FOR_mmx_anddi3 = 750,
  CODE_FOR_mmx_nanddi3 = 751,
  CODE_FOR_mmx_uavgv8qi3 = 752,
  CODE_FOR_mmx_uavgv4hi3 = 753,
  CODE_FOR_mmx_psadbw = 754,
  CODE_FOR_mmx_pinsrw = 755,
  CODE_FOR_mmx_pextrw = 756,
  CODE_FOR_mmx_pshufw = 757,
  CODE_FOR_eqv8qi3 = 758,
  CODE_FOR_eqv4hi3 = 759,
  CODE_FOR_eqv2si3 = 760,
  CODE_FOR_gtv8qi3 = 761,
  CODE_FOR_gtv4hi3 = 762,
  CODE_FOR_gtv2si3 = 763,
  CODE_FOR_umaxv8qi3 = 764,
  CODE_FOR_smaxv4hi3 = 765,
  CODE_FOR_uminv8qi3 = 766,
  CODE_FOR_sminv4hi3 = 767,
  CODE_FOR_ashrv4hi3 = 768,
  CODE_FOR_ashrv2si3 = 769,
  CODE_FOR_lshrv4hi3 = 770,
  CODE_FOR_lshrv2si3 = 771,
  CODE_FOR_mmx_lshrdi3 = 772,
  CODE_FOR_ashlv4hi3 = 773,
  CODE_FOR_ashlv2si3 = 774,
  CODE_FOR_mmx_ashldi3 = 775,
  CODE_FOR_mmx_packsswb = 776,
  CODE_FOR_mmx_packssdw = 777,
  CODE_FOR_mmx_packuswb = 778,
  CODE_FOR_mmx_punpckhbw = 779,
  CODE_FOR_mmx_punpckhwd = 780,
  CODE_FOR_mmx_punpckhdq = 781,
  CODE_FOR_mmx_punpcklbw = 782,
  CODE_FOR_mmx_punpcklwd = 783,
  CODE_FOR_mmx_punpckldq = 784,
  CODE_FOR_emms = 785,
  CODE_FOR_ldmxcsr = 786,
  CODE_FOR_stmxcsr = 787,
  CODE_FOR_prefetch = 789,
  CODE_FOR_cmpdi = 790,
  CODE_FOR_cmpsi = 791,
  CODE_FOR_cmphi = 792,
  CODE_FOR_cmpqi = 793,
  CODE_FOR_cmpdi_1_rex64 = 794,
  CODE_FOR_cmpsi_1 = 795,
  CODE_FOR_cmpqi_ext_3 = 796,
  CODE_FOR_cmpxf = 797,
  CODE_FOR_cmptf = 798,
  CODE_FOR_cmpdf = 799,
  CODE_FOR_cmpsf = 800,
  CODE_FOR_movsi = 802,
  CODE_FOR_movhi = 803,
  CODE_FOR_movstricthi = 804,
  CODE_FOR_movqi = 805,
  CODE_FOR_reload_outqi = 806,
  CODE_FOR_movstrictqi = 807,
  CODE_FOR_movdi = 808,
  CODE_FOR_movsf = 817,
  CODE_FOR_movdf = 821,
  CODE_FOR_movxf = 826,
  CODE_FOR_movtf = 827,
  CODE_FOR_zero_extendhisi2 = 834,
  CODE_FOR_zero_extendqihi2 = 836,
  CODE_FOR_zero_extendqisi2 = 840,
  CODE_FOR_zero_extendsidi2 = 844,
  CODE_FOR_extendsidi2 = 848,
  CODE_FOR_extendsfdf2 = 860,
  CODE_FOR_extendsfxf2 = 861,
  CODE_FOR_extendsftf2 = 862,
  CODE_FOR_extenddfxf2 = 863,
  CODE_FOR_extenddftf2 = 864,
  CODE_FOR_truncdfsf2 = 865,
  CODE_FOR_truncxfsf2 = 869,
  CODE_FOR_trunctfsf2 = 872,
  CODE_FOR_truncxfdf2 = 875,
  CODE_FOR_trunctfdf2 = 878,
  CODE_FOR_fix_truncxfdi2 = 881,
  CODE_FOR_fix_trunctfdi2 = 882,
  CODE_FOR_fix_truncdfdi2 = 883,
  CODE_FOR_fix_truncsfdi2 = 884,
  CODE_FOR_fix_truncxfsi2 = 886,
  CODE_FOR_fix_trunctfsi2 = 887,
  CODE_FOR_fix_truncdfsi2 = 888,
  CODE_FOR_fix_truncsfsi2 = 889,
  CODE_FOR_fix_truncxfhi2 = 891,
  CODE_FOR_fix_trunctfhi2 = 892,
  CODE_FOR_fix_truncdfhi2 = 893,
  CODE_FOR_fix_truncsfhi2 = 894,
  CODE_FOR_floatsisf2 = 896,
  CODE_FOR_floatdisf2 = 897,
  CODE_FOR_floatsidf2 = 898,
  CODE_FOR_floatdidf2 = 899,
  CODE_FOR_adddi3 = 901,
  CODE_FOR_addsi3 = 903,
  CODE_FOR_addhi3 = 913,
  CODE_FOR_addqi3 = 914,
  CODE_FOR_addxf3 = 915,
  CODE_FOR_addtf3 = 916,
  CODE_FOR_adddf3 = 917,
  CODE_FOR_addsf3 = 918,
  CODE_FOR_subdi3 = 919,
  CODE_FOR_subsi3 = 921,
  CODE_FOR_subhi3 = 922,
  CODE_FOR_subqi3 = 923,
  CODE_FOR_subxf3 = 924,
  CODE_FOR_subtf3 = 925,
  CODE_FOR_subdf3 = 926,
  CODE_FOR_subsf3 = 927,
  CODE_FOR_muldi3 = 928,
  CODE_FOR_mulsi3 = 929,
  CODE_FOR_mulhi3 = 930,
  CODE_FOR_mulxf3 = 931,
  CODE_FOR_multf3 = 932,
  CODE_FOR_muldf3 = 933,
  CODE_FOR_mulsf3 = 934,
  CODE_FOR_divxf3 = 935,
  CODE_FOR_divtf3 = 936,
  CODE_FOR_divdf3 = 937,
  CODE_FOR_divsf3 = 938,
  CODE_FOR_divmoddi4 = 939,
  CODE_FOR_divmodsi4 = 941,
  CODE_FOR_udivmodhi4 = 945,
  CODE_FOR_testsi_ccno_1 = 946,
  CODE_FOR_testqi_ccz_1 = 947,
  CODE_FOR_testqi_ext_ccno_0 = 948,
  CODE_FOR_anddi3 = 950,
  CODE_FOR_andsi3 = 951,
  CODE_FOR_andhi3 = 955,
  CODE_FOR_andqi3 = 956,
  CODE_FOR_iordi3 = 957,
  CODE_FOR_iorsi3 = 958,
  CODE_FOR_iorhi3 = 959,
  CODE_FOR_iorqi3 = 960,
  CODE_FOR_xordi3 = 961,
  CODE_FOR_xorsi3 = 962,
  CODE_FOR_xorhi3 = 963,
  CODE_FOR_xorqi3 = 964,
  CODE_FOR_xorqi_cc_ext_1 = 965,
  CODE_FOR_negdi2 = 966,
  CODE_FOR_negsi2 = 968,
  CODE_FOR_neghi2 = 969,
  CODE_FOR_negqi2 = 970,
  CODE_FOR_negsf2 = 971,
  CODE_FOR_negdf2 = 978,
  CODE_FOR_negxf2 = 985,
  CODE_FOR_negtf2 = 986,
  CODE_FOR_abssf2 = 991,
  CODE_FOR_absdf2 = 998,
  CODE_FOR_absxf2 = 1004,
  CODE_FOR_abstf2 = 1005,
  CODE_FOR_one_cmpldi2 = 1010,
  CODE_FOR_one_cmplsi2 = 1012,
  CODE_FOR_one_cmplhi2 = 1015,
  CODE_FOR_one_cmplqi2 = 1017,
  CODE_FOR_ashldi3 = 1019,
  CODE_FOR_x86_shift_adj_1 = 1023,
  CODE_FOR_x86_shift_adj_2 = 1024,
  CODE_FOR_ashlsi3 = 1025,
  CODE_FOR_ashlhi3 = 1028,
  CODE_FOR_ashlqi3 = 1029,
  CODE_FOR_ashrdi3 = 1030,
  CODE_FOR_x86_shift_adj_3 = 1033,
  CODE_FOR_ashrsi3 = 1034,
  CODE_FOR_ashrhi3 = 1035,
  CODE_FOR_ashrqi3 = 1036,
  CODE_FOR_lshrdi3 = 1037,
  CODE_FOR_lshrsi3 = 1040,
  CODE_FOR_lshrhi3 = 1041,
  CODE_FOR_lshrqi3 = 1042,
  CODE_FOR_rotldi3 = 1043,
  CODE_FOR_rotlsi3 = 1044,
  CODE_FOR_rotlhi3 = 1045,
  CODE_FOR_rotlqi3 = 1046,
  CODE_FOR_rotrdi3 = 1047,
  CODE_FOR_rotrsi3 = 1048,
  CODE_FOR_rotrhi3 = 1049,
  CODE_FOR_rotrqi3 = 1050,
  CODE_FOR_extv = 1051,
  CODE_FOR_extzv = 1052,
  CODE_FOR_insv = 1053,
  CODE_FOR_seq = 1054,
  CODE_FOR_sne = 1055,
  CODE_FOR_sgt = 1056,
  CODE_FOR_sgtu = 1057,
  CODE_FOR_slt = 1058,
  CODE_FOR_sltu = 1059,
  CODE_FOR_sge = 1060,
  CODE_FOR_sgeu = 1061,
  CODE_FOR_sle = 1062,
  CODE_FOR_sleu = 1063,
  CODE_FOR_sunordered = 1064,
  CODE_FOR_sordered = 1065,
  CODE_FOR_suneq = 1066,
  CODE_FOR_sunge = 1067,
  CODE_FOR_sungt = 1068,
  CODE_FOR_sunle = 1069,
  CODE_FOR_sunlt = 1070,
  CODE_FOR_sltgt = 1071,
  CODE_FOR_beq = 1072,
  CODE_FOR_bne = 1073,
  CODE_FOR_bgt = 1074,
  CODE_FOR_bgtu = 1075,
  CODE_FOR_blt = 1076,
  CODE_FOR_bltu = 1077,
  CODE_FOR_bge = 1078,
  CODE_FOR_bgeu = 1079,
  CODE_FOR_ble = 1080,
  CODE_FOR_bleu = 1081,
  CODE_FOR_bunordered = 1082,
  CODE_FOR_bordered = 1083,
  CODE_FOR_buneq = 1084,
  CODE_FOR_bunge = 1085,
  CODE_FOR_bungt = 1086,
  CODE_FOR_bunle = 1087,
  CODE_FOR_bunlt = 1088,
  CODE_FOR_bltgt = 1089,
  CODE_FOR_casesi = 1092,
  CODE_FOR_doloop_end = 1093,
  CODE_FOR_call_pop = 1096,
  CODE_FOR_call = 1097,
  CODE_FOR_call_exp = 1098,
  CODE_FOR_call_value_pop = 1099,
  CODE_FOR_call_value = 1100,
  CODE_FOR_call_value_exp = 1101,
  CODE_FOR_untyped_call = 1102,
  CODE_FOR_return = 1103,
  CODE_FOR_prologue = 1104,
  CODE_FOR_epilogue = 1105,
  CODE_FOR_sibcall_epilogue = 1106,
  CODE_FOR_eh_return = 1107,
  CODE_FOR_ffssi2 = 1109,
  CODE_FOR_sqrtsf2 = 1112,
  CODE_FOR_sqrtdf2 = 1113,
  CODE_FOR_movstrsi = 1114,
  CODE_FOR_movstrdi = 1115,
  CODE_FOR_strmovdi_rex64 = 1116,
  CODE_FOR_strmovsi = 1117,
  CODE_FOR_strmovsi_rex64 = 1118,
  CODE_FOR_strmovhi = 1119,
  CODE_FOR_strmovhi_rex64 = 1120,
  CODE_FOR_strmovqi = 1121,
  CODE_FOR_strmovqi_rex64 = 1122,
  CODE_FOR_clrstrsi = 1123,
  CODE_FOR_clrstrdi = 1124,
  CODE_FOR_strsetdi_rex64 = 1125,
  CODE_FOR_strsetsi = 1126,
  CODE_FOR_strsetsi_rex64 = 1127,
  CODE_FOR_strsethi = 1128,
  CODE_FOR_strsethi_rex64 = 1129,
  CODE_FOR_strsetqi = 1130,
  CODE_FOR_strsetqi_rex64 = 1131,
  CODE_FOR_cmpstrsi = 1132,
  CODE_FOR_cmpintqi = 1133,
  CODE_FOR_strlensi = 1134,
  CODE_FOR_strlendi = 1135,
  CODE_FOR_movdicc_rex64 = 1138,
  CODE_FOR_movsicc = 1139,
  CODE_FOR_movhicc = 1140,
  CODE_FOR_movsfcc = 1141,
  CODE_FOR_movdfcc = 1142,
  CODE_FOR_movxfcc = 1144,
  CODE_FOR_movtfcc = 1145,
  CODE_FOR_minsf3 = 1146,
  CODE_FOR_mindf3 = 1149,
  CODE_FOR_maxsf3 = 1152,
  CODE_FOR_maxdf3 = 1155,
  CODE_FOR_pro_epilogue_adjust_stack = 1158,
  CODE_FOR_allocate_stack_worker = 1162,
  CODE_FOR_allocate_stack = 1163,
  CODE_FOR_builtin_setjmp_receiver = 1164,
  CODE_FOR_conditional_trap = 1227,
  CODE_FOR_movti = 1228,
  CODE_FOR_movv4sf = 1229,
  CODE_FOR_movv4si = 1230,
  CODE_FOR_movv2si = 1231,
  CODE_FOR_movv4hi = 1232,
  CODE_FOR_movv8qi = 1233,
  CODE_FOR_sfence = 1240,
  CODE_FOR_nothing = 1241 };




struct rtx_def;
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/machmode.h" 1
# 29 "/nfs/oz/home/oldham/gcc/gcc5/gcc/machmode.h"
enum machine_mode {
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/machmode.def" 1
# 67 "/nfs/oz/home/oldham/gcc/gcc5/gcc/machmode.def"
VOIDmode,

BImode,
QImode,
HImode,
SImode,
DImode,
TImode,
OImode,




PQImode,
PHImode,
PSImode,
PDImode,

QFmode,
HFmode,
TQFmode,
SFmode,
DFmode,
XFmode,
TFmode,


QCmode,
HCmode,
SCmode,
DCmode,
XCmode,
TCmode,

CQImode,
CHImode,
CSImode,
CDImode,
CTImode,
COImode,




V2QImode,
V2HImode,
V2SImode,
V2DImode,

V4QImode,
V4HImode,
V4SImode,
V4DImode,

V8QImode,
V8HImode,
V8SImode,
V8DImode,

V16QImode,

V2SFmode,
V2DFmode,

V4SFmode,
V4DFmode,

V8SFmode,
V8DFmode,



BLKmode,
# 148 "/nfs/oz/home/oldham/gcc/gcc5/gcc/machmode.def"
CCmode,


CCGCmode, CCGOCmode, CCNOmode, CCZmode, CCFPmode, CCFPUmode,
# 31 "/nfs/oz/home/oldham/gcc/gcc5/gcc/machmode.h" 2
MAX_MACHINE_MODE };
# 41 "/nfs/oz/home/oldham/gcc/gcc5/gcc/machmode.h"
extern const char * const mode_name[];


enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
                  MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT,
                  MODE_VECTOR_INT, MODE_VECTOR_FLOAT,
                  MAX_MODE_CLASS};




extern const enum mode_class mode_class[];
# 80 "/nfs/oz/home/oldham/gcc/gcc5/gcc/machmode.h"
extern const unsigned int mode_size[];




extern const unsigned int mode_unit_size[];
# 96 "/nfs/oz/home/oldham/gcc/gcc5/gcc/machmode.h"
extern const unsigned int mode_bitsize[];
# 117 "/nfs/oz/home/oldham/gcc/gcc5/gcc/machmode.h"
extern const unsigned char mode_wider_mode[];






extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int);




extern enum machine_mode smallest_mode_for_size
                                (unsigned int, enum mode_class);





extern enum machine_mode int_mode_for_mode (enum machine_mode);



extern enum machine_mode get_best_mode (int, int, unsigned int, enum machine_mode, int);




extern unsigned get_mode_alignment (enum machine_mode);





extern const enum machine_mode class_narrowest_mode[];





extern enum machine_mode byte_mode;
extern enum machine_mode word_mode;
extern enum machine_mode ptr_mode;
# 521 "insn-codes.h" 2

extern int x86_64_immediate_operand (struct rtx_def *, enum machine_mode);
extern int x86_64_nonmemory_operand (struct rtx_def *, enum machine_mode);
extern int x86_64_movabs_operand (struct rtx_def *, enum machine_mode);
extern int x86_64_szext_nonmemory_operand (struct rtx_def *, enum machine_mode);
extern int x86_64_general_operand (struct rtx_def *, enum machine_mode);
extern int x86_64_szext_general_operand (struct rtx_def *, enum machine_mode);
extern int x86_64_zext_immediate_operand (struct rtx_def *, enum machine_mode);
extern int shiftdi_operand (struct rtx_def *, enum machine_mode);
extern int const_int_1_operand (struct rtx_def *, enum machine_mode);
extern int symbolic_operand (struct rtx_def *, enum machine_mode);
extern int aligned_operand (struct rtx_def *, enum machine_mode);
extern int pic_symbolic_operand (struct rtx_def *, enum machine_mode);
extern int call_insn_operand (struct rtx_def *, enum machine_mode);
extern int constant_call_address_operand (struct rtx_def *, enum machine_mode);
extern int const0_operand (struct rtx_def *, enum machine_mode);
extern int const1_operand (struct rtx_def *, enum machine_mode);
extern int const248_operand (struct rtx_def *, enum machine_mode);
extern int incdec_operand (struct rtx_def *, enum machine_mode);
extern int mmx_reg_operand (struct rtx_def *, enum machine_mode);
extern int reg_no_sp_operand (struct rtx_def *, enum machine_mode);
extern int general_no_elim_operand (struct rtx_def *, enum machine_mode);
extern int nonmemory_no_elim_operand (struct rtx_def *, enum machine_mode);
extern int q_regs_operand (struct rtx_def *, enum machine_mode);
extern int non_q_regs_operand (struct rtx_def *, enum machine_mode);
extern int fcmov_comparison_operator (struct rtx_def *, enum machine_mode);
extern int sse_comparison_operator (struct rtx_def *, enum machine_mode);
extern int ix86_comparison_operator (struct rtx_def *, enum machine_mode);
extern int cmp_fp_expander_operand (struct rtx_def *, enum machine_mode);
extern int ext_register_operand (struct rtx_def *, enum machine_mode);
extern int binary_fp_operator (struct rtx_def *, enum machine_mode);
extern int mult_operator (struct rtx_def *, enum machine_mode);
extern int div_operator (struct rtx_def *, enum machine_mode);
extern int arith_or_logical_operator (struct rtx_def *, enum machine_mode);
extern int promotable_binary_operator (struct rtx_def *, enum machine_mode);
extern int memory_displacement_operand (struct rtx_def *, enum machine_mode);
extern int cmpsi_operand (struct rtx_def *, enum machine_mode);
extern int long_memory_operand (struct rtx_def *, enum machine_mode);
# 14 "tconfig.h" 2
# 1 "insn-flags.h" 1
# 549 "insn-flags.h"
struct rtx_def;
extern struct rtx_def *gen_cmpdi_ccno_1_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpdi_1_insn_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpqi_ext_3_insn (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpqi_ext_3_insn_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_x86_fnstsw_1 (struct rtx_def *);
extern struct rtx_def *gen_x86_sahf_1 (struct rtx_def *);
extern struct rtx_def *gen_popsi1 (struct rtx_def *);
extern struct rtx_def *gen_movsi_insv_1 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_pushdi2_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_popdi1 (struct rtx_def *);
extern struct rtx_def *gen_swapxf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_swaptf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_zero_extendhisi2_and (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_zero_extendsidi2_32 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_zero_extendsidi2_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_zero_extendhidi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_zero_extendqidi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extendsidi2_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extendhidi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extendqidi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extendhisi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extendqihi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extendqisi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_truncdfsf2_3 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_truncdfsf2_sse_only (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_truncsfdi_sse (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_truncdfdi_sse (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_truncsfsi_sse (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_truncdfsi_sse (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_x86_fnstcw_1 (struct rtx_def *);
extern struct rtx_def *gen_x86_fldcw_1 (struct rtx_def *);
extern struct rtx_def *gen_floathisf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_floathidf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_floathixf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_floathitf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_floatsixf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_floatsitf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_floatdixf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_floatditf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_addqi3_cc (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_addsi_1_zext (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_addqi_ext_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subdi3_carry_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subsi3_carry (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subsi3_carry_zext (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mulqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_umulqihi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mulqihi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_umulditi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_umulsidi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mulditi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mulsidi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_umulsi3_highpart (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_smulsi3_highpart (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_divqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_udivqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_divmodhi4 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_udivmoddi4 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_udivmodsi4 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_testsi_1 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_andqi_ext_0 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_negsf2_memory (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_negsf2_ifs (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_negdf2_memory (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_negdf2_ifs (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_abssf2_memory (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_abssf2_ifs (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_absdf2_memory (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_absdf2_ifs (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashldi3_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_x86_shld_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashrdi3_63_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashrdi3_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_x86_shrd_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashrsi3_31 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_lshrdi3_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_setcc_2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_jump (struct rtx_def *);
extern struct rtx_def *gen_indirect_jump (struct rtx_def *);
extern struct rtx_def *gen_tablejump (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_doloop_end_internal (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_blockage (void);
extern struct rtx_def *gen_return_internal (void);
extern struct rtx_def *gen_return_pop_internal (struct rtx_def *);
extern struct rtx_def *gen_return_indirect_internal (struct rtx_def *);
extern struct rtx_def *gen_nop (void);
extern struct rtx_def *gen_prologue_set_got (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_prologue_get_pc (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_eh_return_1 (struct rtx_def *);
extern struct rtx_def *gen_leave (void);
extern struct rtx_def *gen_leave_rex64 (void);
extern struct rtx_def *gen_ffssi_1 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sqrtsf2_1 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sqrtsf2_1_sse_only (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sqrtsf2_i387 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sqrtdf2_1 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sqrtdf2_1_sse_only (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sqrtdf2_i387 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sqrtxf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sqrttf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sindf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sinsf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sinxf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sintf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cosdf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cossf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cosxf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_costf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cld (void);
extern struct rtx_def *gen_strmovdi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strmovsi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strmovsi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strmovhi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strmovhi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strmovqi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strmovqi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rep_movdi_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rep_movsi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rep_movsi_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rep_movqi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rep_movqi_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsetdi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsetsi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsetsi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsethi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsethi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsetqi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsetqi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rep_stosdi_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rep_stossi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rep_stossi_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rep_stosqi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rep_stosqi_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpstrqi_nz_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpstrqi_nz_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpstrqi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpstrqi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strlenqi_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strlenqi_rex_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_x86_movdicc_0_m1_rex64 (struct rtx_def *);
extern struct rtx_def *gen_x86_movsicc_0_m1 (struct rtx_def *);
extern struct rtx_def *gen_pro_epilogue_adjust_stack_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movsfcc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movsfcc_eq (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movdfcc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movdfcc_eq (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_allocate_stack_worker_1 (struct rtx_def *);
extern struct rtx_def *gen_allocate_stack_worker_rex64 (struct rtx_def *);
extern struct rtx_def *gen_trap (void);
extern struct rtx_def *gen_movv4sf_internal (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movv4si_internal (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movv8qi_internal (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movv4hi_internal (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movv2si_internal (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movti_internal (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movaps (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movups (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movmskps (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_pmovmskb (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_maskmovq (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movntv4sf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movntdi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movhlps (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movlhps (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movhps (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movlps (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_loadss (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_movss (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_storess (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_shufps (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_addv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_vmaddv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_vmsubv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mulv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_vmmulv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_divv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_vmdivv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rcpv4sf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_vmrcpv4sf2 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rsqrtv4sf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_vmrsqrtv4sf2 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sqrtv4sf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_vmsqrtv4sf2 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_andti3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_nandti3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_iorti3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_xorti3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_clrti (struct rtx_def *);
extern struct rtx_def *gen_maskcmpv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_maskncmpv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_vmmaskcmpv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_vmmaskncmpv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_comi (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_ucomi (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_unpckhps (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sse_unpcklps (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_smaxv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_vmsmaxv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sminv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_vmsminv4sf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cvtpi2ps (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cvtps2pi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cvttps2pi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cvtsi2ss (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cvtss2si (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cvttss2si (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_addv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_addv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_addv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ssaddv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ssaddv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_usaddv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_usaddv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sssubv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sssubv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ussubv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ussubv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mulv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_smulv4hi3_highpart (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_umulv4hi3_highpart (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_pmaddwd (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_iordi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_xordi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_clrdi (struct rtx_def *);
extern struct rtx_def *gen_mmx_anddi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_nanddi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_uavgv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_uavgv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_psadbw (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_pinsrw (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_pextrw (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_pshufw (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_eqv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_eqv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_eqv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_gtv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_gtv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_gtv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_umaxv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_smaxv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_uminv8qi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sminv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashrv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashrv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_lshrv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_lshrv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_lshrdi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashlv4hi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashlv2si3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_ashldi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_packsswb (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_packssdw (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_packuswb (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_punpckhbw (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_punpckhwd (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_punpckhdq (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_punpcklbw (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_punpcklwd (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mmx_punpckldq (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_emms (void);
extern struct rtx_def *gen_ldmxcsr (struct rtx_def *);
extern struct rtx_def *gen_stmxcsr (struct rtx_def *);
extern struct rtx_def *gen_prefetch (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpdi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpsi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmphi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpqi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpdi_1_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpsi_1 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpqi_ext_3 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpxf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmptf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpdf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpsf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movsi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movhi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movstricthi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movqi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_reload_outqi (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movstrictqi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movdi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movsf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movdf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movxf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movtf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_zero_extendhisi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_zero_extendqihi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_zero_extendqisi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_zero_extendsidi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extendsidi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extendsfdf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extendsfxf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extendsftf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extenddfxf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extenddftf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_truncdfsf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_truncxfsf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_trunctfsf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_truncxfdf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_trunctfdf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_truncxfdi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_trunctfdi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_truncdfdi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_truncsfdi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_truncxfsi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_trunctfsi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_truncdfsi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_truncsfsi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_truncxfhi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_trunctfhi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_truncdfhi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_fix_truncsfhi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_floatsisf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_floatdisf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_floatsidf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_floatdidf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_adddi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_addsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_addhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_addqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_addxf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_addtf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_adddf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_addsf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subdi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subxf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subtf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subdf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_subsf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_muldi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mulsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mulhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mulxf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_multf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_muldf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mulsf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_divxf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_divtf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_divdf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_divsf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_divmoddi4 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_divmodsi4 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_udivmodhi4 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_testsi_ccno_1 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_testqi_ccz_1 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_testqi_ext_ccno_0 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_anddi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_andsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_andhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_andqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_iordi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_iorsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_iorhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_iorqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_xordi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_xorsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_xorhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_xorqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_xorqi_cc_ext_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_negdi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_negsi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_neghi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_negqi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_negsf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_negdf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_negxf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_negtf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_abssf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_absdf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_absxf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_abstf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_one_cmpldi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_one_cmplsi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_one_cmplhi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_one_cmplqi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashldi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_x86_shift_adj_1 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_x86_shift_adj_2 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashlsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashlhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashlqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashrdi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_x86_shift_adj_3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashrsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashrhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ashrqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_lshrdi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_lshrsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_lshrhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_lshrqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rotldi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rotlsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rotlhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rotlqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rotrdi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rotrsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rotrhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_rotrqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extv (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_extzv (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_insv (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_seq (struct rtx_def *);
extern struct rtx_def *gen_sne (struct rtx_def *);
extern struct rtx_def *gen_sgt (struct rtx_def *);
extern struct rtx_def *gen_sgtu (struct rtx_def *);
extern struct rtx_def *gen_slt (struct rtx_def *);
extern struct rtx_def *gen_sltu (struct rtx_def *);
extern struct rtx_def *gen_sge (struct rtx_def *);
extern struct rtx_def *gen_sgeu (struct rtx_def *);
extern struct rtx_def *gen_sle (struct rtx_def *);
extern struct rtx_def *gen_sleu (struct rtx_def *);
extern struct rtx_def *gen_sunordered (struct rtx_def *);
extern struct rtx_def *gen_sordered (struct rtx_def *);
extern struct rtx_def *gen_suneq (struct rtx_def *);
extern struct rtx_def *gen_sunge (struct rtx_def *);
extern struct rtx_def *gen_sungt (struct rtx_def *);
extern struct rtx_def *gen_sunle (struct rtx_def *);
extern struct rtx_def *gen_sunlt (struct rtx_def *);
extern struct rtx_def *gen_sltgt (struct rtx_def *);
extern struct rtx_def *gen_beq (struct rtx_def *);
extern struct rtx_def *gen_bne (struct rtx_def *);
extern struct rtx_def *gen_bgt (struct rtx_def *);
extern struct rtx_def *gen_bgtu (struct rtx_def *);
extern struct rtx_def *gen_blt (struct rtx_def *);
extern struct rtx_def *gen_bltu (struct rtx_def *);
extern struct rtx_def *gen_bge (struct rtx_def *);
extern struct rtx_def *gen_bgeu (struct rtx_def *);
extern struct rtx_def *gen_ble (struct rtx_def *);
extern struct rtx_def *gen_bleu (struct rtx_def *);
extern struct rtx_def *gen_bunordered (struct rtx_def *);
extern struct rtx_def *gen_bordered (struct rtx_def *);
extern struct rtx_def *gen_buneq (struct rtx_def *);
extern struct rtx_def *gen_bunge (struct rtx_def *);
extern struct rtx_def *gen_bungt (struct rtx_def *);
extern struct rtx_def *gen_bunle (struct rtx_def *);
extern struct rtx_def *gen_bunlt (struct rtx_def *);
extern struct rtx_def *gen_bltgt (struct rtx_def *);
extern struct rtx_def *gen_casesi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_doloop_end (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);

extern struct rtx_def *gen_call_pop (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);

extern struct rtx_def *gen_call (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_call_exp (struct rtx_def *, struct rtx_def *);

extern struct rtx_def *gen_call_value_pop (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);

extern struct rtx_def *gen_call_value (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_call_value_exp (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_untyped_call (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_return (void);
extern struct rtx_def *gen_prologue (void);
extern struct rtx_def *gen_epilogue (void);
extern struct rtx_def *gen_sibcall_epilogue (void);
extern struct rtx_def *gen_eh_return (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_ffssi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sqrtsf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sqrtdf2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movstrsi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movstrdi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strmovdi_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strmovsi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strmovsi_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strmovhi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strmovhi_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strmovqi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strmovqi_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_clrstrsi (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_clrstrdi (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsetdi_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsetsi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsetsi_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsethi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsethi_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsetqi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strsetqi_rex64 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpstrsi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_cmpintqi (struct rtx_def *);
extern struct rtx_def *gen_strlensi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_strlendi (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movdicc_rex64 (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movsicc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movhicc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movsfcc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movdfcc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movxfcc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movtfcc (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_minsf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_mindf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_maxsf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_maxdf3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_pro_epilogue_adjust_stack (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_allocate_stack_worker (struct rtx_def *);
extern struct rtx_def *gen_allocate_stack (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_builtin_setjmp_receiver (struct rtx_def *);
extern struct rtx_def *gen_conditional_trap (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movti (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movv4sf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movv4si (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movv2si (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movv4hi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_movv8qi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def *gen_sfence (void);
# 15 "tconfig.h" 2
# 22 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c" 2
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/tsystem.h" 1
# 37 "/nfs/oz/home/oldham/gcc/gcc5/gcc/tsystem.h"
# 1 "include/stddef.h" 1 3
# 147 "include/stddef.h" 3
typedef int ptrdiff_t;
# 288 "include/stddef.h" 3
typedef long int wchar_t;
# 38 "/nfs/oz/home/oldham/gcc/gcc5/gcc/tsystem.h" 2
# 60 "/nfs/oz/home/oldham/gcc/gcc5/gcc/tsystem.h"
# 1 "include/stdarg.h" 1 3
# 43 "include/stdarg.h" 3
typedef __builtin_va_list __gnuc_va_list;
# 110 "include/stdarg.h" 3
typedef __gnuc_va_list va_list;
# 61 "/nfs/oz/home/oldham/gcc/gcc5/gcc/tsystem.h" 2


# 1 "/usr/include/stdio.h" 1 3
# 27 "/usr/include/stdio.h" 3
# 1 "/usr/include/features.h" 1 3
# 28 "/usr/include/stdio.h" 2 3





# 1 "include/stddef.h" 1 3
# 34 "/usr/include/stdio.h" 2 3




# 1 "include/stdarg.h" 1 3
# 39 "/usr/include/stdio.h" 2 3

# 1 "/usr/include/bits/types.h" 1 3
# 41 "/usr/include/stdio.h" 2 3







typedef struct _IO_FILE FILE;
# 57 "/usr/include/stdio.h" 3
# 1 "/usr/include/libio.h" 1 3
# 30 "/usr/include/libio.h" 3
# 1 "/usr/include/_G_config.h" 1 3
# 9 "/usr/include/_G_config.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 10 "/usr/include/_G_config.h" 2 3




# 1 "include/stddef.h" 1 3
# 314 "include/stddef.h" 3
typedef unsigned int wint_t;
# 15 "/usr/include/_G_config.h" 2 3
# 35 "/usr/include/_G_config.h" 3
typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
# 31 "/usr/include/libio.h" 2 3
# 48 "/usr/include/libio.h" 3
# 1 "include/stdarg.h" 1 3
# 49 "/usr/include/libio.h" 2 3
# 154 "/usr/include/libio.h" 3
struct _IO_jump_t; struct _IO_FILE;
# 164 "/usr/include/libio.h" 3
typedef void _IO_lock_t;





struct _IO_marker {
  struct _IO_marker *_next;
  struct _IO_FILE *_sbuf;



  int _pos;
# 187 "/usr/include/libio.h" 3
};

struct _IO_FILE {
  int _flags;




  char* _IO_read_ptr;
  char* _IO_read_end;
  char* _IO_read_base;
  char* _IO_write_base;
  char* _IO_write_ptr;
  char* _IO_write_end;
  char* _IO_buf_base;
  char* _IO_buf_end;

  char *_IO_save_base;
  char *_IO_backup_base;
  char *_IO_save_end;

  struct _IO_marker *_markers;

  struct _IO_FILE *_chain;

  int _fileno;
  int _blksize;
  __off_t _old_offset;



  unsigned short _cur_column;
  signed char _vtable_offset;
  char _shortbuf[1];



  _IO_lock_t *_lock;
# 233 "/usr/include/libio.h" 3
  __off64_t _offset;

  int _unused2[16];

};


typedef struct _IO_FILE _IO_FILE;


struct _IO_FILE_plus;
extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
# 262 "/usr/include/libio.h" 3
typedef __ssize_t __io_read_fn (void * __cookie, char *__buf, size_t __nbytes);
# 271 "/usr/include/libio.h" 3
typedef __ssize_t __io_write_fn (void * __cookie, __const char *__buf, size_t __n);
# 280 "/usr/include/libio.h" 3
typedef int __io_seek_fn (void * __cookie, __off_t __pos, int __w);


typedef int __io_close_fn (void * __cookie);
# 318 "/usr/include/libio.h" 3
extern int __underflow (_IO_FILE *) ;
extern int __uflow (_IO_FILE *) ;
extern int __overflow (_IO_FILE *, int) ;
# 337 "/usr/include/libio.h" 3
extern int _IO_getc (_IO_FILE *__fp) ;
extern int _IO_putc (int __c, _IO_FILE *__fp) ;
extern int _IO_feof (_IO_FILE *__fp) ;
extern int _IO_ferror (_IO_FILE *__fp) ;

extern int _IO_peekc_locked (_IO_FILE *__fp) ;





extern void _IO_flockfile (_IO_FILE *) ;
extern void _IO_funlockfile (_IO_FILE *) ;
extern int _IO_ftrylockfile (_IO_FILE *) ;
# 363 "/usr/include/libio.h" 3
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict) ;

extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list) ;

extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ;
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ;

extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ;
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ;

extern void _IO_free_backup_area (_IO_FILE *) ;
# 58 "/usr/include/stdio.h" 2 3



typedef __off_t fpos_t;
# 110 "/usr/include/stdio.h" 3
# 1 "/usr/include/bits/stdio_lim.h" 1 3
# 111 "/usr/include/stdio.h" 2 3



extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;







extern int remove (__const char *__filename) ;

extern int rename (__const char *__old, __const char *__new) ;




extern FILE *tmpfile (void) ;
# 143 "/usr/include/stdio.h" 3
extern char *tmpnam (char *__s) ;




extern char *tmpnam_r (char *__s) ;
# 160 "/usr/include/stdio.h" 3
extern char *tempnam (__const char *__dir, __const char *__pfx) ;




extern int fclose (FILE *__stream) ;

extern int fflush (FILE *__stream) ;



extern int fflush_unlocked (FILE *__stream) ;
# 182 "/usr/include/stdio.h" 3
extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) ;


extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) ;
# 212 "/usr/include/stdio.h" 3
extern FILE *fdopen (int __fd, __const char *__modes) ;
# 232 "/usr/include/stdio.h" 3
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ;



extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) ;





extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) ;



extern void setlinebuf (FILE *__stream) ;




extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...) ;


extern int printf (__const char *__restrict __format, ...) ;

extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) ;



extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) ;



extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg) ;


extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) ;





extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...)

     __attribute__ ((__format__ (__printf__, 3, 4)));

extern int __vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg)


     __attribute__ ((__format__ (__printf__, 3, 0)));
extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg)


     __attribute__ ((__format__ (__printf__, 3, 0)));
# 310 "/usr/include/stdio.h" 3
extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) ;


extern int scanf (__const char *__restrict __format, ...) ;

extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) ;
# 338 "/usr/include/stdio.h" 3
extern int fgetc (FILE *__stream) ;
extern int getc (FILE *__stream) ;


extern int getchar (void) ;







extern int getc_unlocked (FILE *__stream) ;
extern int getchar_unlocked (void) ;




extern int fgetc_unlocked (FILE *__stream) ;




extern int fputc (int __c, FILE *__stream) ;
extern int putc (int __c, FILE *__stream) ;


extern int putchar (int __c) ;







extern int fputc_unlocked (int __c, FILE *__stream) ;




extern int putc_unlocked (int __c, FILE *__stream) ;
extern int putchar_unlocked (int __c) ;





extern int getw (FILE *__stream) ;


extern int putw (int __w, FILE *__stream) ;




extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) ;
# 404 "/usr/include/stdio.h" 3
extern char *gets (char *__s) ;
# 428 "/usr/include/stdio.h" 3
extern int fputs (__const char *__restrict __s, FILE *__restrict __stream) ;
# 438 "/usr/include/stdio.h" 3
extern int puts (__const char *__s) ;



extern int ungetc (int __c, FILE *__stream) ;



extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ;


extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s) ;




extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ;

extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ;






extern int fseek (FILE *__stream, long int __off, int __whence) ;

extern long int ftell (FILE *__stream) ;

extern void rewind (FILE *__stream) ;
# 477 "/usr/include/stdio.h" 3
typedef __off_t off_t;
# 499 "/usr/include/stdio.h" 3
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) ;


extern int fsetpos (FILE *__stream, __const fpos_t *__pos) ;
# 536 "/usr/include/stdio.h" 3
extern void clearerr (FILE *__stream) ;

extern int feof (FILE *__stream) ;

extern int ferror (FILE *__stream) ;



extern void clearerr_unlocked (FILE *__stream) ;
extern int feof_unlocked (FILE *__stream) ;
extern int ferror_unlocked (FILE *__stream) ;




extern void perror (__const char *__s) ;




extern int sys_nerr;
extern __const char *__const sys_errlist[];
# 567 "/usr/include/stdio.h" 3
extern int fileno (FILE *__stream) ;




extern int fileno_unlocked (FILE *__stream) ;






extern FILE *popen (__const char *__command, __const char *__modes) ;


extern int pclose (FILE *__stream) ;





extern char *ctermid (char *__s) ;
# 614 "/usr/include/stdio.h" 3
extern void flockfile (FILE *__stream) ;



extern int ftrylockfile (FILE *__stream) ;


extern void funlockfile (FILE *__stream) ;
# 635 "/usr/include/stdio.h" 3
# 1 "/usr/include/bits/stdio.h" 1 3
# 32 "/usr/include/bits/stdio.h" 3
extern __inline int
vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
{
  return vfprintf (stdout, __fmt, __arg);
}


extern __inline int
getchar (void)
{
  return _IO_getc (stdin);
}




extern __inline int
getc_unlocked (FILE *__fp)
{
  return ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
}


extern __inline int
getchar_unlocked (void)
{
  return ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
}




extern __inline int
putchar (int __c)
{
  return _IO_putc (__c, stdout);
}




extern __inline int
fputc_unlocked (int __c, FILE *__stream)
{
  return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
}





extern __inline int
putc_unlocked (int __c, FILE *__stream)
{
  return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
}


extern __inline int
putchar_unlocked (int __c)
{
  return (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
}
# 110 "/usr/include/bits/stdio.h" 3
extern __inline int
feof_unlocked (FILE *__stream)
{
  return (((__stream)->_flags & 0x10) != 0);
}


extern __inline int
ferror_unlocked (FILE *__stream)
{
  return (((__stream)->_flags & 0x20) != 0);
}
# 636 "/usr/include/stdio.h" 2 3
# 64 "/nfs/oz/home/oldham/gcc/gcc5/gcc/tsystem.h" 2


# 1 "/usr/include/sys/types.h" 1 3
# 26 "/usr/include/sys/types.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/sys/types.h" 2 3



# 1 "/usr/include/bits/types.h" 1 3
# 31 "/usr/include/sys/types.h" 2 3


typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;


typedef __loff_t loff_t;



typedef __ino_t ino_t;
# 58 "/usr/include/sys/types.h" 3
typedef __dev_t dev_t;




typedef __gid_t gid_t;




typedef __mode_t mode_t;




typedef __nlink_t nlink_t;




typedef __uid_t uid_t;
# 96 "/usr/include/sys/types.h" 3
typedef __pid_t pid_t;




typedef __id_t id_t;



typedef __ssize_t ssize_t;




typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;



typedef __key_t key_t;






# 1 "/usr/include/time.h" 1 3
# 68 "/usr/include/time.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 69 "/usr/include/time.h" 2 3


typedef __time_t time_t;
# 123 "/usr/include/sys/types.h" 2 3


# 1 "include/stddef.h" 1 3
# 126 "/usr/include/sys/types.h" 2 3



typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 169 "/usr/include/sys/types.h" 3
typedef int int8_t __attribute__ ((__mode__ (__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));


typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));

typedef int register_t __attribute__ ((__mode__ (__word__)));
# 191 "/usr/include/sys/types.h" 3
# 1 "/usr/include/endian.h" 1 3
# 22 "/usr/include/endian.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/endian.h" 2 3
# 35 "/usr/include/endian.h" 3
# 1 "/usr/include/bits/endian.h" 1 3
# 36 "/usr/include/endian.h" 2 3
# 192 "/usr/include/sys/types.h" 2 3


# 1 "/usr/include/sys/select.h" 1 3
# 25 "/usr/include/sys/select.h" 3
# 1 "/usr/include/features.h" 1 3
# 26 "/usr/include/sys/select.h" 2 3


# 1 "/usr/include/bits/types.h" 1 3
# 29 "/usr/include/sys/select.h" 2 3


# 1 "/usr/include/bits/select.h" 1 3
# 32 "/usr/include/sys/select.h" 2 3


# 1 "/usr/include/bits/sigset.h" 1 3
# 35 "/usr/include/sys/select.h" 2 3



# 1 "/usr/include/time.h" 1 3
# 39 "/usr/include/sys/select.h" 2 3







struct timeval;

typedef __fd_mask fd_mask;


typedef __fd_set fd_set;
# 74 "/usr/include/sys/select.h" 3
extern int __select (int __nfds, __fd_set *__readfds, __fd_set *__writefds, __fd_set *__exceptfds, struct timeval *__timeout) ;


extern int select (int __nfds, __fd_set *__readfds, __fd_set *__writefds, __fd_set *__exceptfds, struct timeval *__timeout) ;
# 195 "/usr/include/sys/types.h" 2 3


# 1 "/usr/include/sys/sysmacros.h" 1 3
# 198 "/usr/include/sys/types.h" 2 3





typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
# 67 "/nfs/oz/home/oldham/gcc/gcc5/gcc/tsystem.h" 2


# 1 "/usr/include/errno.h" 1 3
# 29 "/usr/include/errno.h" 3
# 1 "/usr/include/features.h" 1 3
# 30 "/usr/include/errno.h" 2 3






# 1 "/usr/include/bits/errno.h" 1 3
# 25 "/usr/include/bits/errno.h" 3
# 1 "/usr/include/linux/errno.h" 1 3



# 1 "/usr/include/asm/errno.h" 1 3
# 5 "/usr/include/linux/errno.h" 2 3
# 26 "/usr/include/bits/errno.h" 2 3
# 36 "/usr/include/bits/errno.h" 3
extern int errno;


extern int *__errno_location (void) __attribute__ ((__const__));
# 37 "/usr/include/errno.h" 2 3
# 70 "/nfs/oz/home/oldham/gcc/gcc5/gcc/tsystem.h" 2






# 1 "/usr/include/string.h" 1 3
# 26 "/usr/include/string.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/string.h" 2 3






# 1 "include/stddef.h" 1 3
# 34 "/usr/include/string.h" 2 3



extern void * memcpy (void * __restrict __dest, __const void * __restrict __src, size_t __n) ;



extern void * memmove (void * __dest, __const void * __src, size_t __n) ;






extern void * memccpy (void * __dest, __const void * __src, int __c, size_t __n) ;





extern void * memset (void * __s, int __c, size_t __n) ;


extern int memcmp (__const void * __s1, __const void * __s2, size_t __n) ;



extern void * memchr (__const void * __s, int __c, size_t __n) ;
# 71 "/usr/include/string.h" 3
extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) ;


extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ;



extern char *strcat (char *__restrict __dest, __const char *__restrict __src) ;


extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) ;



extern int strcmp (__const char *__s1, __const char *__s2) ;

extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) ;


extern int strcoll (__const char *__s1, __const char *__s2) ;

extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) ;
# 111 "/usr/include/string.h" 3
extern char *__strdup (__const char *__s) ;
extern char *strdup (__const char *__s) ;
# 146 "/usr/include/string.h" 3
extern char *strchr (__const char *__s, int __c) ;

extern char *strrchr (__const char *__s, int __c) ;
# 158 "/usr/include/string.h" 3
extern size_t strcspn (__const char *__s, __const char *__reject) ;


extern size_t strspn (__const char *__s, __const char *__accept) ;

extern char *strpbrk (__const char *__s, __const char *__accept) ;

extern char *strstr (__const char *__haystack, __const char *__needle) ;
# 176 "/usr/include/string.h" 3
extern char *strtok (char *__restrict __s, __const char *__restrict __delim) ;




extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) ;



extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) ;
# 207 "/usr/include/string.h" 3
extern size_t strlen (__const char *__s) ;
# 217 "/usr/include/string.h" 3
extern char *strerror (int __errnum) ;



extern char *__strerror_r (int __errnum, char *__buf, size_t __buflen) ;
extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ;




extern void __bzero (void * __s, size_t __n) ;



extern void bcopy (__const void * __src, void * __dest, size_t __n) ;


extern void bzero (void * __s, size_t __n) ;


extern int bcmp (__const void * __s1, __const void * __s2, size_t __n) ;


extern char *index (__const char *__s, int __c) ;


extern char *rindex (__const char *__s, int __c) ;



extern int __ffs (int __i) __attribute__ ((const));
extern int ffs (int __i) __attribute__ ((const));
# 261 "/usr/include/string.h" 3
extern int __strcasecmp (__const char *__s1, __const char *__s2) ;
extern int strcasecmp (__const char *__s1, __const char *__s2) ;


extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) ;
# 282 "/usr/include/string.h" 3
extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) ;
# 343 "/usr/include/string.h" 3
# 1 "/usr/include/bits/string.h" 1 3
# 344 "/usr/include/string.h" 2 3


# 1 "/usr/include/bits/string2.h" 1 3
# 52 "/usr/include/bits/string2.h" 3
# 1 "/usr/include/endian.h" 1 3
# 53 "/usr/include/bits/string2.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 54 "/usr/include/bits/string2.h" 2 3
# 372 "/usr/include/bits/string2.h" 3
extern void * __rawmemchr (const void * __s, int __c);
# 396 "/usr/include/bits/string2.h" 3
extern __inline char *__strcpy_small (char *, __uint16_t, __uint16_t,
                                      __uint32_t, __uint32_t, size_t);
extern __inline char *
__strcpy_small (char *__dest,
                __uint16_t __src0_2, __uint16_t __src4_2,
                __uint32_t __src0_4, __uint32_t __src4_4,
                size_t __srclen)
{
  union {
    __uint32_t __ui;
    __uint16_t __usi;
    unsigned char __uc;
  } *__u = (void *) __dest;
  switch ((unsigned int) __srclen)
    {
    case 1:
      __u->__uc = '\0';
      break;
    case 2:
      __u->__usi = __src0_2;
      break;
    case 3:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__uc = '\0';
      break;
    case 4:
      __u->__ui = __src0_4;
      break;
    case 5:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__uc = '\0';
      break;
    case 6:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      break;
    case 7:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__uc = '\0';
      break;
    case 8:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__ui = __src4_4;
      break;
    }
  return __dest;
}
# 873 "/usr/include/bits/string2.h" 3
extern __inline size_t __strcspn_c1 (__const char *__s, char __reject);
extern __inline size_t
__strcspn_c1 (__const char *__s, char __reject)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject)
    ++__result;
  return __result;
}

extern __inline size_t __strcspn_c2 (__const char *__s, char __reject1,
                                     char __reject2);
extern __inline size_t
__strcspn_c2 (__const char *__s, char __reject1, char __reject2)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject1
         && __s[__result] != __reject2)
    ++__result;
  return __result;
}

extern __inline size_t __strcspn_c3 (__const char *__s, char __reject1,
                                     char __reject2, char __reject3);
extern __inline size_t
__strcspn_c3 (__const char *__s, char __reject1, char __reject2,
              char __reject3)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject1
         && __s[__result] != __reject2 && __s[__result] != __reject3)
    ++__result;
  return __result;
}
# 928 "/usr/include/bits/string2.h" 3
extern __inline size_t __strspn_c1 (__const char *__s, char __accept);
extern __inline size_t
__strspn_c1 (__const char *__s, char __accept)
{
  register size_t __result = 0;

  while (__s[__result] == __accept)
    ++__result;
  return __result;
}

extern __inline size_t __strspn_c2 (__const char *__s, char __accept1,
                                    char __accept2);
extern __inline size_t
__strspn_c2 (__const char *__s, char __accept1, char __accept2)
{
  register size_t __result = 0;

  while (__s[__result] == __accept1 || __s[__result] == __accept2)
    ++__result;
  return __result;
}

extern __inline size_t __strspn_c3 (__const char *__s, char __accept1,
                                    char __accept2, char __accept3);
extern __inline size_t
__strspn_c3 (__const char *__s, char __accept1, char __accept2, char __accept3)
{
  register size_t __result = 0;

  while (__s[__result] == __accept1 || __s[__result] == __accept2
         || __s[__result] == __accept3)
    ++__result;
  return __result;
}
# 983 "/usr/include/bits/string2.h" 3
extern __inline char *__strpbrk_c2 (__const char *__s, char __accept1,
                                     char __accept2);
extern __inline char *
__strpbrk_c2 (__const char *__s, char __accept1, char __accept2)
{

  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
    ++__s;
  return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
}

extern __inline char *__strpbrk_c3 (__const char *__s, char __accept1,
                                     char __accept2, char __accept3);
extern __inline char *
__strpbrk_c3 (__const char *__s, char __accept1, char __accept2,
              char __accept3)
{

  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
         && *__s != __accept3)
    ++__s;
  return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
}
# 1044 "/usr/include/bits/string2.h" 3
extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
extern __inline char *
__strtok_r_1c (char *__s, char __sep, char **__nextp)
{
  char *__result;
  if (__s == ((void *)0))
    __s = *__nextp;
  while (*__s == __sep)
    ++__s;
  if (*__s == '\0')
    __result = ((void *)0);
  else
    {
      __result = __s;
      while (*__s != '\0' && *__s != __sep)
        ++__s;
      if (*__s == '\0')
        *__nextp = __s;
      else
        {
          *__s = '\0';
          *__nextp = __s + 1;
        }
    }
  return __result;
}
# 1094 "/usr/include/bits/string2.h" 3
extern __inline char *__strsep_1c (char **__s, char __reject);
extern __inline char *
__strsep_1c (char **__s, char __reject)
{
  register char *__retval = *__s;
  if (__retval == ((void *)0))
    return *__s = ((void *)0);
  if (*__retval == __reject)
    *(*__s)++ = '\0';
  else
    if ((*__s = (__extension__ (__builtin_constant_p (__reject) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : strchr (__retval, __reject)))) != ((void *)0))
      *(*__s)++ = '\0';
    else
      *__s = ((void *)0);
  return __retval;
}

extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2);
extern __inline char *
__strsep_2c (char **__s, char __reject1, char __reject2)
{
  register char *__retval = *__s;
  if (__retval == ((void *)0))
    return *__s = ((void *)0);
  if (*__retval == __reject1 || *__retval == __reject2)
    *(*__s)++ = '\0';
  else
    {
      register char *__cp = __retval;
      while (*__cp != '\0' && *__cp != __reject1 && *__cp != __reject2)
        ++__cp;
      if (*__cp != '\0')
        {
          *__s = __cp;
          *(*__s)++ = '\0';
        }
      else
        *__s = ((void *)0);
    }
  return __retval;
}

extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2,
                                   char __reject3);
extern __inline char *
__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
{
  register char *__retval = *__s;
  if (__retval == ((void *)0))
    return *__s = ((void *)0);
  if (*__retval == __reject1 || *__retval == __reject2
      || *__retval == __reject3)
    *(*__s)++ = '\0';
  else
    {
      register char *__cp = __retval;
      while (*__cp != '\0' && *__cp != __reject1 && *__cp != __reject2
             && *__cp != __reject3)
        ++__cp;
      if (*__cp != '\0')
        {
          *__s = __cp;
          *(*__s)++ = '\0';
        }
      else
        *__s = ((void *)0);
    }
  return __retval;
}

extern __inline char *__strsep_g (char **__s, __const char *__reject);
extern __inline char *
__strsep_g (char **__s, __const char *__reject)
{
  register char *__retval = *__s;
  if (__retval == ((void *)0))
    return ((void *)0);
  if ((*__s = __extension__ ({ char __a0, __a1, __a2; (__builtin_constant_p (__reject) && ((size_t)(const void *)((__reject) + 1) - (size_t)(const void *)(__reject) == 1) ? ((__a0 = ((__const char *) (__reject))[0], __a0 == '\0') ? ((void *)0) : ((__a1 = ((__const char *) (__reject))[1], __a1 == '\0') ? (__extension__ (__builtin_constant_p (__a0) && (__a0) == '\0' ? (char *) __rawmemchr (__retval, __a0) : strchr (__retval, __a0))) : ((__a2 = ((__const char *) (__reject))[2], __a2 == '\0') ? __strpbrk_c2 (__retval, __a0, __a1) : (((__const char *) (__reject))[3] == '\0' ? __strpbrk_c3 (__retval, __a0, __a1, __a2) : strpbrk (__retval, __reject))))) : strpbrk (__retval, __reject)); })) != ((void *)0))
    *(*__s)++ = '\0';
  return __retval;
}
# 1187 "/usr/include/bits/string2.h" 3
# 1 "/usr/include/stdlib.h" 1 3
# 25 "/usr/include/stdlib.h" 3
# 1 "/usr/include/features.h" 1 3
# 26 "/usr/include/stdlib.h" 2 3







# 1 "include/stddef.h" 1 3
# 34 "/usr/include/stdlib.h" 2 3
# 474 "/usr/include/stdlib.h" 3
extern void * malloc (size_t __size) ;

extern void * calloc (size_t __nmemb, size_t __size) ;
# 1188 "/usr/include/bits/string2.h" 2 3
# 347 "/usr/include/string.h" 2 3
# 77 "/nfs/oz/home/oldham/gcc/gcc5/gcc/tsystem.h" 2



# 1 "/usr/include/stdlib.h" 1 3
# 25 "/usr/include/stdlib.h" 3
# 1 "/usr/include/features.h" 1 3
# 26 "/usr/include/stdlib.h" 2 3







# 1 "include/stddef.h" 1 3
# 34 "/usr/include/stdlib.h" 2 3







typedef struct
  {
    int quot;
    int rem;
  } div_t;



typedef struct
  {
    long int quot;
    long int rem;
  } ldiv_t;
# 80 "/usr/include/stdlib.h" 3
extern size_t __ctype_get_mb_cur_max (void) ;



extern double atof (__const char *__nptr) ;

extern int atoi (__const char *__nptr) ;

extern long int atol (__const char *__nptr) ;



__extension__ extern long long int atoll (__const char *__nptr) ;



extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) ;
# 109 "/usr/include/stdlib.h" 3
extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ;


extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ;





__extension__
extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ;


__extension__
extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ;
# 132 "/usr/include/stdlib.h" 3
__extension__
extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ;


__extension__
extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ;
# 196 "/usr/include/stdlib.h" 3
extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ;


extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ;

extern long double __strtold_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __group) ;




extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ;





extern unsigned long int __strtoul_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) ;







__extension__
extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ;





__extension__
extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char ** __restrict __endptr, int __base, int __group) ;
# 242 "/usr/include/stdlib.h" 3
extern __inline double
strtod (__const char *__restrict __nptr, char **__restrict __endptr)
{
  return __strtod_internal (__nptr, __endptr, 0);
}
extern __inline long int
strtol (__const char *__restrict __nptr, char **__restrict __endptr,
        int __base)
{
  return __strtol_internal (__nptr, __endptr, __base, 0);
}
extern __inline unsigned long int
strtoul (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)
{
  return __strtoul_internal (__nptr, __endptr, __base, 0);
}
# 274 "/usr/include/stdlib.h" 3
__extension__ extern __inline long long int
strtoq (__const char *__restrict __nptr, char **__restrict __endptr,
        int __base)
{
  return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)
{
  return __strtoull_internal (__nptr, __endptr, __base, 0);
}



__extension__ extern __inline long long int
strtoll (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)
{
  return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtoull (__const char * __restrict __nptr, char **__restrict __endptr,
          int __base)
{
  return __strtoull_internal (__nptr, __endptr, __base, 0);
}


extern __inline double
atof (__const char *__nptr)
{
  return strtod (__nptr, (char **) ((void *)0));
}
extern __inline int
atoi (__const char *__nptr)
{
  return (int) strtol (__nptr, (char **) ((void *)0), 10);
}
extern __inline long int
atol (__const char *__nptr)
{
  return strtol (__nptr, (char **) ((void *)0), 10);
}


__extension__ extern __inline long long int
atoll (__const char *__nptr)
{
  return strtoll (__nptr, (char **) ((void *)0), 10);
}
# 333 "/usr/include/stdlib.h" 3
extern char *l64a (long int __n) ;


extern long int a64l (__const char *__s) ;


# 1 "/usr/include/sys/types.h" 1 3
# 340 "/usr/include/stdlib.h" 2 3






extern int32_t random (void) ;


extern void srandom (unsigned int __seed) ;





extern void * initstate (unsigned int __seed, void * __statebuf, size_t __statelen) ;




extern void * setstate (void * __statebuf) ;







struct random_data
  {
    int32_t *fptr;
    int32_t *rptr;
    int32_t *state;
    int rand_type;
    int rand_deg;
    int rand_sep;
    int32_t *end_ptr;
  };

extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) ;


extern int srandom_r (unsigned int __seed, struct random_data *__buf) ;

extern int initstate_r (unsigned int __seed, void * __restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) ;




extern int setstate_r (void * __restrict __statebuf, struct random_data *__restrict __buf) ;






extern int rand (void) ;

extern void srand (unsigned int __seed) ;



extern int rand_r (unsigned int *__seed) ;







extern double drand48 (void) ;
extern double erand48 (unsigned short int __xsubi[3]) ;


extern long int lrand48 (void) ;
extern long int nrand48 (unsigned short int __xsubi[3]) ;


extern long int mrand48 (void) ;
extern long int jrand48 (unsigned short int __xsubi[3]) ;


extern void srand48 (long int __seedval) ;
extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ;
extern void lcong48 (unsigned short int __param[7]) ;


struct drand48_data
  {
    unsigned short int x[3];
    unsigned short int a[3];
    unsigned short int c;
    unsigned short int old_x[3];
    int init;
  };



extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) ;

extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) ;




extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ;

extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ;




extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ;

extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ;




extern int srand48_r (long int __seedval, struct drand48_data *__buffer) ;

extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) ;


extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) ;
# 482 "/usr/include/stdlib.h" 3
extern void * realloc (void * __ptr, size_t __size) ;

extern void free (void * __ptr) ;



extern void cfree (void * __ptr) ;



# 1 "/usr/include/alloca.h" 1 3
# 22 "/usr/include/alloca.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/alloca.h" 2 3


# 1 "include/stddef.h" 1 3
# 26 "/usr/include/alloca.h" 2 3







extern void * alloca (size_t __size) ;
# 493 "/usr/include/stdlib.h" 2 3




extern void * valloc (size_t __size) ;




extern void abort (void) __attribute__ ((__noreturn__));



extern int atexit (void (*__func) (void)) ;




extern int __on_exit (void (*__func) (int __status, void * __arg), void * __arg) ;

extern int on_exit (void (*__func) (int __status, void * __arg), void * __arg) ;






extern void exit (int __status) __attribute__ ((__noreturn__));
# 530 "/usr/include/stdlib.h" 3
extern char *getenv (__const char *__name) ;



extern char *__secure_getenv (__const char *__name) ;





extern int putenv (char *__string) ;





extern int setenv (__const char *__name, __const char *__value, int __replace) ;



extern void unsetenv (__const char *__name) ;






extern int clearenv (void) ;
# 566 "/usr/include/stdlib.h" 3
extern char *mktemp (char *__template) ;






extern int mkstemp (char *__template) ;




extern int system (__const char *__command) ;
# 595 "/usr/include/stdlib.h" 3
extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) ;







typedef int (*__compar_fn_t) (__const void *, __const void *);
# 612 "/usr/include/stdlib.h" 3
extern void * bsearch (__const void * __key, __const void * __base, size_t __nmemb, size_t __size, __compar_fn_t __compar);





extern void qsort (void * __base, size_t __nmemb, size_t __size, __compar_fn_t __compar);




extern int abs (int __x) __attribute__ ((__const__));
extern long int labs (long int __x) __attribute__ ((__const__));
# 634 "/usr/include/stdlib.h" 3
extern div_t div (int __numer, int __denom) __attribute__ ((__const__));
extern ldiv_t ldiv (long int __numer, long int __denom)
     __attribute__ ((__const__));
# 651 "/usr/include/stdlib.h" 3
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ;





extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ;





extern char *gcvt (double __value, int __ndigit, char *__buf) ;


extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ;

extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ;

extern char *qgcvt (long double __value, int __ndigit, char *__buf) ;





extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ;


extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ;



extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ;


extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ;
# 695 "/usr/include/stdlib.h" 3
extern int mblen (__const char *__s, size_t __n) ;


extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) ;



extern int wctomb (char *__s, wchar_t __wchar) ;



extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) ;


extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) ;
# 718 "/usr/include/stdlib.h" 3
extern int rpmatch (__const char *__response) ;
# 81 "/nfs/oz/home/oldham/gcc/gcc5/gcc/tsystem.h" 2
# 1 "/usr/include/unistd.h" 1 3
# 26 "/usr/include/unistd.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/unistd.h" 2 3
# 175 "/usr/include/unistd.h" 3
# 1 "/usr/include/bits/posix_opt.h" 1 3
# 176 "/usr/include/unistd.h" 2 3
# 190 "/usr/include/unistd.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 191 "/usr/include/unistd.h" 2 3
# 199 "/usr/include/unistd.h" 3
# 1 "include/stddef.h" 1 3
# 200 "/usr/include/unistd.h" 2 3
# 248 "/usr/include/unistd.h" 3
extern int access (__const char *__name, int __type) ;
# 277 "/usr/include/unistd.h" 3
extern __off_t __lseek (int __fd, __off_t __offset, int __whence) ;

extern __off_t lseek (int __fd, __off_t __offset, int __whence) ;
# 295 "/usr/include/unistd.h" 3
extern int __close (int __fd) ;
extern int close (int __fd) ;



extern ssize_t __read (int __fd, void * __buf, size_t __nbytes) ;
extern ssize_t read (int __fd, void * __buf, size_t __nbytes) ;


extern ssize_t __write (int __fd, __const void * __buf, size_t __n) ;
extern ssize_t write (int __fd, __const void * __buf, size_t __n) ;
# 349 "/usr/include/unistd.h" 3
extern int pipe (int __pipedes[2]) ;
# 358 "/usr/include/unistd.h" 3
extern unsigned int alarm (unsigned int __seconds) ;
# 367 "/usr/include/unistd.h" 3
extern unsigned int sleep (unsigned int __seconds) ;






extern unsigned int ualarm (unsigned int __value, unsigned int __interval) ;




extern void usleep (unsigned int __useconds) ;





extern int pause (void) ;



extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) ;




extern int fchown (int __fd, __uid_t __owner, __gid_t __group) ;




extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) ;





extern int chdir (__const char *__path) ;



extern int fchdir (int __fd) ;
# 419 "/usr/include/unistd.h" 3
extern char *getcwd (char *__buf, size_t __size) ;
# 432 "/usr/include/unistd.h" 3
extern char *getwd (char *__buf) ;




extern int dup (int __fd) ;


extern int dup2 (int __fd, int __fd2) ;


extern char **__environ;







extern int execve (__const char *__path, char *__const __argv[], char *__const __envp[]) ;
# 464 "/usr/include/unistd.h" 3
extern int execv (__const char *__path, char *__const __argv[]) ;



extern int execle (__const char *__path, __const char *__arg, ...) ;



extern int execl (__const char *__path, __const char *__arg, ...) ;



extern int execvp (__const char *__file, char *__const __argv[]) ;




extern int execlp (__const char *__file, __const char *__arg, ...) ;




extern int nice (int __inc) ;




extern void _exit (int __status) __attribute__ ((__noreturn__));





# 1 "/usr/include/bits/confname.h" 1 3
# 25 "/usr/include/bits/confname.h" 3
enum
  {
    _PC_LINK_MAX,

    _PC_MAX_CANON,

    _PC_MAX_INPUT,

    _PC_NAME_MAX,

    _PC_PATH_MAX,

    _PC_PIPE_BUF,

    _PC_CHOWN_RESTRICTED,

    _PC_NO_TRUNC,

    _PC_VDISABLE,

    _PC_SYNC_IO,

    _PC_ASYNC_IO,

    _PC_PRIO_IO,

    _PC_SOCK_MAXBUF,

    _PC_FILESIZEBITS

  };


enum
  {
    _SC_ARG_MAX,

    _SC_CHILD_MAX,

    _SC_CLK_TCK,

    _SC_NGROUPS_MAX,

    _SC_OPEN_MAX,

    _SC_STREAM_MAX,

    _SC_TZNAME_MAX,

    _SC_JOB_CONTROL,

    _SC_SAVED_IDS,

    _SC_REALTIME_SIGNALS,

    _SC_PRIORITY_SCHEDULING,

    _SC_TIMERS,

    _SC_ASYNCHRONOUS_IO,

    _SC_PRIORITIZED_IO,

    _SC_SYNCHRONIZED_IO,

    _SC_FSYNC,

    _SC_MAPPED_FILES,

    _SC_MEMLOCK,

    _SC_MEMLOCK_RANGE,

    _SC_MEMORY_PROTECTION,

    _SC_MESSAGE_PASSING,

    _SC_SEMAPHORES,

    _SC_SHARED_MEMORY_OBJECTS,

    _SC_AIO_LISTIO_MAX,

    _SC_AIO_MAX,

    _SC_AIO_PRIO_DELTA_MAX,

    _SC_DELAYTIMER_MAX,

    _SC_MQ_OPEN_MAX,

    _SC_MQ_PRIO_MAX,

    _SC_VERSION,

    _SC_PAGESIZE,


    _SC_RTSIG_MAX,

    _SC_SEM_NSEMS_MAX,

    _SC_SEM_VALUE_MAX,

    _SC_SIGQUEUE_MAX,

    _SC_TIMER_MAX,




    _SC_BC_BASE_MAX,

    _SC_BC_DIM_MAX,

    _SC_BC_SCALE_MAX,

    _SC_BC_STRING_MAX,

    _SC_COLL_WEIGHTS_MAX,

    _SC_EQUIV_CLASS_MAX,

    _SC_EXPR_NEST_MAX,

    _SC_LINE_MAX,

    _SC_RE_DUP_MAX,

    _SC_CHARCLASS_NAME_MAX,


    _SC_2_VERSION,

    _SC_2_C_BIND,

    _SC_2_C_DEV,

    _SC_2_FORT_DEV,

    _SC_2_FORT_RUN,

    _SC_2_SW_DEV,

    _SC_2_LOCALEDEF,


    _SC_PII,

    _SC_PII_XTI,

    _SC_PII_SOCKET,

    _SC_PII_INTERNET,

    _SC_PII_OSI,

    _SC_POLL,

    _SC_SELECT,

    _SC_UIO_MAXIOV,

    _SC_PII_INTERNET_STREAM,

    _SC_PII_INTERNET_DGRAM,

    _SC_PII_OSI_COTS,

    _SC_PII_OSI_CLTS,

    _SC_PII_OSI_M,

    _SC_T_IOV_MAX,



    _SC_THREADS,

    _SC_THREAD_SAFE_FUNCTIONS,

    _SC_GETGR_R_SIZE_MAX,

    _SC_GETPW_R_SIZE_MAX,

    _SC_LOGIN_NAME_MAX,

    _SC_TTY_NAME_MAX,

    _SC_THREAD_DESTRUCTOR_ITERATIONS,

    _SC_THREAD_KEYS_MAX,

    _SC_THREAD_STACK_MIN,

    _SC_THREAD_THREADS_MAX,

    _SC_THREAD_ATTR_STACKADDR,

    _SC_THREAD_ATTR_STACKSIZE,

    _SC_THREAD_PRIORITY_SCHEDULING,

    _SC_THREAD_PRIO_INHERIT,

    _SC_THREAD_PRIO_PROTECT,

    _SC_THREAD_PROCESS_SHARED,


    _SC_NPROCESSORS_CONF,

    _SC_NPROCESSORS_ONLN,

    _SC_PHYS_PAGES,

    _SC_AVPHYS_PAGES,

    _SC_ATEXIT_MAX,

    _SC_PASS_MAX,


    _SC_XOPEN_VERSION,

    _SC_XOPEN_XCU_VERSION,

    _SC_XOPEN_UNIX,

    _SC_XOPEN_CRYPT,

    _SC_XOPEN_ENH_I18N,

    _SC_XOPEN_SHM,


    _SC_2_CHAR_TERM,

    _SC_2_C_VERSION,

    _SC_2_UPE,


    _SC_XOPEN_XPG2,

    _SC_XOPEN_XPG3,

    _SC_XOPEN_XPG4,


    _SC_CHAR_BIT,

    _SC_CHAR_MAX,

    _SC_CHAR_MIN,

    _SC_INT_MAX,

    _SC_INT_MIN,

    _SC_LONG_BIT,

    _SC_WORD_BIT,

    _SC_MB_LEN_MAX,

    _SC_NZERO,

    _SC_SSIZE_MAX,

    _SC_SCHAR_MAX,

    _SC_SCHAR_MIN,

    _SC_SHRT_MAX,

    _SC_SHRT_MIN,

    _SC_UCHAR_MAX,

    _SC_UINT_MAX,

    _SC_ULONG_MAX,

    _SC_USHRT_MAX,


    _SC_NL_ARGMAX,

    _SC_NL_LANGMAX,

    _SC_NL_MSGMAX,

    _SC_NL_NMAX,

    _SC_NL_SETMAX,

    _SC_NL_TEXTMAX,


    _SC_XBS5_ILP32_OFF32,

    _SC_XBS5_ILP32_OFFBIG,

    _SC_XBS5_LP64_OFF64,

    _SC_XBS5_LPBIG_OFFBIG,


    _SC_XOPEN_LEGACY,

    _SC_XOPEN_REALTIME,

    _SC_XOPEN_REALTIME_THREADS

  };





enum
  {
    _CS_PATH
# 407 "/usr/include/bits/confname.h" 3
  };
# 498 "/usr/include/unistd.h" 2 3


extern long int pathconf (__const char *__path, int __name) ;


extern long int fpathconf (int __fd, int __name) ;


extern long int sysconf (int __name) ;



extern size_t confstr (int __name, char *__buf, size_t __len) ;




extern __pid_t __getpid (void) ;
extern __pid_t getpid (void) ;


extern __pid_t getppid (void) ;




extern __pid_t getpgrp (void) ;
# 534 "/usr/include/unistd.h" 3
extern __pid_t __getpgid (__pid_t __pid) ;
# 543 "/usr/include/unistd.h" 3
extern int __setpgid (__pid_t __pid, __pid_t __pgid) ;
extern int setpgid (__pid_t __pid, __pid_t __pgid) ;
# 561 "/usr/include/unistd.h" 3
extern int setpgrp (void) ;
# 579 "/usr/include/unistd.h" 3
extern __pid_t setsid (void) ;







extern __uid_t getuid (void) ;


extern __uid_t geteuid (void) ;


extern __gid_t getgid (void) ;


extern __gid_t getegid (void) ;




extern int getgroups (int __size, __gid_t __list[]) ;
# 612 "/usr/include/unistd.h" 3
extern int setuid (__uid_t __uid) ;




extern int setreuid (__uid_t __ruid, __uid_t __euid) ;




extern int seteuid (__uid_t __uid) ;






extern int setgid (__gid_t __gid) ;




extern int setregid (__gid_t __rgid, __gid_t __egid) ;




extern int setegid (__gid_t __gid) ;






extern __pid_t __fork (void) ;
extern __pid_t fork (void) ;






extern __pid_t vfork (void) ;





extern char *ttyname (int __fd) ;



extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ;



extern int isatty (int __fd) ;




extern int ttyslot (void) ;




extern int link (__const char *__from, __const char *__to) ;



extern int symlink (__const char *__from, __const char *__to) ;




extern int readlink (__const char *__path, char *__buf, size_t __len) ;



extern int unlink (__const char *__name) ;


extern int rmdir (__const char *__path) ;



extern __pid_t tcgetpgrp (int __fd) ;


extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ;



extern char *getlogin (void) ;
# 715 "/usr/include/unistd.h" 3
extern int setlogin (__const char *__name) ;
# 724 "/usr/include/unistd.h" 3
# 1 "/nfs/oz/home/oldham/gcc/gcc5/include/getopt.h" 1 3
# 36 "/nfs/oz/home/oldham/gcc/gcc5/include/getopt.h" 3
extern char *optarg;
# 50 "/nfs/oz/home/oldham/gcc/gcc5/include/getopt.h" 3
extern int optind;




extern int opterr;



extern int optopt;
# 82 "/nfs/oz/home/oldham/gcc/gcc5/include/getopt.h" 3
struct option
{

  const char *name;





  int has_arg;
  int *flag;
  int val;
};
# 112 "/nfs/oz/home/oldham/gcc/gcc5/include/getopt.h" 3
extern int getopt (int argc, char *const *argv, const char *shortopts);





extern int getopt_long (int argc, char *const *argv, const char *shortopts,
                        const struct option *longopts, int *longind);
extern int getopt_long_only (int argc, char *const *argv,
                             const char *shortopts,
                             const struct option *longopts, int *longind);


extern int _getopt_internal (int argc, char *const *argv,
                             const char *shortopts,
                             const struct option *longopts, int *longind,
                             int long_only);
# 725 "/usr/include/unistd.h" 2 3
# 733 "/usr/include/unistd.h" 3
extern int gethostname (char *__name, size_t __len) ;



extern int sethostname (__const char *__name, size_t __len) ;



extern int sethostid (long int __id) ;





extern int getdomainname (char *__name, size_t __len) ;
extern int setdomainname (__const char *__name, size_t __len) ;



extern int fsync (int __fd) ;





extern int vhangup (void) ;


extern int revoke (__const char *__file) ;







extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) ;






extern int acct (__const char *__name) ;



extern int chroot (__const char *__path) ;



extern char *getusershell (void) ;
extern void endusershell (void) ;
extern void setusershell (void) ;




extern char *getpass (__const char *__prompt) ;




extern int daemon (int __nochdir, int __noclose) ;







extern long int gethostid (void) ;


extern int sync (void) ;




extern int __getpagesize (void) __attribute__ ((__const__));
extern int getpagesize (void) __attribute__ ((__const__));




extern int truncate (__const char *__file, __off_t __length) ;
# 833 "/usr/include/unistd.h" 3
extern int __ftruncate (int __fd, __off_t __length) ;

extern int ftruncate (int __fd, __off_t __length) ;
# 851 "/usr/include/unistd.h" 3
extern int getdtablesize (void) ;
# 860 "/usr/include/unistd.h" 3
extern int brk (void * __addr) ;


# 1 "include/stddef.h" 1 3
# 864 "/usr/include/unistd.h" 2 3





extern void * __sbrk (ptrdiff_t __delta) ;
extern void * sbrk (ptrdiff_t __delta) ;
# 885 "/usr/include/unistd.h" 3
extern long int syscall (long int __sysno, ...) ;
# 905 "/usr/include/unistd.h" 3
extern int lockf (int __fd, int __cmd, __off_t __len) ;
# 945 "/usr/include/unistd.h" 3
extern int fdatasync (int __fildes) ;
# 999 "/usr/include/unistd.h" 3
extern int pthread_atfork (void (*__prepare) (void), void (*__parent) (void), void (*__child) (void)) ;
# 82 "/nfs/oz/home/oldham/gcc/gcc5/gcc/tsystem.h" 2


# 1 "include/limits.h" 1 3
# 11 "include/limits.h" 3
# 1 "include/syslimits.h" 1 3






# 1 "include/limits.h" 1 3
# 134 "include/limits.h" 3
# 1 "/nfs/oz/home/oldham/gcc-install/gcc5/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/limits.h" 1 3
# 130 "/nfs/oz/home/oldham/gcc-install/gcc5/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/limits.h" 3
# 1 "/usr/include/limits.h" 1 3
# 26 "/usr/include/limits.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/limits.h" 2 3



# 1 "/usr/include/bits/posix1_lim.h" 1 3
# 126 "/usr/include/bits/posix1_lim.h" 3
# 1 "/usr/include/bits/local_lim.h" 1 3
# 27 "/usr/include/bits/local_lim.h" 3
# 1 "/nfs/oz/home/oldham/gcc-install/gcc5/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/linux/limits.h" 1 3
# 130 "/nfs/oz/home/oldham/gcc-install/gcc5/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/linux/limits.h" 3
# 1 "/usr/include/limits.h" 1 3
# 131 "/nfs/oz/home/oldham/gcc-install/gcc5/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/linux/limits.h" 2 3
# 28 "/usr/include/bits/local_lim.h" 2 3
# 127 "/usr/include/bits/posix1_lim.h" 2 3
# 31 "/usr/include/limits.h" 2 3



# 1 "/usr/include/bits/posix2_lim.h" 1 3
# 35 "/usr/include/limits.h" 2 3
# 131 "/nfs/oz/home/oldham/gcc-install/gcc5/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/limits.h" 2 3
# 135 "include/limits.h" 2 3
# 8 "include/syslimits.h" 2 3
# 12 "include/limits.h" 2 3
# 85 "/nfs/oz/home/oldham/gcc/gcc5/gcc/tsystem.h" 2


# 1 "/usr/include/time.h" 1 3
# 28 "/usr/include/time.h" 3
# 1 "/usr/include/features.h" 1 3
# 29 "/usr/include/time.h" 2 3
# 38 "/usr/include/time.h" 3
# 1 "include/stddef.h" 1 3
# 39 "/usr/include/time.h" 2 3



# 1 "/usr/include/bits/time.h" 1 3
# 43 "/usr/include/time.h" 2 3
# 57 "/usr/include/time.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 58 "/usr/include/time.h" 2 3


typedef __clock_t clock_t;
# 95 "/usr/include/time.h" 3
struct tm
{
  int tm_sec;
  int tm_min;
  int tm_hour;
  int tm_mday;
  int tm_mon;
  int tm_year;
  int tm_wday;
  int tm_yday;
  int tm_isdst;


  long int tm_gmtoff;
  __const char *tm_zone;




};




extern clock_t clock (void) ;


extern time_t time (time_t *__timer) ;


extern double difftime (time_t __time1, time_t __time0)
     __attribute__ ((__const__));


extern time_t mktime (struct tm *__tp) ;





extern size_t strftime (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp) ;
# 149 "/usr/include/time.h" 3
extern struct tm *gmtime (__const time_t *__timer) ;



extern struct tm *localtime (__const time_t *__timer) ;




extern struct tm *__gmtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) ;

extern struct tm *gmtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) ;




extern struct tm *localtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) ;





extern char *asctime (__const struct tm *__tp) ;


extern char *ctime (__const time_t *__timer) ;






extern char *asctime_r (__const struct tm *__restrict __tp, char *__restrict __buf) ;



extern char *ctime_r (__const time_t *__restrict __timer, char *__restrict __buf) ;





extern char *__tzname[2];
extern int __daylight;
extern long int __timezone;




extern char *tzname[2];



extern void tzset (void) ;



extern int daylight;
extern long int timezone;





extern int stime (__const time_t *__when) ;
# 228 "/usr/include/time.h" 3
extern time_t timegm (struct tm *__tp) ;


extern time_t timelocal (struct tm *__tp) ;


extern int dysize (int __year) ;





extern int nanosleep (__const struct timespec *__requested_time, struct timespec *__remaining) ;
# 88 "/nfs/oz/home/oldham/gcc/gcc5/gcc/tsystem.h" 2
# 23 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c" 2
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/dwarf2.h" 1
# 36 "/nfs/oz/home/oldham/gcc/gcc5/gcc/dwarf2.h"
enum dwarf_tag
  {
    DW_TAG_padding = 0x00,
    DW_TAG_array_type = 0x01,
    DW_TAG_class_type = 0x02,
    DW_TAG_entry_point = 0x03,
    DW_TAG_enumeration_type = 0x04,
    DW_TAG_formal_parameter = 0x05,
    DW_TAG_imported_declaration = 0x08,
    DW_TAG_label = 0x0a,
    DW_TAG_lexical_block = 0x0b,
    DW_TAG_member = 0x0d,
    DW_TAG_pointer_type = 0x0f,
    DW_TAG_reference_type = 0x10,
    DW_TAG_compile_unit = 0x11,
    DW_TAG_string_type = 0x12,
    DW_TAG_structure_type = 0x13,
    DW_TAG_subroutine_type = 0x15,
    DW_TAG_typedef = 0x16,
    DW_TAG_union_type = 0x17,
    DW_TAG_unspecified_parameters = 0x18,
    DW_TAG_variant = 0x19,
    DW_TAG_common_block = 0x1a,
    DW_TAG_common_inclusion = 0x1b,
    DW_TAG_inheritance = 0x1c,
    DW_TAG_inlined_subroutine = 0x1d,
    DW_TAG_module = 0x1e,
    DW_TAG_ptr_to_member_type = 0x1f,
    DW_TAG_set_type = 0x20,
    DW_TAG_subrange_type = 0x21,
    DW_TAG_with_stmt = 0x22,
    DW_TAG_access_declaration = 0x23,
    DW_TAG_base_type = 0x24,
    DW_TAG_catch_block = 0x25,
    DW_TAG_const_type = 0x26,
    DW_TAG_constant = 0x27,
    DW_TAG_enumerator = 0x28,
    DW_TAG_file_type = 0x29,
    DW_TAG_friend = 0x2a,
    DW_TAG_namelist = 0x2b,
    DW_TAG_namelist_item = 0x2c,
    DW_TAG_packed_type = 0x2d,
    DW_TAG_subprogram = 0x2e,
    DW_TAG_template_type_param = 0x2f,
    DW_TAG_template_value_param = 0x30,
    DW_TAG_thrown_type = 0x31,
    DW_TAG_try_block = 0x32,
    DW_TAG_variant_part = 0x33,
    DW_TAG_variable = 0x34,
    DW_TAG_volatile_type = 0x35,

    DW_TAG_dwarf_procedure = 0x36,
    DW_TAG_restrict_type = 0x37,
    DW_TAG_interface_type = 0x38,
    DW_TAG_namespace = 0x39,
    DW_TAG_imported_module = 0x3a,
    DW_TAG_unspecified_type = 0x3b,
    DW_TAG_partial_unit = 0x3c,
    DW_TAG_imported_unit = 0x3d,

    DW_TAG_MIPS_loop = 0x4081,

    DW_TAG_format_label = 0x4101,
    DW_TAG_function_template = 0x4102,
    DW_TAG_class_template = 0x4103,
    DW_TAG_GNU_BINCL = 0x4104,
    DW_TAG_GNU_EINCL = 0x4105
  };
# 113 "/nfs/oz/home/oldham/gcc/gcc5/gcc/dwarf2.h"
enum dwarf_form
  {
    DW_FORM_addr = 0x01,
    DW_FORM_block2 = 0x03,
    DW_FORM_block4 = 0x04,
    DW_FORM_data2 = 0x05,
    DW_FORM_data4 = 0x06,
    DW_FORM_data8 = 0x07,
    DW_FORM_string = 0x08,
    DW_FORM_block = 0x09,
    DW_FORM_block1 = 0x0a,
    DW_FORM_data1 = 0x0b,
    DW_FORM_flag = 0x0c,
    DW_FORM_sdata = 0x0d,
    DW_FORM_strp = 0x0e,
    DW_FORM_udata = 0x0f,
    DW_FORM_ref_addr = 0x10,
    DW_FORM_ref1 = 0x11,
    DW_FORM_ref2 = 0x12,
    DW_FORM_ref4 = 0x13,
    DW_FORM_ref8 = 0x14,
    DW_FORM_ref_udata = 0x15,
    DW_FORM_indirect = 0x16
  };



enum dwarf_attribute
  {
    DW_AT_sibling = 0x01,
    DW_AT_location = 0x02,
    DW_AT_name = 0x03,
    DW_AT_ordering = 0x09,
    DW_AT_subscr_data = 0x0a,
    DW_AT_byte_size = 0x0b,
    DW_AT_bit_offset = 0x0c,
    DW_AT_bit_size = 0x0d,
    DW_AT_element_list = 0x0f,
    DW_AT_stmt_list = 0x10,
    DW_AT_low_pc = 0x11,
    DW_AT_high_pc = 0x12,
    DW_AT_language = 0x13,
    DW_AT_member = 0x14,
    DW_AT_discr = 0x15,
    DW_AT_discr_value = 0x16,
    DW_AT_visibility = 0x17,
    DW_AT_import = 0x18,
    DW_AT_string_length = 0x19,
    DW_AT_common_reference = 0x1a,
    DW_AT_comp_dir = 0x1b,
    DW_AT_const_value = 0x1c,
    DW_AT_containing_type = 0x1d,
    DW_AT_default_value = 0x1e,
    DW_AT_inline = 0x20,
    DW_AT_is_optional = 0x21,
    DW_AT_lower_bound = 0x22,
    DW_AT_producer = 0x25,
    DW_AT_prototyped = 0x27,
    DW_AT_return_addr = 0x2a,
    DW_AT_start_scope = 0x2c,
    DW_AT_stride_size = 0x2e,
    DW_AT_upper_bound = 0x2f,
    DW_AT_abstract_origin = 0x31,
    DW_AT_accessibility = 0x32,
    DW_AT_address_class = 0x33,
    DW_AT_artificial = 0x34,
    DW_AT_base_types = 0x35,
    DW_AT_calling_convention = 0x36,
    DW_AT_count = 0x37,
    DW_AT_data_member_location = 0x38,
    DW_AT_decl_column = 0x39,
    DW_AT_decl_file = 0x3a,
    DW_AT_decl_line = 0x3b,
    DW_AT_declaration = 0x3c,
    DW_AT_discr_list = 0x3d,
    DW_AT_encoding = 0x3e,
    DW_AT_external = 0x3f,
    DW_AT_frame_base = 0x40,
    DW_AT_friend = 0x41,
    DW_AT_identifier_case = 0x42,
    DW_AT_macro_info = 0x43,
    DW_AT_namelist_items = 0x44,
    DW_AT_priority = 0x45,
    DW_AT_segment = 0x46,
    DW_AT_specification = 0x47,
    DW_AT_static_link = 0x48,
    DW_AT_type = 0x49,
    DW_AT_use_location = 0x4a,
    DW_AT_variable_parameter = 0x4b,
    DW_AT_virtuality = 0x4c,
    DW_AT_vtable_elem_location = 0x4d,

    DW_AT_allocated = 0x4e,
    DW_AT_associated = 0x4f,
    DW_AT_data_location = 0x50,
    DW_AT_stride = 0x51,
    DW_AT_entry_pc = 0x52,
    DW_AT_use_UTF8 = 0x53,
    DW_AT_extension = 0x54,
    DW_AT_ranges = 0x55,
    DW_AT_trampoline = 0x56,
    DW_AT_call_column = 0x57,
    DW_AT_call_file = 0x58,
    DW_AT_call_line = 0x59,

    DW_AT_MIPS_fde = 0x2001,
    DW_AT_MIPS_loop_begin = 0x2002,
    DW_AT_MIPS_tail_loop_begin = 0x2003,
    DW_AT_MIPS_epilog_begin = 0x2004,
    DW_AT_MIPS_loop_unroll_factor = 0x2005,
    DW_AT_MIPS_software_pipeline_depth = 0x2006,
    DW_AT_MIPS_linkage_name = 0x2007,
    DW_AT_MIPS_stride = 0x2008,
    DW_AT_MIPS_abstract_name = 0x2009,
    DW_AT_MIPS_clone_origin = 0x200a,
    DW_AT_MIPS_has_inlines = 0x200b,

    DW_AT_sf_names = 0x2101,
    DW_AT_src_info = 0x2102,
    DW_AT_mac_info = 0x2103,
    DW_AT_src_coords = 0x2104,
    DW_AT_body_begin = 0x2105,
    DW_AT_body_end = 0x2106
  };






enum dwarf_location_atom
  {
    DW_OP_addr = 0x03,
    DW_OP_deref = 0x06,
    DW_OP_const1u = 0x08,
    DW_OP_const1s = 0x09,
    DW_OP_const2u = 0x0a,
    DW_OP_const2s = 0x0b,
    DW_OP_const4u = 0x0c,
    DW_OP_const4s = 0x0d,
    DW_OP_const8u = 0x0e,
    DW_OP_const8s = 0x0f,
    DW_OP_constu = 0x10,
    DW_OP_consts = 0x11,
    DW_OP_dup = 0x12,
    DW_OP_drop = 0x13,
    DW_OP_over = 0x14,
    DW_OP_pick = 0x15,
    DW_OP_swap = 0x16,
    DW_OP_rot = 0x17,
    DW_OP_xderef = 0x18,
    DW_OP_abs = 0x19,
    DW_OP_and = 0x1a,
    DW_OP_div = 0x1b,
    DW_OP_minus = 0x1c,
    DW_OP_mod = 0x1d,
    DW_OP_mul = 0x1e,
    DW_OP_neg = 0x1f,
    DW_OP_not = 0x20,
    DW_OP_or = 0x21,
    DW_OP_plus = 0x22,
    DW_OP_plus_uconst = 0x23,
    DW_OP_shl = 0x24,
    DW_OP_shr = 0x25,
    DW_OP_shra = 0x26,
    DW_OP_xor = 0x27,
    DW_OP_bra = 0x28,
    DW_OP_eq = 0x29,
    DW_OP_ge = 0x2a,
    DW_OP_gt = 0x2b,
    DW_OP_le = 0x2c,
    DW_OP_lt = 0x2d,
    DW_OP_ne = 0x2e,
    DW_OP_skip = 0x2f,
    DW_OP_lit0 = 0x30,
    DW_OP_lit1 = 0x31,
    DW_OP_lit2 = 0x32,
    DW_OP_lit3 = 0x33,
    DW_OP_lit4 = 0x34,
    DW_OP_lit5 = 0x35,
    DW_OP_lit6 = 0x36,
    DW_OP_lit7 = 0x37,
    DW_OP_lit8 = 0x38,
    DW_OP_lit9 = 0x39,
    DW_OP_lit10 = 0x3a,
    DW_OP_lit11 = 0x3b,
    DW_OP_lit12 = 0x3c,
    DW_OP_lit13 = 0x3d,
    DW_OP_lit14 = 0x3e,
    DW_OP_lit15 = 0x3f,
    DW_OP_lit16 = 0x40,
    DW_OP_lit17 = 0x41,
    DW_OP_lit18 = 0x42,
    DW_OP_lit19 = 0x43,
    DW_OP_lit20 = 0x44,
    DW_OP_lit21 = 0x45,
    DW_OP_lit22 = 0x46,
    DW_OP_lit23 = 0x47,
    DW_OP_lit24 = 0x48,
    DW_OP_lit25 = 0x49,
    DW_OP_lit26 = 0x4a,
    DW_OP_lit27 = 0x4b,
    DW_OP_lit28 = 0x4c,
    DW_OP_lit29 = 0x4d,
    DW_OP_lit30 = 0x4e,
    DW_OP_lit31 = 0x4f,
    DW_OP_reg0 = 0x50,
    DW_OP_reg1 = 0x51,
    DW_OP_reg2 = 0x52,
    DW_OP_reg3 = 0x53,
    DW_OP_reg4 = 0x54,
    DW_OP_reg5 = 0x55,
    DW_OP_reg6 = 0x56,
    DW_OP_reg7 = 0x57,
    DW_OP_reg8 = 0x58,
    DW_OP_reg9 = 0x59,
    DW_OP_reg10 = 0x5a,
    DW_OP_reg11 = 0x5b,
    DW_OP_reg12 = 0x5c,
    DW_OP_reg13 = 0x5d,
    DW_OP_reg14 = 0x5e,
    DW_OP_reg15 = 0x5f,
    DW_OP_reg16 = 0x60,
    DW_OP_reg17 = 0x61,
    DW_OP_reg18 = 0x62,
    DW_OP_reg19 = 0x63,
    DW_OP_reg20 = 0x64,
    DW_OP_reg21 = 0x65,
    DW_OP_reg22 = 0x66,
    DW_OP_reg23 = 0x67,
    DW_OP_reg24 = 0x68,
    DW_OP_reg25 = 0x69,
    DW_OP_reg26 = 0x6a,
    DW_OP_reg27 = 0x6b,
    DW_OP_reg28 = 0x6c,
    DW_OP_reg29 = 0x6d,
    DW_OP_reg30 = 0x6e,
    DW_OP_reg31 = 0x6f,
    DW_OP_breg0 = 0x70,
    DW_OP_breg1 = 0x71,
    DW_OP_breg2 = 0x72,
    DW_OP_breg3 = 0x73,
    DW_OP_breg4 = 0x74,
    DW_OP_breg5 = 0x75,
    DW_OP_breg6 = 0x76,
    DW_OP_breg7 = 0x77,
    DW_OP_breg8 = 0x78,
    DW_OP_breg9 = 0x79,
    DW_OP_breg10 = 0x7a,
    DW_OP_breg11 = 0x7b,
    DW_OP_breg12 = 0x7c,
    DW_OP_breg13 = 0x7d,
    DW_OP_breg14 = 0x7e,
    DW_OP_breg15 = 0x7f,
    DW_OP_breg16 = 0x80,
    DW_OP_breg17 = 0x81,
    DW_OP_breg18 = 0x82,
    DW_OP_breg19 = 0x83,
    DW_OP_breg20 = 0x84,
    DW_OP_breg21 = 0x85,
    DW_OP_breg22 = 0x86,
    DW_OP_breg23 = 0x87,
    DW_OP_breg24 = 0x88,
    DW_OP_breg25 = 0x89,
    DW_OP_breg26 = 0x8a,
    DW_OP_breg27 = 0x8b,
    DW_OP_breg28 = 0x8c,
    DW_OP_breg29 = 0x8d,
    DW_OP_breg30 = 0x8e,
    DW_OP_breg31 = 0x8f,
    DW_OP_regx = 0x90,
    DW_OP_fbreg = 0x91,
    DW_OP_bregx = 0x92,
    DW_OP_piece = 0x93,
    DW_OP_deref_size = 0x94,
    DW_OP_xderef_size = 0x95,
    DW_OP_nop = 0x96,

    DW_OP_push_object_address = 0x97,
    DW_OP_call2 = 0x98,
    DW_OP_call4 = 0x99,
    DW_OP_calli = 0x9a
  };






enum dwarf_type
  {
    DW_ATE_void = 0x0,
    DW_ATE_address = 0x1,
    DW_ATE_boolean = 0x2,
    DW_ATE_complex_float = 0x3,
    DW_ATE_float = 0x4,
    DW_ATE_signed = 0x5,
    DW_ATE_signed_char = 0x6,
    DW_ATE_unsigned = 0x7,
    DW_ATE_unsigned_char = 0x8,

    DW_ATE_imaginary_float = 0x9
  };





enum dwarf_array_dim_ordering
  {
    DW_ORD_row_major = 0,
    DW_ORD_col_major = 1
  };


enum dwarf_access_attribute
  {
    DW_ACCESS_public = 1,
    DW_ACCESS_protected = 2,
    DW_ACCESS_private = 3
  };


enum dwarf_visibility_attribute
  {
    DW_VIS_local = 1,
    DW_VIS_exported = 2,
    DW_VIS_qualified = 3
  };


enum dwarf_virtuality_attribute
  {
    DW_VIRTUALITY_none = 0,
    DW_VIRTUALITY_virtual = 1,
    DW_VIRTUALITY_pure_virtual = 2
  };


enum dwarf_id_case
  {
    DW_ID_case_sensitive = 0,
    DW_ID_up_case = 1,
    DW_ID_down_case = 2,
    DW_ID_case_insensitive = 3
  };


enum dwarf_calling_convention
  {
    DW_CC_normal = 0x1,
    DW_CC_program = 0x2,
    DW_CC_nocall = 0x3
  };





enum dwarf_inline_attribute
  {
    DW_INL_not_inlined = 0,
    DW_INL_inlined = 1,
    DW_INL_declared_not_inlined = 2,
    DW_INL_declared_inlined = 3
  };


enum dwarf_discrim_list
  {
    DW_DSC_label = 0,
    DW_DSC_range = 1
  };


enum dwarf_line_number_ops
  {
    DW_LNS_extended_op = 0,
    DW_LNS_copy = 1,
    DW_LNS_advance_pc = 2,
    DW_LNS_advance_line = 3,
    DW_LNS_set_file = 4,
    DW_LNS_set_column = 5,
    DW_LNS_negate_stmt = 6,
    DW_LNS_set_basic_block = 7,
    DW_LNS_const_add_pc = 8,
    DW_LNS_fixed_advance_pc = 9
  };


enum dwarf_line_number_x_ops
  {
    DW_LNE_end_sequence = 1,
    DW_LNE_set_address = 2,
    DW_LNE_define_file = 3
  };


enum dwarf_call_frame_info
  {
    DW_CFA_advance_loc = 0x40,
    DW_CFA_offset = 0x80,
    DW_CFA_restore = 0xc0,
    DW_CFA_nop = 0x00,
    DW_CFA_set_loc = 0x01,
    DW_CFA_advance_loc1 = 0x02,
    DW_CFA_advance_loc2 = 0x03,
    DW_CFA_advance_loc4 = 0x04,
    DW_CFA_offset_extended = 0x05,
    DW_CFA_restore_extended = 0x06,
    DW_CFA_undefined = 0x07,
    DW_CFA_same_value = 0x08,
    DW_CFA_register = 0x09,
    DW_CFA_remember_state = 0x0a,
    DW_CFA_restore_state = 0x0b,
    DW_CFA_def_cfa = 0x0c,
    DW_CFA_def_cfa_register = 0x0d,
    DW_CFA_def_cfa_offset = 0x0e,
    DW_CFA_def_cfa_expression = 0x0f,
    DW_CFA_expression = 0x10,

    DW_CFA_offset_extended_sf = 0x11,
    DW_CFA_def_cfa_sf = 0x12,
    DW_CFA_def_cfa_offset_sf = 0x13,


    DW_CFA_MIPS_advance_loc8 = 0x1d,


    DW_CFA_GNU_window_save = 0x2d,
    DW_CFA_GNU_args_size = 0x2e,
    DW_CFA_GNU_negative_offset_extended = 0x2f
  };
# 561 "/nfs/oz/home/oldham/gcc/gcc5/gcc/dwarf2.h"
enum dwarf_source_language
  {
    DW_LANG_C89 = 0x0001,
    DW_LANG_C = 0x0002,
    DW_LANG_Ada83 = 0x0003,
    DW_LANG_C_plus_plus = 0x0004,
    DW_LANG_Cobol74 = 0x0005,
    DW_LANG_Cobol85 = 0x0006,
    DW_LANG_Fortran77 = 0x0007,
    DW_LANG_Fortran90 = 0x0008,
    DW_LANG_Pascal83 = 0x0009,
    DW_LANG_Modula2 = 0x000a,
    DW_LANG_Java = 0x000b,

    DW_LANG_C99 = 0x000c,
    DW_LANG_Ada95 = 0x000d,
    DW_LANG_Fortran95 = 0x000e,

    DW_LANG_Mips_Assembler = 0x8001
  };







enum dwarf_macinfo_record_type
  {
    DW_MACINFO_define = 1,
    DW_MACINFO_undef = 2,
    DW_MACINFO_start_file = 3,
    DW_MACINFO_end_file = 4,
    DW_MACINFO_vendor_ext = 255
  };
# 24 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c" 2
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind.h" 1
# 32 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind.h"
typedef unsigned _Unwind_Word __attribute__((__mode__(__word__)));
typedef signed _Unwind_Sword __attribute__((__mode__(__word__)));
typedef unsigned _Unwind_Ptr __attribute__((__mode__(__pointer__)));





typedef unsigned _Unwind_Exception_Class __attribute__((__mode__(__DI__)));



typedef enum
{
  _URC_NO_REASON = 0,
  _URC_FOREIGN_EXCEPTION_CAUGHT = 1,
  _URC_FATAL_PHASE2_ERROR = 2,
  _URC_FATAL_PHASE1_ERROR = 3,
  _URC_NORMAL_STOP = 4,
  _URC_END_OF_STACK = 5,
  _URC_HANDLER_FOUND = 6,
  _URC_INSTALL_CONTEXT = 7,
  _URC_CONTINUE_UNWIND = 8
} _Unwind_Reason_Code;
# 64 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind.h"
struct _Unwind_Exception;

typedef void (*_Unwind_Exception_Cleanup_Fn) (_Unwind_Reason_Code,
                                              struct _Unwind_Exception *);

struct _Unwind_Exception
{
  _Unwind_Exception_Class exception_class;
  _Unwind_Exception_Cleanup_Fn exception_cleanup;
  _Unwind_Word private_1;
  _Unwind_Word private_2;




} __attribute__((__aligned__));




typedef int _Unwind_Action;
# 95 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind.h"
struct _Unwind_Context;


extern _Unwind_Reason_Code _Unwind_RaiseException (struct _Unwind_Exception *);



typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn)
     (int, _Unwind_Action, _Unwind_Exception_Class,
      struct _Unwind_Exception *, struct _Unwind_Context *, void *);

extern _Unwind_Reason_Code _Unwind_ForcedUnwind (struct _Unwind_Exception *,
                                                 _Unwind_Stop_Fn,
                                                 void *);


extern void _Unwind_DeleteException (struct _Unwind_Exception *);



extern void _Unwind_Resume (struct _Unwind_Exception *);






extern _Unwind_Word _Unwind_GetGR (struct _Unwind_Context *, int);
extern void _Unwind_SetGR (struct _Unwind_Context *, int, _Unwind_Word);

extern _Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *);
extern void _Unwind_SetIP (struct _Unwind_Context *, _Unwind_Ptr);

extern void *_Unwind_GetLanguageSpecificData (struct _Unwind_Context *);

extern _Unwind_Ptr _Unwind_GetRegionStart (struct _Unwind_Context *);
# 147 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind.h"
typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn)
     (int, _Unwind_Action, _Unwind_Exception_Class,
      struct _Unwind_Exception *, struct _Unwind_Context *);




struct SjLj_Function_Context;
extern void _Unwind_SjLj_Register (struct SjLj_Function_Context *);
extern void _Unwind_SjLj_Unregister (struct SjLj_Function_Context *);

extern _Unwind_Reason_Code _Unwind_SjLj_RaiseException
     (struct _Unwind_Exception *);
extern _Unwind_Reason_Code _Unwind_SjLj_ForcedUnwind
     (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
extern void _Unwind_SjLj_Resume (struct _Unwind_Exception *);
# 185 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind.h"
extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *);
extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *);
# 25 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c" 2
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-pe.h" 1
# 59 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-pe.h"
static unsigned int
size_of_encoded_value (unsigned char encoding)
{
  if (encoding == 0xff)
    return 0;

  switch (encoding & 0x07)
    {
    case 0x00:
      return sizeof (void *);
    case 0x02:
      return 2;
    case 0x03:
      return 4;
    case 0x04:
      return 8;
    }
  abort ();
}






static _Unwind_Ptr
base_of_encoded_value (unsigned char encoding, struct _Unwind_Context *context)
{
  if (encoding == 0xff)
    return 0;

  switch (encoding & 0x70)
    {
    case 0x00:
    case 0x10:
    case 0x50:
      return 0;

    case 0x20:
      return _Unwind_GetTextRelBase (context);
    case 0x30:
      return _Unwind_GetDataRelBase (context);
    case 0x40:
      return _Unwind_GetRegionStart (context);
    }
  abort ();
}





static const unsigned char *
read_encoded_value_with_base (unsigned char encoding, _Unwind_Ptr base,
                              const unsigned char *p, _Unwind_Ptr *val)
{
  union unaligned
    {
      void *ptr;
      unsigned u2 __attribute__ ((mode (HI)));
      unsigned u4 __attribute__ ((mode (SI)));
      unsigned u8 __attribute__ ((mode (DI)));
      signed s2 __attribute__ ((mode (HI)));
      signed s4 __attribute__ ((mode (SI)));
      signed s8 __attribute__ ((mode (DI)));
    } __attribute__((__packed__));

  union unaligned *u = (union unaligned *) p;
  _Unwind_Ptr result;

  if (encoding == 0x50)
    {
      _Unwind_Ptr a = (_Unwind_Ptr)p;
      a = (a + sizeof (void *) - 1) & - sizeof(void *);
      result = *(_Unwind_Ptr *) a;
      p = (const unsigned char *)(a + sizeof (void *));
    }
  else
    {
      switch (encoding & 0x0f)
        {
        case 0x00:
          result = (_Unwind_Ptr) u->ptr;
          p += sizeof (void *);
          break;

        case 0x01:
          {
            unsigned int shift = 0;
            unsigned char byte;

            result = 0;
            do
              {
                byte = *p++;
                result |= (_Unwind_Ptr)(byte & 0x7f) << shift;
                shift += 7;
              }
            while (byte & 0x80);
          }
          break;

        case 0x09:
          {
            unsigned int shift = 0;
            unsigned char byte;

            result = 0;
            do
              {
                byte = *p++;
                result |= (_Unwind_Ptr)(byte & 0x7f) << shift;
                shift += 7;
              }
            while (byte & 0x80);

            if (shift < 8 * sizeof(result) && (byte & 0x40) != 0)
              result |= -(1L << shift);
          }
          break;

        case 0x02:
          result = u->u2;
          p += 2;
          break;
        case 0x03:
          result = u->u4;
          p += 4;
          break;
        case 0x04:
          result = u->u8;
          p += 8;
          break;

        case 0x0A:
          result = u->s2;
          p += 2;
          break;
        case 0x0B:
          result = u->s4;
          p += 4;
          break;
        case 0x0C:
          result = u->s8;
          p += 8;
          break;

        default:
          abort ();
        }

      if (result != 0)
        {
          result += ((encoding & 0x70) == 0x10
                     ? (_Unwind_Ptr)u : base);
          if (encoding & 0x80)
            result = *(_Unwind_Ptr *)result;
        }
    }

  *val = result;
  return p;
}




static __inline__ const unsigned char *
read_encoded_value (struct _Unwind_Context *context, unsigned char encoding,
                    const unsigned char *p, _Unwind_Ptr *val)
{
  return read_encoded_value_with_base (encoding,
                base_of_encoded_value (encoding, context),
                p, val);
}




static __inline__ const unsigned char *
read_uleb128 (const unsigned char *p, _Unwind_Ptr *val)
{
  return read_encoded_value_with_base (0x01, 0, p, val);
}



static __inline__ const unsigned char *
read_sleb128 (const unsigned char *p, _Unwind_Ptr *val)
{
  return read_encoded_value_with_base (0x09, 0, p, val);
}
# 26 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c" 2
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2-fde.h" 1
# 32 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2-fde.h"
struct fde_vector
{
  void *orig_data;
  size_t count;
  struct dwarf_fde *array[];
};

struct object
{
  void *pc_begin;
  void *tbase;
  void *dbase;
  union {
    struct dwarf_fde *single;
    struct dwarf_fde **array;
    struct fde_vector *sort;
  } u;

  union {
    struct {
      unsigned long sorted : 1;
      unsigned long from_array : 1;
      unsigned long mixed_encoding : 1;
      unsigned long encoding : 8;


      unsigned long count : 21;
    } b;
    size_t i;
  } s;

  struct object *next;
};





struct old_object
{
  void *pc_begin;
  void *pc_end;
  struct dwarf_fde *fde_begin;
  struct dwarf_fde **fde_array;
  size_t count;
  struct old_object *next;
};

struct dwarf_eh_bases
{
  void *tbase;
  void *dbase;
  void *func;
};


extern void __register_frame_info_bases (void *, struct object *,
                                         void *, void *);
extern void __register_frame_info (void *, struct object *);
extern void __register_frame (void *);
extern void __register_frame_info_table_bases (void *, struct object *,
                                               void *, void *);
extern void __register_frame_info_table (void *, struct object *);
extern void __register_frame_table (void *);
extern void *__deregister_frame_info (void *);
extern void *__deregister_frame_info_bases (void *);
extern void __deregister_frame (void *);


typedef int sword __attribute__ ((mode (SI)));
typedef unsigned int uword __attribute__ ((mode (SI)));
typedef unsigned int uaddr __attribute__ ((mode (pointer)));
typedef int saddr __attribute__ ((mode (pointer)));
typedef unsigned char ubyte;
# 129 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2-fde.h"
struct dwarf_cie
{
  uword length;
  sword CIE_id;
  ubyte version;
  unsigned char augmentation[];
} __attribute__ ((packed, aligned (__alignof__ (void *))));


struct dwarf_fde
{
  uword length;
  sword CIE_delta;
  unsigned char pc_begin[];
} __attribute__ ((packed, aligned (__alignof__ (void *))));

typedef struct dwarf_fde fde;



static __inline__ struct dwarf_cie *
get_cie (struct dwarf_fde *f)
{
  return (void *)&f->CIE_delta - f->CIE_delta;
}

static __inline__ fde *
next_fde (fde *f)
{
  return (fde *)((char *)f + f->length + sizeof (f->length));
}

extern fde * _Unwind_Find_FDE (void *, struct dwarf_eh_bases *);
# 27 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c" 2
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/gthr.h" 1
# 102 "/nfs/oz/home/oldham/gcc/gcc5/gcc/gthr.h"
# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/gthr-single.h" 1
# 34 "/nfs/oz/home/oldham/gcc/gcc5/gcc/gthr-single.h"
typedef int __gthread_mutex_t;
# 211 "/nfs/oz/home/oldham/gcc/gcc5/gcc/gthr-single.h"
static __inline__ int
__gthread_active_p (void)
{
  return 0;
}

static __inline__ int
__gthread_mutex_lock (__gthread_mutex_t * mutex __attribute__((unused)))
{
  return 0;
}

static __inline__ int
__gthread_mutex_trylock (__gthread_mutex_t * mutex __attribute__((unused)))
{
  return 0;
}

static __inline__ int
__gthread_mutex_unlock (__gthread_mutex_t * mutex __attribute__((unused)))
{
  return 0;
}
# 103 "/nfs/oz/home/oldham/gcc/gcc5/gcc/gthr.h" 2
# 28 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c" 2
# 46 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c"
struct _Unwind_Context
{
  void *reg[17 +1];
  void *cfa;
  void *ra;
  void *lsda;
  struct dwarf_eh_bases bases;
  _Unwind_Word args_size;
};


static unsigned char dwarf_reg_size_table[17];





typedef struct
{


  struct frame_state_reg_info
  {
    struct {
      union {
        unsigned int reg;
        _Unwind_Sword offset;
        const unsigned char *exp;
      } loc;
      enum {
        REG_UNSAVED,
        REG_SAVED_OFFSET,
        REG_SAVED_REG,
        REG_SAVED_EXP,
      } how;
    } reg[17 +1];


    struct frame_state_reg_info *prev;
  } regs;



  _Unwind_Sword cfa_offset;
  _Unwind_Word cfa_reg;
  const unsigned char *cfa_exp;
  enum {
    CFA_UNSET,
    CFA_REG_OFFSET,
    CFA_EXP,
  } cfa_how;


  void *pc;


  _Unwind_Personality_Fn personality;
  signed int data_align;
  unsigned int code_align;
  unsigned char retaddr_column;
  unsigned char fde_encoding;
  unsigned char lsda_encoding;
  unsigned char saw_z;
} _Unwind_FrameState;



union unaligned
{
  void *p;
  unsigned u2 __attribute__ ((mode (HI)));
  unsigned u4 __attribute__ ((mode (SI)));
  unsigned u8 __attribute__ ((mode (DI)));
  signed s2 __attribute__ ((mode (HI)));
  signed s4 __attribute__ ((mode (SI)));
  signed s8 __attribute__ ((mode (DI)));
} __attribute__ ((packed));

static __inline__ void *
read_pointer (const void *p) { const union unaligned *up = p; return up->p; }

static __inline__ int
read_1u (const void *p) { return *(const unsigned char *)p; }

static __inline__ int
read_1s (const void *p) { return *(const signed char *)p; }

static __inline__ int
read_2u (const void *p) { const union unaligned *up = p; return up->u2; }

static __inline__ int
read_2s (const void *p) { const union unaligned *up = p; return up->s2; }

static __inline__ unsigned int
read_4u (const void *p) { const union unaligned *up = p; return up->u4; }

static __inline__ int
read_4s (const void *p) { const union unaligned *up = p; return up->s4; }

static __inline__ unsigned long
read_8u (const void *p) { const union unaligned *up = p; return up->u8; }

static __inline__ unsigned long
read_8s (const void *p) { const union unaligned *up = p; return up->s8; }



__inline__ _Unwind_Word
_Unwind_GetGR (struct _Unwind_Context *context, int index)
{

  return * (_Unwind_Word *) context->reg[index];
}



__inline__ void
_Unwind_SetGR (struct _Unwind_Context *context, int index, _Unwind_Word val)
{
  * (_Unwind_Word *) context->reg[index] = val;
}



__inline__ _Unwind_Ptr
_Unwind_GetIP (struct _Unwind_Context *context)
{
  return (_Unwind_Ptr) context->ra;
}



__inline__ void
_Unwind_SetIP (struct _Unwind_Context *context, _Unwind_Ptr val)
{
  context->ra = (void *) val;
}

void *
_Unwind_GetLanguageSpecificData (struct _Unwind_Context *context)
{
  return context->lsda;
}

_Unwind_Ptr
_Unwind_GetRegionStart (struct _Unwind_Context *context)
{
  return (_Unwind_Ptr) context->bases.func;
}


_Unwind_Ptr
_Unwind_GetDataRelBase (struct _Unwind_Context *context)
{
  return (_Unwind_Ptr) context->bases.dbase;
}

_Unwind_Ptr
_Unwind_GetTextRelBase (struct _Unwind_Context *context)
{
  return (_Unwind_Ptr) context->bases.tbase;
}






static const unsigned char *
extract_cie_info (struct dwarf_cie *cie, struct _Unwind_Context *context,
                  _Unwind_FrameState *fs)
{
  const unsigned char *aug = cie->augmentation;
  const unsigned char *p = aug + strlen (aug) + 1;
  const unsigned char *ret = ((void *)0);
  _Unwind_Ptr tmp;



  p = read_uleb128 (p, &tmp); fs->code_align = tmp;
  p = read_sleb128 (p, &tmp); fs->data_align = (saddr) tmp;
  fs->retaddr_column = *p++;
  fs->lsda_encoding = 0xff;




  if (*aug == 'z')
    {
      p = read_uleb128 (p, &tmp);
      ret = p + tmp;

      fs->saw_z = 1;
      ++aug;
    }


  while (*aug != '\0')
    {

      if (aug[0] == 'e' && aug[1] == 'h')
        {
          p += sizeof (void *);
          aug += 2;
        }


      else if (aug[0] == 'L')
        {
          fs->lsda_encoding = *p++;
          aug += 1;
        }


      else if (aug[0] == 'R')
        {
          fs->fde_encoding = *p++;
          aug += 1;
        }


      else if (aug[0] == 'P')
        {
          p = read_encoded_value (context, *p, p + 1,
                                  (_Unwind_Ptr *) &fs->personality);
          aug += 1;
        }



      else
        return ret;
    }

  return ret ? ret : p;
}





static _Unwind_Word
execute_stack_op (const unsigned char *op_ptr, const unsigned char *op_end,
                  struct _Unwind_Context *context, _Unwind_Word initial)
{
  _Unwind_Word stack[64];
  int stack_elt;

  stack[0] = initial;
  stack_elt = 1;

  while (op_ptr < op_end)
    {
      enum dwarf_location_atom op = *op_ptr++;
      _Unwind_Word result, reg;
      _Unwind_Sword offset;
      _Unwind_Ptr ptrtmp;

      switch (op)
        {
        case DW_OP_lit0:
        case DW_OP_lit1:
        case DW_OP_lit2:
        case DW_OP_lit3:
        case DW_OP_lit4:
        case DW_OP_lit5:
        case DW_OP_lit6:
        case DW_OP_lit7:
        case DW_OP_lit8:
        case DW_OP_lit9:
        case DW_OP_lit10:
        case DW_OP_lit11:
        case DW_OP_lit12:
        case DW_OP_lit13:
        case DW_OP_lit14:
        case DW_OP_lit15:
        case DW_OP_lit16:
        case DW_OP_lit17:
        case DW_OP_lit18:
        case DW_OP_lit19:
        case DW_OP_lit20:
        case DW_OP_lit21:
        case DW_OP_lit22:
        case DW_OP_lit23:
        case DW_OP_lit24:
        case DW_OP_lit25:
        case DW_OP_lit26:
        case DW_OP_lit27:
        case DW_OP_lit28:
        case DW_OP_lit29:
        case DW_OP_lit30:
        case DW_OP_lit31:
          result = op - DW_OP_lit0;
          break;

        case DW_OP_addr:
          result = (_Unwind_Word) (_Unwind_Ptr) read_pointer (op_ptr);
          op_ptr += sizeof (void *);
          break;

        case DW_OP_const1u:
          result = read_1u (op_ptr);
          op_ptr += 1;
          break;
        case DW_OP_const1s:
          result = read_1s (op_ptr);
          op_ptr += 1;
          break;
        case DW_OP_const2u:
          result = read_2u (op_ptr);
          op_ptr += 2;
          break;
        case DW_OP_const2s:
          result = read_2s (op_ptr);
          op_ptr += 2;
          break;
        case DW_OP_const4u:
          result = read_4u (op_ptr);
          op_ptr += 4;
          break;
        case DW_OP_const4s:
          result = read_4s (op_ptr);
          op_ptr += 4;
          break;
        case DW_OP_const8u:
          result = read_8u (op_ptr);
          op_ptr += 8;
          break;
        case DW_OP_const8s:
          result = read_8s (op_ptr);
          op_ptr += 8;
          break;
        case DW_OP_constu:
          op_ptr = read_uleb128 (op_ptr, &ptrtmp);
          result = ptrtmp;
          break;
        case DW_OP_consts:
          op_ptr = read_sleb128 (op_ptr, &ptrtmp);
          result = (saddr)ptrtmp;
          break;

        case DW_OP_reg0:
        case DW_OP_reg1:
        case DW_OP_reg2:
        case DW_OP_reg3:
        case DW_OP_reg4:
        case DW_OP_reg5:
        case DW_OP_reg6:
        case DW_OP_reg7:
        case DW_OP_reg8:
        case DW_OP_reg9:
        case DW_OP_reg10:
        case DW_OP_reg11:
        case DW_OP_reg12:
        case DW_OP_reg13:
        case DW_OP_reg14:
        case DW_OP_reg15:
        case DW_OP_reg16:
        case DW_OP_reg17:
        case DW_OP_reg18:
        case DW_OP_reg19:
        case DW_OP_reg20:
        case DW_OP_reg21:
        case DW_OP_reg22:
        case DW_OP_reg23:
        case DW_OP_reg24:
        case DW_OP_reg25:
        case DW_OP_reg26:
        case DW_OP_reg27:
        case DW_OP_reg28:
        case DW_OP_reg29:
        case DW_OP_reg30:
        case DW_OP_reg31:
          result = _Unwind_GetGR (context, op - DW_OP_reg0);
          break;
        case DW_OP_regx:
          op_ptr = read_uleb128 (op_ptr, &ptrtmp); reg = ptrtmp;
          result = _Unwind_GetGR (context, reg);
          break;

        case DW_OP_breg0:
        case DW_OP_breg1:
        case DW_OP_breg2:
        case DW_OP_breg3:
        case DW_OP_breg4:
        case DW_OP_breg5:
        case DW_OP_breg6:
        case DW_OP_breg7:
        case DW_OP_breg8:
        case DW_OP_breg9:
        case DW_OP_breg10:
        case DW_OP_breg11:
        case DW_OP_breg12:
        case DW_OP_breg13:
        case DW_OP_breg14:
        case DW_OP_breg15:
        case DW_OP_breg16:
        case DW_OP_breg17:
        case DW_OP_breg18:
        case DW_OP_breg19:
        case DW_OP_breg20:
        case DW_OP_breg21:
        case DW_OP_breg22:
        case DW_OP_breg23:
        case DW_OP_breg24:
        case DW_OP_breg25:
        case DW_OP_breg26:
        case DW_OP_breg27:
        case DW_OP_breg28:
        case DW_OP_breg29:
        case DW_OP_breg30:
        case DW_OP_breg31:
          op_ptr = read_sleb128 (op_ptr, &ptrtmp); offset = (saddr)ptrtmp;
          result = _Unwind_GetGR (context, op - DW_OP_breg0) + offset;
          break;
        case DW_OP_bregx:
          op_ptr = read_uleb128 (op_ptr, &ptrtmp); reg = ptrtmp;
          op_ptr = read_sleb128 (op_ptr, &ptrtmp); offset = (saddr)ptrtmp;
          result = _Unwind_GetGR (context, reg) + offset;
          break;

        case DW_OP_dup:
          if (stack_elt < 1)
            abort ();
          result = stack[stack_elt - 1];
          break;

        case DW_OP_drop:
          if (--stack_elt < 0)
            abort ();
          goto no_push;

        case DW_OP_pick:
          offset = *op_ptr++;
          if (offset >= stack_elt - 1)
            abort ();
          result = stack[stack_elt - 1 - offset];
          break;

        case DW_OP_over:
          if (stack_elt < 2)
            abort ();
          result = stack[stack_elt - 2];
          break;

        case DW_OP_rot:
          {
            _Unwind_Word t1, t2, t3;

            if (stack_elt < 3)
              abort ();
            t1 = stack[stack_elt - 1];
            t2 = stack[stack_elt - 2];
            t3 = stack[stack_elt - 3];
            stack[stack_elt - 1] = t2;
            stack[stack_elt - 2] = t3;
            stack[stack_elt - 3] = t1;
            goto no_push;
          }

        case DW_OP_deref:
        case DW_OP_deref_size:
        case DW_OP_abs:
        case DW_OP_neg:
        case DW_OP_not:
        case DW_OP_plus_uconst:

          if (--stack_elt < 0)
            abort ();
          result = stack[stack_elt];

          switch (op)
            {
            case DW_OP_deref:
              {
                void *ptr = (void *)(_Unwind_Ptr) result;
                result = (_Unwind_Ptr) read_pointer (ptr);
              }
              break;

            case DW_OP_deref_size:
              {
                void *ptr = (void *)(_Unwind_Ptr) result;
                switch (*op_ptr++)
                  {
                  case 1:
                    result = read_1u (ptr);
                    break;
                  case 2:
                    result = read_2u (ptr);
                    break;
                  case 4:
                    result = read_4u (ptr);
                    break;
                  case 8:
                    result = read_8u (ptr);
                    break;
                  default:
                    abort ();
                  }
              }
              break;

            case DW_OP_abs:
              if ((_Unwind_Sword) result < 0)
                result = -result;
              break;
            case DW_OP_neg:
              result = -result;
              break;
            case DW_OP_not:
              result = ~result;
              break;
            case DW_OP_plus_uconst:
              op_ptr = read_uleb128 (op_ptr, &ptrtmp); reg = ptrtmp;
              result += reg;
              break;
            }
          break;

        case DW_OP_and:
        case DW_OP_div:
        case DW_OP_minus:
        case DW_OP_mod:
        case DW_OP_mul:
        case DW_OP_or:
        case DW_OP_plus:
        case DW_OP_le:
        case DW_OP_ge:
        case DW_OP_eq:
        case DW_OP_lt:
        case DW_OP_gt:
        case DW_OP_ne:
          {

            _Unwind_Word first, second;
          if ((stack_elt -= 2) < 0)
            abort ();
          second = stack[stack_elt];
          first = stack[stack_elt + 1];

          switch (op)
            {
            case DW_OP_and:
              result = second & first;
              break;
            case DW_OP_div:
              result = (_Unwind_Sword)second / (_Unwind_Sword)first;
              break;
            case DW_OP_minus:
              result = second - first;
              break;
            case DW_OP_mod:
              result = (_Unwind_Sword)second % (_Unwind_Sword)first;
              break;
            case DW_OP_mul:
              result = second * first;
              break;
            case DW_OP_or:
              result = second | first;
              break;
            case DW_OP_plus:
              result = second + first;
              break;
            case DW_OP_shl:
              result = second << first;
              break;
            case DW_OP_shr:
              result = second >> first;
              break;
            case DW_OP_shra:
              result = (_Unwind_Sword)second >> first;
              break;
            case DW_OP_xor:
              result = second ^ first;
              break;
            case DW_OP_le:
              result = (_Unwind_Sword)first <= (_Unwind_Sword)second;
              break;
            case DW_OP_ge:
              result = (_Unwind_Sword)first >= (_Unwind_Sword)second;
              break;
            case DW_OP_eq:
              result = (_Unwind_Sword)first == (_Unwind_Sword)second;
              break;
            case DW_OP_lt:
              result = (_Unwind_Sword)first < (_Unwind_Sword)second;
              break;
            case DW_OP_gt:
              result = (_Unwind_Sword)first > (_Unwind_Sword)second;
              break;
            case DW_OP_ne:
              result = (_Unwind_Sword)first != (_Unwind_Sword)second;
              break;
            }
          }
          break;

        case DW_OP_skip:
          offset = read_2s (op_ptr);
          op_ptr += 2;
          op_ptr += offset;
          goto no_push;

        case DW_OP_bra:
          if (--stack_elt < 0)
            abort ();
          offset = read_2s (op_ptr);
          op_ptr += 2;
          if (stack[stack_elt] != 0)
            op_ptr += offset;
          goto no_push;

        case DW_OP_nop:
          goto no_push;

        default:
          abort ();
        }


      if ((size_t) stack_elt >= sizeof(stack)/sizeof(*stack))
        abort ();
      stack[++stack_elt] = result;
    no_push:;
    }



  if (--stack_elt < 0)
    abort ();
  return stack[stack_elt];
}






static void
execute_cfa_program (const unsigned char *insn_ptr,
                     const unsigned char *insn_end,
                     struct _Unwind_Context *context,
                     _Unwind_FrameState *fs)
{
  struct frame_state_reg_info *unused_rs = ((void *)0);


  fs->regs.prev = ((void *)0);

  while (insn_ptr < insn_end && fs->pc < context->ra)
    {
      unsigned char insn = *insn_ptr++;
      _Unwind_Word reg;
      _Unwind_Sword offset;
      _Unwind_Ptr ptrtmp;

      if (insn & DW_CFA_advance_loc)
        fs->pc += (insn & 0x3f) * fs->code_align;
      else if (insn & DW_CFA_offset)
        {
          reg = insn & 0x3f;
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
          offset = ptrtmp * fs->data_align;
          fs->regs.reg[reg].how = REG_SAVED_OFFSET;
          fs->regs.reg[reg].loc.offset = offset;
        }
      else if (insn & DW_CFA_restore)
        {
          reg = insn & 0x3f;
          fs->regs.reg[reg].how = REG_UNSAVED;
        }
      else switch (insn)
        {
        case DW_CFA_set_loc:
          insn_ptr = read_encoded_value (context, fs->fde_encoding,
                                         insn_ptr, (_Unwind_Ptr *) &fs->pc);
          break;

        case DW_CFA_advance_loc1:
          fs->pc += read_1u (insn_ptr) * fs->code_align;
          insn_ptr += 1;
          break;
        case DW_CFA_advance_loc2:
          fs->pc += read_2u (insn_ptr) * fs->code_align;
          insn_ptr += 2;
          break;
        case DW_CFA_advance_loc4:
          fs->pc += read_4u (insn_ptr) * fs->code_align;
          insn_ptr += 4;
          break;

        case DW_CFA_offset_extended:
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp); reg = ptrtmp;
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
          offset = ptrtmp * fs->data_align;
          fs->regs.reg[reg].how = REG_SAVED_OFFSET;
          fs->regs.reg[reg].loc.offset = offset;
          break;

        case DW_CFA_restore_extended:
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp); reg = ptrtmp;
          fs->regs.reg[reg].how = REG_UNSAVED;
          break;

        case DW_CFA_undefined:
        case DW_CFA_same_value:
        case DW_CFA_nop:
          break;

        case DW_CFA_register:
          {
            _Unwind_Word reg2;
            insn_ptr = read_uleb128 (insn_ptr, &ptrtmp); reg = ptrtmp;
            insn_ptr = read_uleb128 (insn_ptr, &ptrtmp); reg2 = ptrtmp;
            fs->regs.reg[reg].how = REG_SAVED_REG;
            fs->regs.reg[reg].loc.reg = reg2;
          }
          break;

        case DW_CFA_remember_state:
          {
            struct frame_state_reg_info *new_rs;
            if (unused_rs)
              {
                new_rs = unused_rs;
                unused_rs = unused_rs->prev;
              }
            else
              new_rs = __builtin_alloca (sizeof (struct frame_state_reg_info));

            *new_rs = fs->regs;
            fs->regs.prev = new_rs;
          }
          break;

        case DW_CFA_restore_state:
          {
            struct frame_state_reg_info *old_rs = fs->regs.prev;
            fs->regs = *old_rs;
            old_rs->prev = unused_rs;
            unused_rs = old_rs;
          }
          break;

        case DW_CFA_def_cfa:
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
          fs->cfa_reg = ptrtmp;
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
          fs->cfa_offset = ptrtmp;
          fs->cfa_how = CFA_REG_OFFSET;
          break;

        case DW_CFA_def_cfa_register:
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
          fs->cfa_reg = ptrtmp;
          fs->cfa_how = CFA_REG_OFFSET;
          break;

        case DW_CFA_def_cfa_offset:
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
          fs->cfa_offset = ptrtmp;

          break;

        case DW_CFA_def_cfa_expression:
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
          fs->cfa_exp = insn_ptr;
          fs->cfa_how = CFA_EXP;
          insn_ptr += ptrtmp;
          break;

        case DW_CFA_expression:
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp); reg = ptrtmp;
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
          fs->regs.reg[reg].how = REG_SAVED_EXP;
          fs->regs.reg[reg].loc.exp = insn_ptr;
          insn_ptr += ptrtmp;
          break;


        case DW_CFA_offset_extended_sf:
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp); reg = ptrtmp;
          insn_ptr = read_sleb128 (insn_ptr, &ptrtmp);
          offset = (saddr)ptrtmp * fs->data_align;
          fs->regs.reg[reg].how = REG_SAVED_OFFSET;
          fs->regs.reg[reg].loc.offset = offset;
          break;

        case DW_CFA_def_cfa_sf:
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
          fs->cfa_reg = ptrtmp;
          insn_ptr = read_sleb128 (insn_ptr, &ptrtmp);
          fs->cfa_offset = (saddr)ptrtmp;
          fs->cfa_how = CFA_REG_OFFSET;
          break;

        case DW_CFA_def_cfa_offset_sf:
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
          fs->cfa_offset = ptrtmp;

          break;

        case DW_CFA_GNU_window_save:

          for (reg = 16; reg < 32; ++reg)
            {
              fs->regs.reg[reg].how = REG_SAVED_OFFSET;
              fs->regs.reg[reg].loc.offset = (reg - 16) * sizeof (void *);
            }
          break;

        case DW_CFA_GNU_args_size:
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
          context->args_size = ptrtmp;
          break;

        case DW_CFA_GNU_negative_offset_extended:


          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp); reg = ptrtmp;
          insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
          offset = ptrtmp * fs->data_align;
          fs->regs.reg[reg].how = REG_SAVED_OFFSET;
          fs->regs.reg[reg].loc.offset = -offset;
          break;

        default:
          abort ();
        }
    }
}

static _Unwind_Reason_Code
uw_frame_state_for (struct _Unwind_Context *context, _Unwind_FrameState *fs)
{
  struct dwarf_fde *fde;
  struct dwarf_cie *cie;
  const unsigned char *aug, *insn, *end;

  (__extension__ (__builtin_constant_p (sizeof (*fs)) && (sizeof (*fs)) <= 16 ? ((sizeof (*fs)) == 1 ? ({ void *__s = (fs); *((__uint8_t *) __s) = (__uint8_t) 0; __s; }) : ({ void *__s = (fs); union { unsigned int __ui; unsigned short int __usi; unsigned char __uc; } *__u = __s; __uint8_t __c = (__uint8_t) (0); switch ((unsigned int) (sizeof (*fs))) { case 15: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 11: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 7: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 3: __u->__usi = (unsigned short int) __c * 0x0101; __u = __extension__ ((void *) __u + 2); __u->__uc = (unsigned char) __c; break; case 14: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 10: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 6: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 2: __u->__usi = (unsigned short int) __c * 0x0101; break; case 13: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 9: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 5: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 1: __u->__uc = (unsigned char) __c; break; case 16: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 12: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 8: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 4: __u->__ui = __c * 0x01010101; case 0: break; } __s; })) : (__builtin_constant_p (0) && (0) == '\0' ? ({ void *__s = (fs); __builtin_memset (__s, '\0', sizeof (*fs)); __s; }) : memset (fs, 0, sizeof (*fs)))));
  context->args_size = 0;
  context->lsda = 0;

  fde = _Unwind_Find_FDE (context->ra - 1, &context->bases);
  if (fde == ((void *)0))
    {




      do { unsigned char *pc_ = (context)->ra; struct sigcontext *sc_; long new_cfa_; if (*(unsigned short *)(pc_+0) == 0xb858 && *(unsigned int *)(pc_+2) == 119 && *(unsigned short *)(pc_+6) == 0x80cd) sc_ = (context)->cfa + 4; else if (*(unsigned char *)(pc_+0) == 0xb8 && *(unsigned int *)(pc_+1) == 173 && *(unsigned short *)(pc_+5) == 0x80cd) { struct rt_sigframe { int sig; struct siginfo *pinfo; void *puc; struct siginfo info; struct ucontext uc; } *rt_ = (context)->cfa; sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext; } else break; new_cfa_ = sc_->esp; (fs)->cfa_how = CFA_REG_OFFSET; (fs)->cfa_reg = 4; (fs)->cfa_offset = new_cfa_ - (long) (context)->cfa; (fs)->regs.reg[0].how = REG_SAVED_OFFSET; (fs)->regs.reg[0].loc.offset = (long)&sc_->eax - new_cfa_; (fs)->regs.reg[3].how = REG_SAVED_OFFSET; (fs)->regs.reg[3].loc.offset = (long)&sc_->ebx - new_cfa_; (fs)->regs.reg[1].how = REG_SAVED_OFFSET; (fs)->regs.reg[1].loc.offset = (long)&sc_->ecx - new_cfa_; (fs)->regs.reg[2].how = REG_SAVED_OFFSET; (fs)->regs.reg[2].loc.offset = (long)&sc_->edx - new_cfa_; (fs)->regs.reg[6].how = REG_SAVED_OFFSET; (fs)->regs.reg[6].loc.offset = (long)&sc_->esi - new_cfa_; (fs)->regs.reg[7].how = REG_SAVED_OFFSET; (fs)->regs.reg[7].loc.offset = (long)&sc_->edi - new_cfa_; (fs)->regs.reg[5].how = REG_SAVED_OFFSET; (fs)->regs.reg[5].loc.offset = (long)&sc_->ebp - new_cfa_; (fs)->regs.reg[8].how = REG_SAVED_OFFSET; (fs)->regs.reg[8].loc.offset = (long)&sc_->eip - new_cfa_; (fs)->retaddr_column = 8; goto success; } while (0);
      return _URC_END_OF_STACK;
    success:
      return _URC_NO_REASON;



    }

  fs->pc = context->bases.func;

  cie = get_cie (fde);
  insn = extract_cie_info (cie, context, fs);
  if (insn == ((void *)0))

    return _URC_FATAL_PHASE1_ERROR;


  end = (unsigned char *) next_fde ((struct dwarf_fde *) cie);
  execute_cfa_program (insn, end, context, fs);


  aug = (unsigned char *)fde + sizeof (*fde);
  aug += 2 * size_of_encoded_value (fs->fde_encoding);
  insn = ((void *)0);
  if (fs->saw_z)
    {
      _Unwind_Ptr i;
      aug = read_uleb128 (aug, &i);
      insn = aug + i;
    }
  if (fs->lsda_encoding != 0xff)
    aug = read_encoded_value (context, fs->lsda_encoding, aug,
                              (_Unwind_Ptr *) &context->lsda);


  if (insn == ((void *)0))
    insn = aug;
  end = (unsigned char *) next_fde (fde);
  execute_cfa_program (insn, end, context, fs);

  return _URC_NO_REASON;
}


static void
uw_update_context_1 (struct _Unwind_Context *context, _Unwind_FrameState *fs)
{
  struct _Unwind_Context orig_context = *context;
  void *cfa;
  long i;


  switch (fs->cfa_how)
    {
    case CFA_REG_OFFSET:





      if (context->reg[fs->cfa_reg] == ((void *)0))
        cfa = context->cfa;
      else
        cfa = (void *) (_Unwind_Ptr) _Unwind_GetGR (context, fs->cfa_reg);
      cfa += fs->cfa_offset;
      break;

    case CFA_EXP:




      {
        const unsigned char *exp = fs->cfa_exp;
        _Unwind_Ptr len;

        exp = read_uleb128 (exp, &len);
        cfa = (void *) (_Unwind_Ptr)
          execute_stack_op (exp, exp + len, context, 0);
        break;
      }

    default:
      abort ();
    }
  context->cfa = cfa;


  for (i = 0; i < 17 + 1; ++i)
    switch (fs->regs.reg[i].how)
      {
      case REG_UNSAVED:
        break;
      case REG_SAVED_OFFSET:
        context->reg[i] = cfa + fs->regs.reg[i].loc.offset;
        break;
      case REG_SAVED_REG:
        context->reg[i] = orig_context.reg[fs->regs.reg[i].loc.reg];
        break;
      case REG_SAVED_EXP:
        {
          const unsigned char *exp = fs->regs.reg[i].loc.exp;
          _Unwind_Ptr len;
          _Unwind_Ptr val;

          exp = read_uleb128 (exp, &len);
          val = execute_stack_op (exp, exp + len, &orig_context,
                                  (_Unwind_Ptr) cfa);
          context->reg[i] = (void *) val;
        }
        break;
      }
}

static void
uw_update_context (struct _Unwind_Context *context, _Unwind_FrameState *fs)
{
  uw_update_context_1 (context, fs);



  context->ra = __builtin_extract_return_addr
    ((void *) (_Unwind_Ptr) _Unwind_GetGR (context, fs->retaddr_column));
}
# 1035 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c"
static void
uw_init_context_1 (struct _Unwind_Context *context,
                   void *outer_cfa, void *outer_ra)
{
  void *ra = __builtin_extract_return_addr (__builtin_return_address (0));
  _Unwind_FrameState fs;

  (__extension__ (__builtin_constant_p (sizeof (struct _Unwind_Context)) && (sizeof (struct _Unwind_Context)) <= 16 ? ((sizeof (struct _Unwind_Context)) == 1 ? ({ void *__s = (context); *((__uint8_t *) __s) = (__uint8_t) 0; __s; }) : ({ void *__s = (context); union { unsigned int __ui; unsigned short int __usi; unsigned char __uc; } *__u = __s; __uint8_t __c = (__uint8_t) (0); switch ((unsigned int) (sizeof (struct _Unwind_Context))) { case 15: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 11: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 7: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 3: __u->__usi = (unsigned short int) __c * 0x0101; __u = __extension__ ((void *) __u + 2); __u->__uc = (unsigned char) __c; break; case 14: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 10: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 6: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 2: __u->__usi = (unsigned short int) __c * 0x0101; break; case 13: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 9: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 5: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 1: __u->__uc = (unsigned char) __c; break; case 16: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 12: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 8: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 4: __u->__ui = __c * 0x01010101; case 0: break; } __s; })) : (__builtin_constant_p (0) && (0) == '\0' ? ({ void *__s = (context); __builtin_memset (__s, '\0', sizeof (struct _Unwind_Context)); __s; }) : memset (context, 0, sizeof (struct _Unwind_Context)))));
  context->ra = ra;

  if (uw_frame_state_for (context, &fs) != _URC_NO_REASON)
    abort ();


  context->cfa = outer_cfa;
  fs.cfa_how = CFA_REG_OFFSET;
  fs.cfa_reg = 0;
  fs.cfa_offset = 0;

  uw_update_context_1 (context, &fs);




  context->ra = __builtin_extract_return_addr (outer_ra);
}
# 1074 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c"
static __inline__ void
init_dwarf_reg_size_table (void)
{
  __builtin_init_dwarf_reg_size_table (dwarf_reg_size_table);
}

static long
uw_install_context_1 (struct _Unwind_Context *current,
                      struct _Unwind_Context *target)
{
  long i;
# 1094 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c"
  if (dwarf_reg_size_table[0] == 0)
    init_dwarf_reg_size_table ();


  for (i = 0; i < 17; ++i)
    {
      void *c = current->reg[i];
      void *t = target->reg[i];
      if (t && c && t != c)
        memcpy (c, t, dwarf_reg_size_table[i]);
    }


  if (1)
    return target->cfa - current->cfa + target->args_size;
  else
    return current->cfa - target->cfa - target->args_size;
}

static __inline__ _Unwind_Ptr
uw_identify_context (struct _Unwind_Context *context)
{
  return _Unwind_GetIP (context);
}


# 1 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind.inc" 1
# 32 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind.inc"
static _Unwind_Reason_Code
_Unwind_RaiseException_Phase2(struct _Unwind_Exception *exc,
                              struct _Unwind_Context *context)
{
  _Unwind_Reason_Code code;

  while (1)
    {
      _Unwind_FrameState fs;
      int match_handler;

      code = uw_frame_state_for (context, &fs);


      match_handler = (uw_identify_context (context) == exc->private_2
                       ? 4 : 0);

      if (code != _URC_NO_REASON)


        return _URC_FATAL_PHASE2_ERROR;


      if (fs.personality)
        {
          code = (*fs.personality) (1, 2 | match_handler,
                                    exc->exception_class, exc, context);
          if (code == _URC_INSTALL_CONTEXT)
            break;
          if (code != _URC_CONTINUE_UNWIND)
            return _URC_FATAL_PHASE2_ERROR;
        }


      if (match_handler)
        abort ();

      uw_update_context (context, &fs);
    }

  return code;
}




_Unwind_Reason_Code
_Unwind_RaiseException(struct _Unwind_Exception *exc)
{
  struct _Unwind_Context this_context, cur_context;
  _Unwind_Reason_Code code;

  do { __builtin_unwind_init (); uw_init_context_1 (&this_context, __builtin_dwarf_cfa (), __builtin_return_address (0)); } while (0);
  cur_context = this_context;



  while (1)
    {
      _Unwind_FrameState fs;

      code = uw_frame_state_for (&cur_context, &fs);

      if (code == _URC_END_OF_STACK)

        return _URC_END_OF_STACK;

      if (code != _URC_NO_REASON)


        return _URC_FATAL_PHASE1_ERROR;


      if (fs.personality)
        {
          code = (*fs.personality) (1, 1, exc->exception_class,
                                    exc, &cur_context);
          if (code == _URC_HANDLER_FOUND)
            break;
          else if (code != _URC_CONTINUE_UNWIND)
            return _URC_FATAL_PHASE1_ERROR;
        }

      uw_update_context (&cur_context, &fs);
    }



  exc->private_1 = 0;
  exc->private_2 = uw_identify_context (&cur_context);

  cur_context = this_context;
  code = _Unwind_RaiseException_Phase2 (exc, &cur_context);
  if (code != _URC_INSTALL_CONTEXT)
    return code;

  do { long offset = uw_install_context_1 ((&this_context), (&cur_context)); void *handler = __builtin_frob_return_addr ((&cur_context)->ra); __builtin_eh_return (offset, handler); } while (0);
}




static _Unwind_Reason_Code
_Unwind_ForcedUnwind_Phase2(struct _Unwind_Exception *exc,
                            struct _Unwind_Context *context)
{
  _Unwind_Stop_Fn stop = (_Unwind_Stop_Fn) (_Unwind_Ptr) exc->private_1;
  void *stop_argument = (void *) (_Unwind_Ptr) exc->private_2;
  _Unwind_Reason_Code code, stop_code;

  while (1)
    {
      _Unwind_FrameState fs;

      code = uw_frame_state_for (context, &fs);
      if (code != _URC_NO_REASON && code != _URC_END_OF_STACK)
        return _URC_FATAL_PHASE2_ERROR;


      stop_code = (*stop) (1, 8 | 2,
                           exc->exception_class, exc, context, stop_argument);
      if (stop_code != _URC_NO_REASON)
        return _URC_FATAL_PHASE2_ERROR;



      if (code == _URC_END_OF_STACK)
        break;

      if (fs.personality)
        {
          code = (*fs.personality) (1, 8 | 2,
                                    exc->exception_class, exc, context);
          if (code == _URC_INSTALL_CONTEXT)
            break;
          if (code != _URC_CONTINUE_UNWIND)
            return _URC_FATAL_PHASE2_ERROR;
        }

      uw_update_context (context, &fs);
    }

  return code;
}




_Unwind_Reason_Code
_Unwind_ForcedUnwind (struct _Unwind_Exception *exc,
                      _Unwind_Stop_Fn stop, void * stop_argument)
{
  struct _Unwind_Context this_context, cur_context;
  _Unwind_Reason_Code code;

  do { __builtin_unwind_init (); uw_init_context_1 (&this_context, __builtin_dwarf_cfa (), __builtin_return_address (0)); } while (0);
  cur_context = this_context;

  exc->private_1 = (_Unwind_Ptr) stop;
  exc->private_2 = (_Unwind_Ptr) stop_argument;

  code = _Unwind_ForcedUnwind_Phase2 (exc, &cur_context);
  if (code != _URC_INSTALL_CONTEXT)
    return code;

  do { long offset = uw_install_context_1 ((&this_context), (&cur_context)); void *handler = __builtin_frob_return_addr ((&cur_context)->ra); __builtin_eh_return (offset, handler); } while (0);
}





void
_Unwind_Resume (struct _Unwind_Exception *exc)
{
  struct _Unwind_Context this_context, cur_context;
  _Unwind_Reason_Code code;

  do { __builtin_unwind_init (); uw_init_context_1 (&this_context, __builtin_dwarf_cfa (), __builtin_return_address (0)); } while (0);
  cur_context = this_context;



  if (exc->private_1 == 0)
    code = _Unwind_RaiseException_Phase2 (exc, &cur_context);
  else
    code = _Unwind_ForcedUnwind_Phase2 (exc, &cur_context);

  if (code != _URC_INSTALL_CONTEXT)
    abort ();

  do { long offset = uw_install_context_1 ((&this_context), (&cur_context)); void *handler = __builtin_frob_return_addr ((&cur_context)->ra); __builtin_eh_return (offset, handler); } while (0);
}



void
_Unwind_DeleteException (struct _Unwind_Exception *exc)
{
  (*exc->exception_cleanup) (_URC_FOREIGN_EXCEPTION_CAUGHT, exc);
}
# 1121 "/nfs/oz/home/oldham/gcc/gcc5/gcc/unwind-dw2.c" 2

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