| 
								
								
									 David Given | 8379969b6f | Fix an unsubtle bug where subtractions were done backwards... | 2018-09-11 23:16:50 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 8230ec42ac | Fix a subtle thinko which was causing bits 2-3 of jump targets to be reset. | 2018-09-11 23:16:30 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 0ce368324e | Add the bitset helpers. We now have enough helpers for the tests to run (and massively fail). | 2018-09-10 23:37:28 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 2f8fe3ce6e | Do some cleanup; ha16[] and friends can now be used with li. | 2018-09-10 23:37:04 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 3122946a6f | Replaced some incorrect hi16s with ha16s. | 2018-09-10 23:21:54 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 008737ed19 | Added some more very untested helper functions. | 2018-09-10 23:20:52 +02:00 |  | 
				
					
						| 
								
								
									 David Given | a1747ac916 | Add the .dataf4 and .dataf8 directives to the assembler --- manually converting floats and doubles to bytes is not fun. It might even work! | 2018-09-10 22:56:18 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 185e910246 | Lots more untested helper functions. | 2018-09-10 01:08:25 +02:00 |  | 
				
					
						| 
								
								
									 David Given | f8f6fa9fc1 | Added some more incredibly untested helper functions. | 2018-09-10 00:21:16 +02:00 |  | 
				
					
						| 
								
								
									 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 | 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 |  |