Commit graph

18 commits

Author SHA1 Message Date
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
5dfef6f180 Rework relocations again: add RELO2HI and RELO2HISAD for the high two bytes of
a word.
2018-09-09 14:11:11 +02:00
David Given
95dd6f0141 Fix some niggling issues --- we have our first binary now! 2018-09-09 12:24:22 +02:00
David Given
b3b7c684c6 Simplify MIPS relocations. Add RELS2 (for generic high-word relocations). Add
support for MIPS branch-and-jump relocations.
2018-09-09 12:23:59 +02:00
David Given
d2a1d4dcda Added some very untested csa and csb implementations, based on the PowerPC
ones.
2018-09-08 23:12:57 +02:00
David Given
75308901bc Added hi[] and lo[] functions to the assembler; fix things enough that we now
get to the point of failing to link programs.
2018-09-08 22:42:06 +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
26fe3f7530 Added library skeletons. 2018-09-05 00:07:07 +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
f8e71d888b Add some painfully untested FPU instructions. 2018-09-02 21:36:09 +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
David Given
4741ed8e14 Add a completely non-tested table-based MIPS assembler. 2018-09-01 19:35:31 +02:00