Instructions classification: FP : add, sub, mul, sdiv, copy, par, arg Maybe : and, or, xor, cmp(6) Non FP: udiv, srem, urem, store(4), load(7), ext(7), alloc(5), parc, argc, call 15 bits for operations 32768 -1 bit for s,d 16384 New conversion instructions: - Bitcast conversion between fp and ints. bcast - Convert fp to/from int. ftosi sitof (only signed at first, truncation) - Convert single to/from double fconv Summary: Add bcast, ftosi sitof, fconv Add a 'floating point' bit to instructions Conversions from/to unsigned types are hard! I need to find a reference for that. Roadmap in isel. Make sure all floating point immediates are accessed through a memory load. The load can be fused in some instructions (add, sub, mul, div). This should be handled similarly to the large integer constants. Note: contrary to large constants, the transformation also needs to be run on phi nodes! Complete ABI implementation, we should only need the movsd instruction to transfer between sse registers and memory.