X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firmode.c;h=959f7f467a3c1d75a7582b042b737d27a232cc99;hb=22792ba22e7275e68cfbdd8aa6305c2e9e26bc9b;hp=31e27c2b3fb4f8f9ad8f3a6d952c5a59f3cd8d12;hpb=e3b765fcef0e337f4fe2e17d57d2fbaf1912ec79;p=libfirm diff --git a/ir/ir/irmode.c b/ir/ir/irmode.c index 31e27c2b3..959f7f467 100644 --- a/ir/ir/irmode.c +++ b/ir/ir/irmode.c @@ -21,7 +21,6 @@ * @file * @brief Data modes of operations. * @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Mathias Heil - * @version $Id$ */ #include "config.h" @@ -47,20 +46,6 @@ static struct obstack modes; /** The list of all currently existing modes. */ static ir_mode **mode_list; -const char *get_mode_arithmetic_name(ir_mode_arithmetic ari) -{ -#define X(a) case a: return #a - switch (ari) { - X(irma_uninitialized); - X(irma_none); - X(irma_twos_complement); - X(irma_ieee754); - X(irma_x86_extended_float); - default: return ""; - } -#undef X -} - static bool modes_are_equal(const ir_mode *m, const ir_mode *n) { return m->sort == n->sort && @@ -291,7 +276,7 @@ ir_mode *new_float_mode(const char *name, ir_mode_arithmetic arithmetic, if (mantissa_size >= 256) panic("Mantissa >= 256 bits not supported"); - result = alloc_mode(name, irms_float_number, irma_ieee754, bit_size, 1, 0); + result = alloc_mode(name, irms_float_number, irma_x86_extended_float, bit_size, 1, 0); result->float_desc.exponent_size = exponent_size; result->float_desc.mantissa_size = mantissa_size; result->float_desc.explicit_one = explicit_one; @@ -634,6 +619,8 @@ void init_mode(void) 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;