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
								
							 
						 | 
						
							
							
							
							
								
							
							
								b81e060372
								
							
						 | 
						
							
							
								
								Add huge numbers of failing tests.
							
							
							
							
							
						 | 
						
							2018-09-10 23:40:03 +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
								
							 
						 | 
						
							
							
							
							
								
							
							
								53f7de794a
								
							
						 | 
						
							
							
								
								Ansify.
							
							
							
							
							
						 | 
						
							2018-09-10 22:55:05 +02:00 | 
						
						
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									David Given
								
							 
						 | 
						
							
							
							
							
								
							
							
								9733454d8e
								
							
						 | 
						
							
							
								
								Clang-format before editing.
							
							
							
							
							
						 | 
						
							2018-09-10 22:42:30 +02:00 | 
						
						
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									David Given
								
							 
						 | 
						
							
							
							
							
								
							
							
								976fa0efca
								
							
						 | 
						
							
							
								
								Clang-format before editing.
							
							
							
							
							
						 | 
						
							2018-09-10 22:37:04 +02:00 | 
						
						
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									David Given
								
							 
						 | 
						
							
							
							
							
								
							
							
								6275896a11
								
							
						 | 
						
							
							
								
								Clang-format before editing.
							
							
							
							
							
						 | 
						
							2018-09-10 22:25:14 +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
								
							 
						 | 
						
							
							
							
							
								
							
							
								ee328a0572
								
							
						 | 
						
							
							
								
								Merge from default.
							
							
							
							
							
						 | 
						
							2018-09-09 18:58:07 +02:00 | 
						
						
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									David Given
								
							 
						 | 
						
							
							
							
							
								
							
							
								776e93221f
								
							
						 | 
						
							
							
								
								Thinko fix.
							
							
							
							
							
						 | 
						
							2018-09-09 18:57:44 +02:00 | 
						
						
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									David Given
								
							 
						 | 
						
							
							
							
							
								
							
							
								c769fbec93
								
							
						 | 
						
							
							
								
								Use the correct ELF processor flags; align properly.
							
							
							
							
							
						 | 
						
							2018-09-09 18:57:35 +02:00 | 
						
						
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									David Given
								
							 
						 | 
						
							
							
							
							
								
							
							
								f3bc9ef92a
								
							
						 | 
						
							
							
								
								Call proper Linux system calls proper-like.
							
							
							
							
							
						 | 
						
							2018-09-09 18:57:12 +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
								
							 
						 | 
						
							
							
							
							
								
							
							
								79fd34dac6
								
							
						 | 
						
							
							
								
								Call atexit handlers properly, avoiding a NPE and seg fault every time a
							
							
							
							
							
							
							
							program exits. 
							
						 | 
						
							2018-09-09 18:51:00 +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
								
							 
						 | 
						
							
							
							
							
								
							
							
								ec46643124
								
							
						 | 
						
							
							
								
								Allow the ELF processor flags to be set. Generate MIPS ELF executables, not
							
							
							
							
							
							
							
							PowerPC ones. 
							
						 | 
						
							2018-09-09 14:29:34 +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
								
							 
						 | 
						
							
							
							
							
								
							
							
								0d8d98fd0f
								
							
						 | 
						
							
							
								
								Warning fix.
							
							
							
							
							
						 | 
						
							2018-09-09 12:22: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
								
							 
						 | 
						
							
							
							
							
								
							
							
								fc0b0ae178
								
							
						 | 
						
							
							
								
								(Slightly) better errors on phi congruence group mismatches.
							
							
							
							
							
						 | 
						
							2018-09-05 23:53:08 +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
								
							 
						 | 
						
							
							
							
							
								
							
							
								98afb42095
								
							
						 | 
						
							
							
								
								Added a boot.o based on the PowerPC one.
							
							
							
							
							
						 | 
						
							2018-09-05 00:00:13 +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
								
							 
						 | 
						
							
							
							
							
								
							
							
								83cf1be6a8
								
							
						 | 
						
							
							
								
								mcgg now checks that registers have at most one type attribute set.
							
							
							
							
							
						 | 
						
							2018-09-03 22:03:57 +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
								
							 
						 | 
						
							
							
							
							
								
							
							
								a023fd8591
								
							
						 | 
						
							
							
								
								Better error reporting for unterminated strings.
							
							
							
							
							
						 | 
						
							2018-09-02 18:55:44 +02:00 | 
						
						
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									David Given
								
							 
						 | 
						
							
							
								
								
							
							
							
								
							
							
								2eaca39322
								
							
						 | 
						
							
							
								
								Merge pull request #120 from davidgiven/dtrg-no
							
							
							
							
							
							
							
							Remove the built-in preprocessor in cemcom.ansi 
							
						 | 
						
							2018-09-02 13:15:11 +02:00 | 
						
						
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									David Given
								
							 
						 | 
						
							
							
							
							
								
							
							
								b76352de99
								
							
						 | 
						
							
							
								
								Remove stray #include.
							
							
							
							
							
						 | 
						
							2018-09-02 12:54:53 +02:00 | 
						
						
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									David Given
								
							 
						 | 
						
							
							
							
							
								
							
							
								cb983fac44
								
							
						 | 
						
							
							
								
								Rip out the built-in preprocessor from cemcom.ansi, now it's no longer used.
							
							
							
							
							
						 | 
						
							2018-09-02 12:50:50 +02:00 | 
						
						
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									David Given
								
							 
						 | 
						
							
							
							
							
								
							
							
								6931ffa5a4
								
							
						 | 
						
							
							
								
								Disable the built-in preprocessor in cemcom.ansi; the external preprocessor is
							
							
							
							
							
							
							
							always run. Fix a bug in block skipping in the preprocessor. 
							
						 | 
						
							2018-09-02 12:39:00 +02:00 | 
						
						
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									David Given
								
							 
						 | 
						
							
							
							
							
								
							
							
								f8fc5bc3d8
								
							
						 | 
						
							
							
								
								Implement single-line C++-style comments.
							
							
							
							
							
							
							
							Fixes: #118 
							
						 | 
						
							2018-09-02 12:14:59 +02:00 | 
						
						
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									David Given
								
							 
						 | 
						
							
							
							
							
								
							
							
								0e9736fdca
								
							
						 | 
						
							
							
								
								Run through clang-format before editing.
							
							
							
							
							
						 | 
						
							2018-09-02 12:04:33 +02:00 | 
						
						
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									David Given
								
							 
						 | 
						
							
							
							
							
								
							
							
								274ed3cb6a
								
							
						 | 
						
							
							
								
								Run through clang-format before editing.
							
							
							
							
							
						 | 
						
							2018-09-02 11:49:40 +02:00 | 
						
						
							
							
							
								
							
							
						 |