ir_mode: simplify interface, improve float-mode handling
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
29 files changed: