compiler/arm/c-call: add support for passing/returning float ins c calls
commit199325599230a684a6d0509ee7a85de6fe524ef6
authorPhilipp Matthias Schaefer <philipp.schaefer@gmail.com>
Sun, 20 Apr 2014 15:08:37 +0000 (20 17:08 +0200)
committerAlastair Bridgewater <nyef@kana.lisphacker.com>
Sat, 10 May 2014 19:12:20 +0000 (10 15:12 -0400)
treea04af16bdf2e53b1193f0a1112c3624f532d6686
parentacad497993794c9d9d4dc8c720863636bd276375
compiler/arm/c-call: add support for passing/returning float ins c calls

* The C calling convention for ARM passes single and double float
  arguments in the first 16 single (8 double) float registers as long
  as there is space and then falls back to the stack.
* Each argument is passed in the first unallocated registers of
  appropriate size, e.g. void(float, double, float) and void(float, float,
  double) use the same registers for the two float and the double register.
* Returned single or double floats are passed in the first single or
  double float register.
* I didn't implement stack passing for now, since I have no idea how
  I would go about doing that.
src/compiler/arm/c-call.lisp