riscv: some long double support
commit9309585dbe64e89614fcf87f3a879bb18c25c4ca
authorMichael Matz <matz@suse.de>
Sun, 14 Jul 2019 03:48:15 +0000 (14 05:48 +0200)
committerMichael Matz <matz@suse.de>
Sun, 1 Sep 2019 21:13:19 +0000 (1 23:13 +0200)
treedc411aa1e37c2f0e8370ee077331e3c6c98185ce
parent9c1b17407f366d73391836eeb7a01e09fa7506b1
riscv: some long double support

long double on risc-v is 128bit, but there are no registers
for that type (without the Q ISA extension).  They are passed
like two 64bit integers values (with an exception for varargs,
where it's an aligned register pair).  This all requires some
hacks in generic code as otherwise RC_FLOAT regs are tried for
holding values of long double type, but we need a RC_INT register
pair.  This really could all use some cleanup for all archs.

This doesn't implement any conversions of operations for long
double, but it's enough to get 70_floating_point_literals working.
riscv64-gen.c
tccgen.c