c/2011: ICE when compiling current cvs gcc
David Welch
david.welch@st-edmund-hall.oxford.ac.uk
Sun Apr 1 00:00:00 GMT 2001
>Number: 2011
>Category: c
>Synopsis: ICE when compiling current cvs gcc
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Sat Feb 17 10:36:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: David Welch
>Release: 2.97 20010216 (experimental)
>Organization:
>Environment:
System: Linux whitehall1-5.seh.ox.ac.uk 2.4.2-pre4-loop4-fix1 #1 Fri Feb 16 22:48:25 GMT 2001 i486 unknown
Architecture: i486
host: i486-pc-linux-gnu
build: i486-pc-linux-gnu
target: i386-unknown-mingw32
configured with: ../gcc/configure --prefix=/usr/mingw32-cvs-000216 --program-prefix=mingw32-pc- --target=mingw32-pc --enable-languages=c
>Description:
./xgcc -B./ -B/usr/mingw32-cvs-000216/mingw32-pc/bin/ -isystem
/usr/mingw32-cvs-000216/mingw32-pc/include -O2
-I../../gcc/gcc/../winsup/include -I../../gcc/gcc/../winsup/cygwin/include
-I../../gcc/gcc/../winsup/w32api/include -DCROSS_COMPILE -DIN_GCC -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-isystem ./include -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
-Dinhibit_libc -I. -I. -I../../gcc/gcc -I../../gcc/gcc/.
-I../../gcc/gcc/config -I../../gcc/gcc/../include -DL_divdi3 -c
../../gcc/gcc/libgcc2.c -o libgcc/./_divdi3.o
>How-To-Repeat:
# 36 "../../gcc/gcc/libgcc2.c" # 1 "tconfig.h" 1
# 1 "../../gcc/gcc/gansidecl.h" 1
# 28 "../../gcc/gcc/gansidecl.h"
# 1 "../../gcc/include/ansidecl.h" 1
# 29 "../../gcc/gcc/gansidecl.h" 2
# 4 "tconfig.h" 2
# 1 "../../gcc/gcc/config/i386/xm-i386.h" 1
# 43 "../../gcc/gcc/config/i386/xm-i386.h"
# 1 "tm.h" 1
# 1 "../../gcc/gcc/gansidecl.h" 1
# 4 "tm.h" 2
# 1 "../../gcc/gcc/config/i386/mingw32.h" 1
# 27 "../../gcc/gcc/config/i386/mingw32.h"
# 1 "../../gcc/gcc/config/i386/cygwin.h" 1
# 31 "../../gcc/gcc/config/i386/cygwin.h"
# 1 "../../gcc/gcc/config/i386/gas.h" 1
# 24 "../../gcc/gcc/config/i386/gas.h"
# 1 "../../gcc/gcc/config/i386/i386.h" 1
# 53 "../../gcc/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;
# 189 "../../gcc/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_unroll_strlen, x86_use_q_reg, x86_use_any_reg;
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;
# 340 "../../gcc/gcc/config/i386/i386.h"
enum processor_type
{
PROCESSOR_I386,
PROCESSOR_I486,
PROCESSOR_PENTIUM,
PROCESSOR_PENTIUMPRO,
PROCESSOR_K6,
PROCESSOR_ATHLON,
PROCESSOR_max
};
extern enum processor_type ix86_cpu;
extern int ix86_arch;
# 941 "../../gcc/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,
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
};
# 1334 "../../gcc/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;
# 1780 "../../gcc/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
};
# 2607 "../../gcc/gcc/config/i386/i386.h"
extern int const dbx_register_map[37];
extern int const svr4_dbx_register_map[37];
# 2883 "../../gcc/gcc/config/i386/i386.h"
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_align_loops;
extern int ix86_align_jumps;
extern int ix86_align_funcs;
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;
# 25 "../../gcc/gcc/config/i386/gas.h" 2
# 47 "../../gcc/gcc/config/i386/gas.h"
# 1 "../../gcc/gcc/config/i386/bsd.h" 1
# 24 "../../gcc/gcc/config/i386/bsd.h"
# 1 "../../gcc/gcc/config/i386/unix.h" 1
# 25 "../../gcc/gcc/config/i386/bsd.h" 2
# 48 "../../gcc/gcc/config/i386/gas.h" 2
# 32 "../../gcc/gcc/config/i386/cygwin.h" 2
# 1 "../../gcc/gcc/config/dbxcoff.h" 1
# 33 "../../gcc/gcc/config/i386/cygwin.h" 2
# 175 "../../gcc/gcc/config/i386/cygwin.h"
union tree_node;
extern int i386_pe_valid_decl_attribute_p (union tree_node *, union tree_node *, union tree_node *, union tree_node *);
# 190 "../../gcc/gcc/config/i386/cygwin.h"
extern int i386_pe_valid_type_attribute_p (union tree_node *, union tree_node *, union tree_node *, union tree_node *);
extern union tree_node *i386_pe_merge_decl_attributes (union tree_node *, union tree_node *);
extern union tree_node * i386_pe_merge_decl_attributes (union tree_node *, union tree_node *);
# 324 "../../gcc/gcc/config/i386/cygwin.h"
extern void i386_pe_encode_section_info (union tree_node *);
# 416 "../../gcc/gcc/config/i386/cygwin.h"
extern void i386_pe_unique_section (union tree_node *, int);
# 547 "../../gcc/gcc/config/i386/cygwin.h"
extern void i386_pe_record_external_function (char *);
extern void i386_pe_record_exported_symbol (char *, int);
# 28 "../../gcc/gcc/config/i386/mingw32.h" 2
# 7 "tm.h" 2
# 1 "../../gcc/gcc/config/i386/crtdll.h" 1
# 10 "tm.h" 2
# 1 "../../gcc/gcc/defaults.h" 1
# 13 "tm.h" 2
# 1 "insn-codes.h" 1
enum insn_code {
CODE_FOR_cmpqi_ext_3_insn = 11,
CODE_FOR_x86_fnstsw_1 = 25,
CODE_FOR_x86_sahf_1 = 26,
CODE_FOR_popsi1 = 36,
CODE_FOR_swapxf = 79,
CODE_FOR_swaptf = 80,
CODE_FOR_zero_extendhisi2_and = 81,
CODE_FOR_zero_extendsidi2 = 89,
CODE_FOR_extendsidi2 = 90,
CODE_FOR_extendhisi2 = 91,
CODE_FOR_extendqihi2 = 92,
CODE_FOR_extendqisi2 = 93,
CODE_FOR_truncdfsf2_3 = 108,
CODE_FOR_truncdfsf2_sse_only = 109,
CODE_FOR_fix_truncsfsi_sse = 120,
CODE_FOR_fix_truncdfsi_sse = 121,
CODE_FOR_x86_fnstcw_1 = 123,
CODE_FOR_x86_fldcw_1 = 124,
CODE_FOR_floathisf2 = 125,
CODE_FOR_floatdisf2 = 128,
CODE_FOR_floathidf2 = 129,
CODE_FOR_floatdidf2 = 132,
CODE_FOR_floathixf2 = 133,
CODE_FOR_floathitf2 = 134,
CODE_FOR_floatsixf2 = 135,
CODE_FOR_floatsitf2 = 136,
CODE_FOR_floatdixf2 = 137,
CODE_FOR_floatditf2 = 138,
CODE_FOR_adddi3 = 139,
CODE_FOR_addqi3_cc = 142,
CODE_FOR_addqi_ext_1 = 164,
CODE_FOR_subdi3 = 166,
CODE_FOR_subsi3_carry = 167,
CODE_FOR_mulqi3 = 179,
CODE_FOR_umulqihi3 = 180,
CODE_FOR_mulqihi3 = 181,
CODE_FOR_umulsidi3 = 182,
CODE_FOR_mulsidi3 = 183,
CODE_FOR_umulsi3_highpart = 184,
CODE_FOR_smulsi3_highpart = 185,
CODE_FOR_divqi3 = 186,
CODE_FOR_udivqi3 = 187,
CODE_FOR_divmodhi4 = 191,
CODE_FOR_udivmodsi4 = 192,
CODE_FOR_testsi_1 = 195,
CODE_FOR_andqi_ext_0 = 210,
CODE_FOR_ashldi3_1 = 275,
CODE_FOR_x86_shld_1 = 277,
CODE_FOR_ashrdi3_1 = 286,
CODE_FOR_x86_shrd_1 = 288,
CODE_FOR_ashrsi3_31 = 289,
CODE_FOR_lshrdi3_1 = 302,
CODE_FOR_setcc_2 = 329,
CODE_FOR_jump = 342,
CODE_FOR_indirect_jump = 343,
CODE_FOR_tablejump = 344,
CODE_FOR_doloop_end_internal = 346,
CODE_FOR_blockage = 351,
CODE_FOR_return_internal = 352,
CODE_FOR_return_pop_internal = 353,
CODE_FOR_return_indirect_internal = 354,
CODE_FOR_nop = 355,
CODE_FOR_prologue_set_got = 356,
CODE_FOR_prologue_get_pc = 357,
CODE_FOR_leave = 358,
CODE_FOR_ffssi_1 = 359,
CODE_FOR_sqrtsf2_1 = 390,
CODE_FOR_sqrtsf2_1_sse_only = 391,
CODE_FOR_sqrtsf2_i387 = 392,
CODE_FOR_sqrtdf2_1 = 393,
CODE_FOR_sqrtdf2_1_sse_only = 394,
CODE_FOR_sqrtdf2_i387 = 395,
CODE_FOR_sqrtxf2 = 397,
CODE_FOR_sqrttf2 = 398,
CODE_FOR_sindf2 = 403,
CODE_FOR_sinsf2 = 404,
CODE_FOR_sinxf2 = 406,
CODE_FOR_sintf2 = 407,
CODE_FOR_cosdf2 = 408,
CODE_FOR_cossf2 = 409,
CODE_FOR_cosxf2 = 411,
CODE_FOR_costf2 = 412,
CODE_FOR_cld = 413,
CODE_FOR_strmovsi_1 = 414,
CODE_FOR_strmovhi_1 = 415,
CODE_FOR_strmovqi_1 = 416,
CODE_FOR_rep_movsi = 417,
CODE_FOR_rep_movqi = 418,
CODE_FOR_strsetsi_1 = 419,
CODE_FOR_strsethi_1 = 420,
CODE_FOR_strsetqi_1 = 421,
CODE_FOR_rep_stossi = 422,
CODE_FOR_rep_stosqi = 423,
CODE_FOR_cmpstrsi_nz_1 = 424,
CODE_FOR_cmpstrsi_1 = 425,
CODE_FOR_strlensi_1 = 426,
CODE_FOR_x86_movsicc_0_m1 = 427,
CODE_FOR_pro_epilogue_adjust_stack = 434,
CODE_FOR_allocate_stack_worker = 435,
CODE_FOR_trap = 440,
CODE_FOR_movv4sf_internal = 442,
CODE_FOR_movv4si_internal = 443,
CODE_FOR_movv8qi_internal = 444,
CODE_FOR_movv4hi_internal = 445,
CODE_FOR_movv2si_internal = 446,
CODE_FOR_movti_internal = 453,
CODE_FOR_sse_movaps = 454,
CODE_FOR_sse_movups = 455,
CODE_FOR_sse_movmskps = 456,
CODE_FOR_mmx_pmovmskb = 457,
CODE_FOR_mmx_maskmovq = 458,
CODE_FOR_sse_movntv4sf = 459,
CODE_FOR_sse_movntdi = 460,
CODE_FOR_sse_movhlps = 461,
CODE_FOR_sse_movlhps = 462,
CODE_FOR_sse_movhps = 463,
CODE_FOR_sse_movlps = 464,
CODE_FOR_sse_loadss = 465,
CODE_FOR_sse_movss = 466,
CODE_FOR_sse_storess = 467,
CODE_FOR_sse_shufps = 468,
CODE_FOR_addv4sf3 = 469,
CODE_FOR_vmaddv4sf3 = 470,
CODE_FOR_subv4sf3 = 471,
CODE_FOR_vmsubv4sf3 = 472,
CODE_FOR_mulv4sf3 = 473,
CODE_FOR_vmmulv4sf3 = 474,
CODE_FOR_divv4sf3 = 475,
CODE_FOR_vmdivv4sf3 = 476,
CODE_FOR_rcpv4sf2 = 477,
CODE_FOR_vmrcpv4sf2 = 478,
CODE_FOR_rsqrtv4sf2 = 479,
CODE_FOR_vmrsqrtv4sf2 = 480,
CODE_FOR_sqrtv4sf2 = 481,
CODE_FOR_vmsqrtv4sf2 = 482,
CODE_FOR_sse_andti3 = 483,
CODE_FOR_sse_nandti3 = 484,
CODE_FOR_sse_iorti3 = 485,
CODE_FOR_sse_xorti3 = 486,
CODE_FOR_sse_clrti = 487,
CODE_FOR_maskcmpv4sf3 = 488,
CODE_FOR_maskncmpv4sf3 = 489,
CODE_FOR_vmmaskcmpv4sf3 = 490,
CODE_FOR_vmmaskncmpv4sf3 = 491,
CODE_FOR_sse_comi = 492,
CODE_FOR_sse_ucomi = 493,
CODE_FOR_sse_unpckhps = 494,
CODE_FOR_sse_unpcklps = 495,
CODE_FOR_smaxv4sf3 = 496,
CODE_FOR_vmsmaxv4sf3 = 497,
CODE_FOR_sminv4sf3 = 498,
CODE_FOR_vmsminv4sf3 = 499,
CODE_FOR_cvtpi2ps = 500,
CODE_FOR_cvtps2pi = 501,
CODE_FOR_cvttps2pi = 502,
CODE_FOR_cvtsi2ss = 503,
CODE_FOR_cvtss2si = 504,
CODE_FOR_cvttss2si = 505,
CODE_FOR_addv8qi3 = 506,
CODE_FOR_addv4hi3 = 507,
CODE_FOR_addv2si3 = 508,
CODE_FOR_ssaddv8qi3 = 509,
CODE_FOR_ssaddv4hi3 = 510,
CODE_FOR_usaddv8qi3 = 511,
CODE_FOR_usaddv4hi3 = 512,
CODE_FOR_subv8qi3 = 513,
CODE_FOR_subv4hi3 = 514,
CODE_FOR_subv2si3 = 515,
CODE_FOR_sssubv8qi3 = 516,
CODE_FOR_sssubv4hi3 = 517,
CODE_FOR_ussubv8qi3 = 518,
CODE_FOR_ussubv4hi3 = 519,
CODE_FOR_mulv4hi3 = 520,
CODE_FOR_smulv4hi3_highpart = 521,
CODE_FOR_umulv4hi3_highpart = 522,
CODE_FOR_mmx_pmaddwd = 523,
CODE_FOR_mmx_iordi3 = 524,
CODE_FOR_mmx_xordi3 = 525,
CODE_FOR_mmx_clrdi = 526,
CODE_FOR_mmx_anddi3 = 527,
CODE_FOR_mmx_nanddi3 = 528,
CODE_FOR_mmx_uavgv8qi3 = 529,
CODE_FOR_mmx_uavgv4hi3 = 530,
CODE_FOR_mmx_psadbw = 531,
CODE_FOR_mmx_pinsrw = 532,
CODE_FOR_mmx_pextrw = 533,
CODE_FOR_mmx_pshufw = 534,
CODE_FOR_eqv8qi3 = 535,
CODE_FOR_eqv4hi3 = 536,
CODE_FOR_eqv2si3 = 537,
CODE_FOR_gtv8qi3 = 538,
CODE_FOR_gtv4hi3 = 539,
CODE_FOR_gtv2si3 = 540,
CODE_FOR_umaxv8qi3 = 541,
CODE_FOR_smaxv4hi3 = 542,
CODE_FOR_uminv8qi3 = 543,
CODE_FOR_sminv4hi3 = 544,
CODE_FOR_ashrv4hi3 = 545,
CODE_FOR_ashrv2si3 = 546,
CODE_FOR_lshrv4hi3 = 547,
CODE_FOR_lshrv2si3 = 548,
CODE_FOR_mmx_lshrdi3 = 549,
CODE_FOR_ashlv4hi3 = 550,
CODE_FOR_ashlv2si3 = 551,
CODE_FOR_mmx_ashldi3 = 552,
CODE_FOR_mmx_packsswb = 553,
CODE_FOR_mmx_packssdw = 554,
CODE_FOR_mmx_packuswb = 555,
CODE_FOR_mmx_punpckhbw = 556,
CODE_FOR_mmx_punpckhwd = 557,
CODE_FOR_mmx_punpckhdq = 558,
CODE_FOR_mmx_punpcklbw = 559,
CODE_FOR_mmx_punpcklwd = 560,
CODE_FOR_mmx_punpckldq = 561,
CODE_FOR_emms = 562,
CODE_FOR_ldmxcsr = 563,
CODE_FOR_stmxcsr = 564,
CODE_FOR_prefetch = 566,
CODE_FOR_cmpdi = 567,
CODE_FOR_cmpsi = 568,
CODE_FOR_cmphi = 569,
CODE_FOR_cmpqi = 570,
CODE_FOR_cmpsi_1 = 571,
CODE_FOR_cmpqi_ext_3 = 572,
CODE_FOR_cmpxf = 573,
CODE_FOR_cmptf = 574,
CODE_FOR_cmpdf = 575,
CODE_FOR_cmpsf = 576,
CODE_FOR_movsi = 578,
CODE_FOR_movhi = 579,
CODE_FOR_movstricthi = 580,
CODE_FOR_movqi = 581,
CODE_FOR_reload_outqi = 582,
CODE_FOR_movstrictqi = 583,
CODE_FOR_movdi = 584,
CODE_FOR_movsf = 587,
CODE_FOR_movdf = 591,
CODE_FOR_movxf = 596,
CODE_FOR_movtf = 597,
CODE_FOR_zero_extendhisi2 = 603,
CODE_FOR_zero_extendqihi2 = 605,
CODE_FOR_zero_extendqisi2 = 609,
CODE_FOR_extendsfdf2 = 623,
CODE_FOR_extendsfxf2 = 624,
CODE_FOR_extendsftf2 = 625,
CODE_FOR_extenddfxf2 = 626,
CODE_FOR_extenddftf2 = 627,
CODE_FOR_truncdfsf2 = 628,
CODE_FOR_truncxfsf2 = 632,
CODE_FOR_trunctfsf2 = 635,
CODE_FOR_truncxfdf2 = 638,
CODE_FOR_trunctfdf2 = 641,
CODE_FOR_fix_truncxfdi2 = 644,
CODE_FOR_fix_trunctfdi2 = 645,
CODE_FOR_fix_truncdfdi2 = 646,
CODE_FOR_fix_truncsfdi2 = 647,
CODE_FOR_fix_truncxfsi2 = 649,
CODE_FOR_fix_trunctfsi2 = 650,
CODE_FOR_fix_truncdfsi2 = 651,
CODE_FOR_fix_truncsfsi2 = 652,
CODE_FOR_fix_truncxfhi2 = 654,
CODE_FOR_fix_trunctfhi2 = 655,
CODE_FOR_fix_truncdfhi2 = 656,
CODE_FOR_fix_truncsfhi2 = 657,
CODE_FOR_floatsisf2 = 660,
CODE_FOR_floatsidf2 = 661,
CODE_FOR_addsi3 = 664,
CODE_FOR_addhi3 = 669,
CODE_FOR_addqi3 = 670,
CODE_FOR_addxf3 = 671,
CODE_FOR_addtf3 = 672,
CODE_FOR_adddf3 = 673,
CODE_FOR_addsf3 = 674,
CODE_FOR_subsi3 = 676,
CODE_FOR_subhi3 = 677,
CODE_FOR_subqi3 = 678,
CODE_FOR_subxf3 = 679,
CODE_FOR_subtf3 = 680,
CODE_FOR_subdf3 = 681,
CODE_FOR_subsf3 = 682,
CODE_FOR_mulsi3 = 683,
CODE_FOR_mulhi3 = 684,
CODE_FOR_mulxf3 = 685,
CODE_FOR_multf3 = 686,
CODE_FOR_muldf3 = 687,
CODE_FOR_mulsf3 = 688,
CODE_FOR_divxf3 = 689,
CODE_FOR_divtf3 = 690,
CODE_FOR_divdf3 = 691,
CODE_FOR_divsf3 = 692,
CODE_FOR_divmodsi4 = 693,
CODE_FOR_udivmodhi4 = 696,
CODE_FOR_testsi_ccno_1 = 697,
CODE_FOR_testqi_ccz_1 = 698,
CODE_FOR_testqi_ext_ccno_0 = 699,
CODE_FOR_andsi3 = 701,
CODE_FOR_andhi3 = 705,
CODE_FOR_andqi3 = 706,
CODE_FOR_iorsi3 = 707,
CODE_FOR_iorhi3 = 708,
CODE_FOR_iorqi3 = 709,
CODE_FOR_xorsi3 = 710,
CODE_FOR_xorhi3 = 711,
CODE_FOR_xorqi3 = 712,
CODE_FOR_xorqi_cc_ext_1 = 713,
CODE_FOR_negdi2 = 714,
CODE_FOR_negsi2 = 716,
CODE_FOR_neghi2 = 717,
CODE_FOR_negqi2 = 718,
CODE_FOR_negsf2 = 719,
CODE_FOR_negdf2 = 723,
CODE_FOR_negxf2 = 726,
CODE_FOR_negtf2 = 727,
CODE_FOR_abssf2 = 732,
CODE_FOR_absdf2 = 736,
CODE_FOR_absxf2 = 739,
CODE_FOR_abstf2 = 740,
CODE_FOR_one_cmplsi2 = 745,
CODE_FOR_one_cmplhi2 = 747,
CODE_FOR_one_cmplqi2 = 749,
CODE_FOR_ashldi3 = 751,
CODE_FOR_x86_shift_adj_1 = 754,
CODE_FOR_x86_shift_adj_2 = 755,
CODE_FOR_ashlsi3 = 756,
CODE_FOR_ashlhi3 = 758,
CODE_FOR_ashlqi3 = 759,
CODE_FOR_ashrdi3 = 760,
CODE_FOR_x86_shift_adj_3 = 763,
CODE_FOR_ashrsi3 = 764,
CODE_FOR_ashrhi3 = 765,
CODE_FOR_ashrqi3 = 766,
CODE_FOR_lshrdi3 = 767,
CODE_FOR_lshrsi3 = 770,
CODE_FOR_lshrhi3 = 771,
CODE_FOR_lshrqi3 = 772,
CODE_FOR_rotlsi3 = 773,
CODE_FOR_rotlhi3 = 774,
CODE_FOR_rotlqi3 = 775,
CODE_FOR_rotrsi3 = 776,
CODE_FOR_rotrhi3 = 777,
CODE_FOR_rotrqi3 = 778,
CODE_FOR_extv = 779,
CODE_FOR_extzv = 780,
CODE_FOR_insv = 781,
CODE_FOR_seq = 782,
CODE_FOR_sne = 783,
CODE_FOR_sgt = 784,
CODE_FOR_sgtu = 785,
CODE_FOR_slt = 786,
CODE_FOR_sltu = 787,
CODE_FOR_sge = 788,
CODE_FOR_sgeu = 789,
CODE_FOR_sle = 790,
CODE_FOR_sleu = 791,
CODE_FOR_sunordered = 792,
CODE_FOR_sordered = 793,
CODE_FOR_suneq = 794,
CODE_FOR_sunge = 795,
CODE_FOR_sungt = 796,
CODE_FOR_sunle = 797,
CODE_FOR_sunlt = 798,
CODE_FOR_sltgt = 799,
CODE_FOR_beq = 800,
CODE_FOR_bne = 801,
CODE_FOR_bgt = 802,
CODE_FOR_bgtu = 803,
CODE_FOR_blt = 804,
CODE_FOR_bltu = 805,
CODE_FOR_bge = 806,
CODE_FOR_bgeu = 807,
CODE_FOR_ble = 808,
CODE_FOR_bleu = 809,
CODE_FOR_bunordered = 810,
CODE_FOR_bordered = 811,
CODE_FOR_buneq = 812,
CODE_FOR_bunge = 813,
CODE_FOR_bungt = 814,
CODE_FOR_bunle = 815,
CODE_FOR_bunlt = 816,
CODE_FOR_bltgt = 817,
CODE_FOR_casesi = 820,
CODE_FOR_doloop_end = 821,
CODE_FOR_call_pop = 824,
CODE_FOR_call = 825,
CODE_FOR_call_value_pop = 826,
CODE_FOR_call_value = 827,
CODE_FOR_untyped_call = 828,
CODE_FOR_return = 829,
CODE_FOR_prologue = 830,
CODE_FOR_epilogue = 831,
CODE_FOR_sibcall_epilogue = 832,
CODE_FOR_ffssi2 = 833,
CODE_FOR_sqrtsf2 = 836,
CODE_FOR_sqrtdf2 = 837,
CODE_FOR_movstrsi = 838,
CODE_FOR_strmovsi = 839,
CODE_FOR_strmovhi = 840,
CODE_FOR_strmovqi = 841,
CODE_FOR_clrstrsi = 842,
CODE_FOR_strsetsi = 843,
CODE_FOR_strsethi = 844,
CODE_FOR_strsetqi = 845,
CODE_FOR_cmpstrsi = 846,
CODE_FOR_cmpintqi = 847,
CODE_FOR_strlensi = 848,
CODE_FOR_movsicc = 849,
CODE_FOR_movhicc = 850,
CODE_FOR_movsfcc = 851,
CODE_FOR_movdfcc = 852,
CODE_FOR_movxfcc = 854,
CODE_FOR_movtfcc = 855,
CODE_FOR_allocate_stack = 856,
CODE_FOR_exception_receiver = 857,
CODE_FOR_builtin_setjmp_receiver = 858,
CODE_FOR_conditional_trap = 906,
CODE_FOR_movti = 907,
CODE_FOR_movv4sf = 908,
CODE_FOR_movv4si = 909,
CODE_FOR_movv2si = 910,
CODE_FOR_movv4hi = 911,
CODE_FOR_movv8qi = 912,
CODE_FOR_sfence = 919,
CODE_FOR_nothing = 920 };
struct rtx_def;
# 1 "../../gcc/gcc/machmode.h" 1
# 29 "../../gcc/gcc/machmode.h"
enum machine_mode {
# 1 "../../gcc/gcc/machmode.def" 1
# 67 "../../gcc/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 "../../gcc/gcc/machmode.def"
CCmode,
CCGCmode, CCGOCmode, CCNOmode, CCZmode, CCFPmode, CCFPUmode,
# 31 "../../gcc/gcc/machmode.h" 2
MAX_MACHINE_MODE };
# 41 "../../gcc/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 "../../gcc/gcc/machmode.h"
extern const unsigned int mode_size[];
extern const unsigned int mode_unit_size[];
# 96 "../../gcc/gcc/machmode.h"
extern const unsigned int mode_bitsize[];
# 117 "../../gcc/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;
# 436 "insn-codes.h" 2
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);
# 16 "tm.h" 2
# 44 "../../gcc/gcc/config/i386/xm-i386.h" 2
# 7 "tconfig.h" 2
# 1 "../../gcc/gcc/config/i386/xm-mingw32.h" 1
# 10 "tconfig.h" 2
# 1 "../../gcc/gcc/defaults.h" 1
# 13 "tconfig.h" 2
# 37 "../../gcc/gcc/libgcc2.c" 2
# 1 "../../gcc/gcc/tsystem.h" 1
# 37 "../../gcc/gcc/tsystem.h"
# 1 "/usr/local/cvs/gcc/gcc-obj/gcc/include/stddef.h" 1 3
# 147 "/usr/local/cvs/gcc/gcc-obj/gcc/include/stddef.h" 3
typedef int ptrdiff_t;
# 199 "/usr/local/cvs/gcc/gcc-obj/gcc/include/stddef.h" 3
typedef unsigned int size_t;
# 287 "/usr/local/cvs/gcc/gcc-obj/gcc/include/stddef.h" 3
typedef short unsigned int wchar_t;
# 38 "../../gcc/gcc/tsystem.h" 2
extern void *malloc (size_t);
extern void free (void *);
extern int atexit (void (*)(void));
# 38 "../../gcc/gcc/libgcc2.c" 2
# 1 "../../gcc/gcc/machmode.h" 1
# 40 "../../gcc/gcc/libgcc2.c" 2
# 1 "../../gcc/gcc/libgcc2.h" 1
# 25 "../../gcc/gcc/libgcc2.h"
typedef void (*__terminate_func_ptr)(void) __attribute__ ((__noreturn__));
extern int __gcc_bcmp (const unsigned char *, const unsigned char *, size_t);
extern void *__builtin_saveregs (void);
extern void __dummy (void);
extern void __clear_cache (char *, char *);
extern void __pure_virtual (void) __attribute__ ((__noreturn__));
extern void __terminate (void) __attribute__ ((__noreturn__));
extern __terminate_func_ptr __terminate_set_func (__terminate_func_ptr);
extern void __default_terminate (void) __attribute__ ((__noreturn__));
extern void *__throw_type_match (void *, void *, void *);
extern void __empty (void);
extern void *__get_eh_context (void);
extern void **__get_eh_info (void);
extern void ***__get_dynamic_handler_chain (void);
extern int __eh_rtime_match (void *);
extern void __unwinding_cleanup (void);
extern void __rethrow (void *);
extern void __throw (void);
extern void __sjthrow (void) __attribute__ ((__noreturn__));
extern void __sjpopnthrow (void) __attribute__ ((__noreturn__));
extern void __eprintf (const char *, const char *, unsigned int, const char *)
__attribute__ ((__noreturn__));
extern void *__eh_alloc (size_t);
extern void __eh_free (void *);
struct bb;
extern void __bb_exit_func (void);
extern void __bb_init_func (struct bb *);
extern void __bb_fork_func (void);
extern void __bb_trace_func (void);
extern void __bb_trace_ret (void);
extern void __bb_init_trace_func (struct bb *, unsigned long);
struct exception_descriptor;
extern short int __get_eh_table_language (struct exception_descriptor *);
extern short int __get_eh_table_version (struct exception_descriptor *);
# 88 "../../gcc/gcc/libgcc2.h"
typedef int QItype __attribute__ ((mode (QI)));
typedef unsigned int UQItype __attribute__ ((mode (QI)));
typedef int HItype __attribute__ ((mode (HI)));
typedef unsigned int UHItype __attribute__ ((mode (HI)));
typedef int SItype __attribute__ ((mode (SI)));
typedef unsigned int USItype __attribute__ ((mode (SI)));
typedef int DItype __attribute__ ((mode (DI)));
typedef unsigned int UDItype __attribute__ ((mode (DI)));
# 110 "../../gcc/gcc/libgcc2.h"
typedef float SFtype __attribute__ ((mode (SF)));
typedef float DFtype __attribute__ ((mode (DF)));
typedef float XFtype __attribute__ ((mode (XF)));
# 143 "../../gcc/gcc/libgcc2.h"
typedef int word_type __attribute__ ((mode (__word__)));
# 235 "../../gcc/gcc/libgcc2.h"
extern DItype __muldi3 (DItype, DItype);
extern DItype __divdi3 (DItype, DItype);
extern UDItype __udivdi3 (UDItype, UDItype);
extern UDItype __umoddi3 (UDItype, UDItype);
extern DItype __moddi3 (DItype, DItype);
# 252 "../../gcc/gcc/libgcc2.h"
extern DItype __lshrdi3 (DItype, word_type);
extern DItype __ashldi3 (DItype, word_type);
extern DItype __ashrdi3 (DItype, word_type);
extern DItype __ffsdi2 (DItype);
extern word_type __cmpdi2 (DItype, DItype);
extern word_type __ucmpdi2 (DItype, DItype);
extern SItype __absvsi2 (SItype);
extern DItype __absvdi2 (DItype);
extern SItype __addvsi3 (SItype, SItype);
extern DItype __addvdi3 (DItype, DItype);
extern SItype __subvsi3 (SItype, SItype);
extern DItype __subvdi3 (DItype, DItype);
extern SItype __mulvsi3 (SItype, SItype);
extern DItype __mulvdi3 (DItype, DItype);
extern SItype __negvsi2 (SItype);
extern DItype __negvdi2 (DItype);
extern DItype __fixdfdi (DFtype);
extern DItype __fixsfdi (SFtype);
extern DFtype __floatdidf (DItype);
extern SFtype __floatdisf (DItype);
extern USItype __fixunsdfsi (DFtype);
extern USItype __fixunssfsi (SFtype);
extern DItype __fixunsdfdi (DFtype);
extern DItype __fixunssfdi (SFtype);
extern DItype __fixxfdi (XFtype);
extern DItype __fixunsxfdi (XFtype);
extern XFtype __floatdixf (DItype);
extern USItype __fixunsxfsi (XFtype);
# 307 "../../gcc/gcc/libgcc2.h"
struct DWstruct {SItype low, high;};
typedef union
{
struct DWstruct s;
DItype ll;
} DWunion;
# 1 "../../gcc/gcc/longlong.h" 1
# 321 "../../gcc/gcc/libgcc2.h" 2
# 47 "../../gcc/gcc/libgcc2.c" 2
static __inline__
DItype
__negdi2 (DItype u)
{
DWunion w;
DWunion uu;
uu.ll = u;
w.s.low = -uu.s.low;
w.s.high = -uu.s.high - ((USItype) w.s.low > 0);
return w.ll;
}
# 504 "../../gcc/gcc/libgcc2.c"
static __inline__
UDItype
__udivmoddi4 (UDItype n, UDItype d, UDItype *rp)
{
DWunion ww;
DWunion nn, dd;
DWunion rr;
USItype d0, d1, n0, n1, n2;
USItype q0, q1;
USItype b, bm;
nn.ll = n;
dd.ll = d;
d0 = dd.s.low;
d1 = dd.s.high;
n0 = nn.s.low;
n1 = nn.s.high;
if (d1 == 0)
{
if (d0 > n1)
{
__asm__ ("divl %4" : "=a" ((USItype) (q0)), "=d" ((USItype) (n0)) : "0" ((USItype) (n0)), "1" ((USItype) (n1)), "rm" ((USItype) (d0)));
q1 = 0;
}
else
{
if (d0 == 0)
d0 = 1 / d0;
__asm__ ("divl %4" : "=a" ((USItype) (q1)), "=d" ((USItype) (n1)) : "0" ((USItype) (n1)), "1" ((USItype) (0)), "rm" ((USItype) (d0)));
__asm__ ("divl %4" : "=a" ((USItype) (q0)), "=d" ((USItype) (n0)) : "0" ((USItype) (n0)), "1" ((USItype) (n1)), "rm" ((USItype) (d0)));
}
if (rp != 0)
{
rr.s.low = n0;
rr.s.high = 0;
*rp = rr.ll;
}
}
# 633 "../../gcc/gcc/libgcc2.c"
else
{
if (d1 > n1)
{
q0 = 0;
q1 = 0;
if (rp != 0)
{
rr.s.low = n0;
rr.s.high = n1;
*rp = rr.ll;
}
}
else
{
do { USItype __cbtmp; __asm__ ("bsrl %1,%0" : "=r" (__cbtmp) : "rm" ((USItype) (d1))); (bm) = __cbtmp ^ 31; } while (0);
if (bm == 0)
{
# 665 "../../gcc/gcc/libgcc2.c"
if (n1 > d1 || n0 >= d0)
{
q0 = 1;
__asm__ ("subl %5,%1\n\tsbbl %3,%0" : "=r" ((USItype) (n1)), "=&r" ((USItype) (n0)) : "0" ((USItype) (n1)), "g" ((USItype) (d1)), "1" ((USItype) (n0)), "g" ((USItype) (d0)));
}
else
q0 = 0;
q1 = 0;
if (rp != 0)
{
rr.s.low = n0;
rr.s.high = n1;
*rp = rr.ll;
}
}
else
{
USItype m1, m0;
b = (4 * 8) - bm;
d1 = (d1 << bm) | (d0 >> b);
d0 = d0 << bm;
n2 = n1 >> b;
n1 = (n1 << bm) | (n0 >> b);
n0 = n0 << bm;
__asm__ ("divl %4" : "=a" ((USItype) (q0)), "=d" ((USItype) (n1)) : "0" ((USItype) (n1)), "1" ((USItype) (n2)), "rm" ((USItype) (d1)));
__asm__ ("mull %3" : "=a" ((USItype) (m0)), "=d" ((USItype) (m1)) : "%0" ((USItype) (q0)), "rm" ((USItype) (d0)));
if (m1 > n1 || (m1 == n1 && m0 > n0))
{
q0--;
__asm__ ("subl %5,%1\n\tsbbl %3,%0" : "=r" ((USItype) (m1)), "=&r" ((USItype) (m0)) : "0" ((USItype) (m1)), "g" ((USItype) (d1)), "1" ((USItype) (m0)), "g" ((USItype) (d0)));
}
q1 = 0;
if (rp != 0)
{
__asm__ ("subl %5,%1\n\tsbbl %3,%0" : "=r" ((USItype) (n1)), "=&r" ((USItype) (n0)) : "0" ((USItype) (n1)), "g" ((USItype) (m1)), "1" ((USItype) (n0)), "g" ((USItype) (m0)));
rr.s.low = (n1 << b) | (n0 >> bm);
rr.s.high = n1 >> bm;
*rp = rr.ll;
}
}
}
}
ww.s.low = q0;
ww.s.high = q1;
return ww.ll;
}
DItype
__divdi3 (DItype u, DItype v)
{
word_type c = 0;
DWunion uu, vv;
DItype w;
uu.ll = u;
vv.ll = v;
if (uu.s.high < 0)
c = ~c,
uu.ll = __negdi2 (uu.ll);
if (vv.s.high < 0)
c = ~c,
vv.ll = __negdi2 (vv.ll);
w = __udivmoddi4 (uu.ll, vv.ll, (UDItype *) 0);
if (c)
w = __negdi2 (w);
return w;
}
>Fix:
Unknown
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-prs
mailing list