コード例 #1
0
ファイル: irmode.c プロジェクト: davidgiven/libfirm
void init_mode(void)
{
    obstack_init(&modes);
    mode_list = NEW_ARR_F(ir_mode*, 0);

    /* initialize predefined modes */
    mode_BB  = new_non_data_mode("BB");
    mode_X   = new_non_data_mode("X");
    mode_M   = new_non_data_mode("M");
    mode_T   = new_non_data_mode("T");
    mode_ANY = new_non_data_mode("ANY");
    mode_BAD = new_non_data_mode("BAD");
    mode_b   = alloc_mode("b", irms_internal_boolean, irma_none, 1, 0, 0);
    mode_b   = register_mode(mode_b);

    mode_F   = new_float_mode("F", irma_ieee754,  8, 23, ir_overflow_min_max);
    mode_D   = new_float_mode("D", irma_ieee754, 11, 52, ir_overflow_min_max);

    mode_Bs  = new_int_mode("Bs",  irma_twos_complement, 8,   1, 32);
    mode_Bu  = new_int_mode("Bu",  irma_twos_complement, 8,   0, 32);
    mode_Hs  = new_int_mode("Hs",  irma_twos_complement, 16,  1, 32);
    mode_Hu  = new_int_mode("Hu",  irma_twos_complement, 16,  0, 32);
    mode_Is  = new_int_mode("Is",  irma_twos_complement, 32,  1, 32);
    mode_Iu  = new_int_mode("Iu",  irma_twos_complement, 32,  0, 32);
    mode_Ls  = new_int_mode("Ls",  irma_twos_complement, 64,  1, 64);
    mode_Lu  = new_int_mode("Lu",  irma_twos_complement, 64,  0, 64);

    mode_P   = new_reference_mode("P", irma_twos_complement, 32, 32);
}
コード例 #2
0
ファイル: irmode.c プロジェクト: qznc/libfirm
void init_mode(void)
{
    obstack_init(&modes);
    mode_list = NEW_ARR_F(ir_mode*, 0);

    /* initialize predefined modes */
    mode_BB  = new_internal_mode("BB",  irms_block);
    mode_X   = new_internal_mode("X",   irms_control_flow);
    mode_M   = new_internal_mode("M",   irms_memory);
    mode_T   = new_internal_mode("T",   irms_tuple);
    mode_ANY = new_internal_mode("ANY", irms_any);
    mode_BAD = new_internal_mode("BAD", irms_bad);
    mode_b   = new_internal_mode("b",   irms_internal_boolean);

    mode_F   = new_float_mode("F", irma_ieee754,  8, 23);
    mode_D   = new_float_mode("D", irma_ieee754, 11, 52);
    mode_Q   = new_float_mode("Q", irma_ieee754, 15, 112);

    mode_Bs  = new_int_mode("Bs",  irma_twos_complement, 8,   1, 32);
    mode_Bu  = new_int_mode("Bu",  irma_twos_complement, 8,   0, 32);
    mode_Hs  = new_int_mode("Hs",  irma_twos_complement, 16,  1, 32);
    mode_Hu  = new_int_mode("Hu",  irma_twos_complement, 16,  0, 32);
    mode_Is  = new_int_mode("Is",  irma_twos_complement, 32,  1, 32);
    mode_Iu  = new_int_mode("Iu",  irma_twos_complement, 32,  0, 32);
    mode_Ls  = new_int_mode("Ls",  irma_twos_complement, 64,  1, 64);
    mode_Lu  = new_int_mode("Lu",  irma_twos_complement, 64,  0, 64);
    mode_LLs = new_int_mode("LLs", irma_twos_complement, 128, 1, 128);
    mode_LLu = new_int_mode("LLu", irma_twos_complement, 128, 0, 128);

    mode_P   = new_reference_mode("P", irma_twos_complement, 32, 32);
    set_reference_mode_signed_eq(mode_P, mode_Is);
    set_reference_mode_unsigned_eq(mode_P, mode_Iu);

    /* set the machine specific modes to the predefined ones */
    mode_P_code = mode_P;
    mode_P_data = mode_P;
}