Commit graph

11 commits

Author SHA1 Message Date
David Given bb15c03339 Remember to preserve input registers if we're going to be reading from them
after writing to the output register.
2018-09-09 18:53:49 +02:00
David Given e88670dad4 Yikes! Turns out that FPU registers are only 32 bits wide, and doubles are
stored in pairs, just like on the PowerPC!
2018-09-09 18:25:00 +02:00
David Given 379c1a4a3c Rework floating point conversion. Bash enough of the table into workingness
that the libraries build now.
2018-09-08 22:06:38 +02:00
David Given d2c14ca44f Precisely one stack hreg gets allocated for each vreg/congruence group for
eviction; this prevents us from having to worry about moving values from stack
slot to stack slot, which is hard.
2018-09-08 18:59:55 +02:00
David Given b7a1c96986 MIPS appears to hate converting unsigneds to floats and vice versa. 2018-09-05 23:53:38 +02:00
David Given 7fbce066f8 We attempt to compile the first library function; we fail. 2018-09-05 00:13:01 +02:00
David Given 26c0228b14 The examples all compile now (probably incorrectly, and the libc doesn't
compile yet).
2018-09-04 23:55:28 +02:00
David Given 9d80756253 Lots of assembler and rule bugfixing. 2018-09-04 23:43:24 +02:00
David Given fe5ca5a85f Added li and la instructions. 2018-09-03 22:47:41 +02:00
David Given 26f9b4ceae Add in floating point support to the code generator. 2018-09-03 22:06:05 +02:00
David Given 1d6ecddcf4 The MIPS backend is still full of holes, and cut-and-pasted PowerPC code, but
is beginning to look like an actual code generator.
2018-09-02 18:57:25 +02:00