| 
								
								
									 David Given | 8200f041c2 | Fix issue with logical operations and small signed constants which turned out to affect multiple platforms. | 2019-02-13 20:56:10 +01:00 |  | 
				
					
						| 
								
								
									 David Given | 79e7636537 | Teach the code generator about the zero register and how to efficiently access the stack. | 2018-09-22 11:49:13 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 985d3dc7d1 | Remove some old, hopefully unused PowerPC code. Teach the code generator about non-volatile long registers. | 2018-09-20 23:30:38 +02:00 |  | 
				
					
						| 
								
								
									 David Given | cb20856aea | A few more minor optimisations. | 2018-09-20 00:39:13 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 8fda024ec8 | Remember to save longs and doubles. Yikes. | 2018-09-19 00:09:50 +02:00 |  | 
				
					
						| 
								
								
									 David Given | d23d2dd1b3 | Loads and stores (except longs, which are difficult) are now loaded with two instructions rather than three. | 2018-09-18 23:38:37 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 692caa2b0a | Add unsigned comparison rules. | 2018-09-18 00:19:40 +02:00 |  | 
				
					
						| 
								
								
									 David Given | fe177bd688 | Add specialist rules for signed integer comparisons; much better code. | 2018-09-17 23:53:18 +02:00 |  | 
				
					
						| 
								
								
									 David Given | b665efca04 | ACK loi 1 and sti 1 load and store unsigned bytes. I think. | 2018-09-17 15:03:44 +01:00 |  | 
				
					
						| 
								
								
									 David Given | 0b65591972 | Add hacky 64-bit comparisons (used by M2). | 2018-09-17 12:16:17 +01:00 |  | 
				
					
						| 
								
								
									 David Given | 08b1e8d71b | Make inn work; fix broken 64-bit loads and stores. | 2018-09-14 13:48:43 +02:00 |  | 
				
					
						| 
								
								
									 David Given | ba0849c87c | Remove la; turns out that the assembler gets upset if you ask it to generate more than one fixup per instruction (I think). | 2018-09-14 11:30:15 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 8379969b6f | Fix an unsubtle bug where subtractions were done backwards... | 2018-09-11 23:16:50 +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 | 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 |  |