• Matthias Braun's avatar
    ir_mode: simplify interface, improve float-mode handling · e3b765fc
    Matthias Braun authored
    The main change here is splitting new_ir_mode into new_int_mode,
    new_reference_mode and new_float_mode. You can now specify
    mantissa+exponent size in new_float_mode. This also changes:
    - x86 80bit-FP mode is NOT a ieee754 don't put "ieee754" into functions
      names that can also handle x86 80bit fps
    - Move ieee_descriptor_t from tarval module into ir_mode struct
      (and rename to float_descriptor_t)
    - Introduce mode_Q which represents binary128 from ieee754
    - You can ask float modes for mantissa/exponent sizes now
    - Fix endianess when emitting big float values in begnuas
    - A bunch of long double fixes in ia32: the mode there has 10bytes
      (80bit) but the variables typically are 12 or 16 byte big
    - This fixes some problems of sparc binary128 handling