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 |
|