Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 6925 - tile: don't try to print escape sequences | Kartik Agaram | 2020-10-01 | 3 | -1/+50 |
| | |||||
* | 6924 | Kartik Agaram | 2020-10-01 | 3 | -14/+13 |
| | |||||
* | 6923 | Kartik Agaram | 2020-10-01 | 83 | -24543/+0 |
| | |||||
* | 6922 | Kartik Agaram | 2020-10-01 | 2 | -2/+60 |
| | |||||
* | 6921 | Kartik Agaram | 2020-10-01 | 1 | -1/+1 |
| | |||||
* | 6920 | Kartik Agaram | 2020-10-01 | 2 | -2/+2 |
| | |||||
* | 6919 | Kartik Agaram | 2020-10-01 | 1 | -6/+98 |
| | |||||
* | 6918 | Kartik Agaram | 2020-10-01 | 1 | -0/+0 |
| | | | | Fix CI. | ||||
* | 6917 | Kartik Agaram | 2020-09-30 | 1 | -4/+4 |
| | |||||
* | 6916 | Kartik Agaram | 2020-09-30 | 1 | -22849/+24621 |
| | |||||
* | 6915 - a new family of Mu branch instructions | Kartik Agaram | 2020-09-30 | 3 | -2/+432 |
| | | | | | | The realization of commit 6916 means that we should be using jump-if-addr* after comparing floats. Which is super ugly. Let's create aliases to them called jump-if-float*. | ||||
* | 6914 | Kartik Agaram | 2020-09-30 | 1 | -13/+13 |
| | |||||
* | 6913 - copying floats around | Kartik Agaram | 2020-09-30 | 2 | -0/+77 |
| | |||||
* | 6912 | Kartik Agaram | 2020-09-30 | 2 | -12/+12 |
| | |||||
* | 6911 - comparing floats | Kartik Agaram | 2020-09-30 | 5 | -23/+63 |
| | | | | | | | It turns out floating-point operations set different flags than most instructions. We have to branch on them using unsigned jumps. https://stackoverflow.com/questions/7057501/x86-assembler-floating-point-compare/7057771#7057771 | ||||
* | 6910 - emulate most floating-point operations | Kartik Agaram | 2020-09-30 | 2 | -4/+311 |
| | |||||
* | 6909 | Kartik Agaram | 2020-09-30 | 1 | -6/+5 |
| | |||||
* | 6908 - compiling all floating-point operations | Kartik Agaram | 2020-09-30 | 17 | -47/+843 |
| | | | | | We don't yet support emulating these instructions in `bootstrap`. But generated binaries containing them run natively just fine. | ||||
* | 6907 - converting to and from floating-point | Kartik Agaram | 2020-09-29 | 2 | -9/+163 |
| | | | | Some bugfixes to the previous commit. | ||||
* | 6906 | Kartik Agaram | 2020-09-29 | 2 | -4/+4 |
| | |||||
* | 6905 - first floating-point instruction compiling | Kartik Agaram | 2020-09-29 | 2 | -2/+275 |
| | | | | (Though the generated code doesn't work yet.) | ||||
* | 6904 | Kartik Agaram | 2020-09-29 | 2 | -133/+266 |
| | | | | | New fields for primitives to support code-generation for floating-point primitives. | ||||
* | 6903 | Kartik Agaram | 2020-09-29 | 2 | -0/+29 |
| | | | | | | | | | | | | | | | | | | | Make a few tests more self-contained. I'd prefer to just run a function called `setup` first thing on startup and move this portion of convert-mu to it: # initialize global data structures c7 0/subop/copy *Next-block-index 1/imm32 8b/-> *Primitive-type-ids 0/r32/eax 89/<- *Type-id 0/r32/eax # stream-write c7 0/subop/copy *_Program-functions 0/imm32 c7 0/subop/copy *_Program-functions->payload 0/imm32 c7 0/subop/copy *_Program-types 0/imm32 c7 0/subop/copy *_Program-types->payload 0/imm32 c7 0/subop/copy *_Program-signatures 0/imm32 c7 0/subop/copy *_Program-signatures->payload 0/imm32 However, this approach doesn't fix my run_one_test tooling. | ||||
* | 6902 | Kartik Agaram | 2020-09-29 | 6 | -34/+92 |
| | |||||
* | 6901 | Kartik Agaram | 2020-09-29 | 2 | -8/+32 |
| | |||||
* | 6900 - mu.subx: new primitive type 'float' | Kartik Agaram | 2020-09-29 | 2 | -7/+29 |
| | | | | Using it will currently emit incorrect programs. | ||||
* | 6899 | Kartik Agaram | 2020-09-29 | 2 | -2/+2 |
| | |||||
* | 6898 - names for floating-point xmm* registers | Kartik Agaram | 2020-09-29 | 5 | -2/+60 |
| | |||||
* | 6897 | Kartik Agaram | 2020-09-29 | 1 | -0/+7 |
| | |||||
* | 6896 | Kartik Agaram | 2020-09-28 | 2 | -5/+167 |
| | | | | Readme-driven development for Mu's floating-point operations. | ||||
* | 6895 | Kartik Agaram | 2020-09-28 | 1 | -0/+2 |
| | |||||
* | 6894 | Kartik Agaram | 2020-09-28 | 1 | -0/+9 |
| | |||||
* | 6893 | Kartik Agaram | 2020-09-28 | 1 | -6/+6 |
| | |||||
* | 6892 | Kartik Agaram | 2020-09-27 | 1 | -1/+1 |
| | |||||
* | 6891 | Kartik Agaram | 2020-09-27 | 1 | -1/+1 |
| | |||||
* | 6890 | Kartik Agaram | 2020-09-27 | 1 | -3/+4 |
| | |||||
* | 6889 | Kartik Agaram | 2020-09-27 | 2 | -4/+60 |
| | | | | | Teach the self-hosted translator about the new /xm32 and /x32 metadata for floating-point registers. | ||||
* | 6888 | Kartik Agaram | 2020-09-27 | 3 | -15/+124 |
| | | | | Teach `bootstrap translate` about the new /xm32 and /x32 arguments. | ||||
* | 6887 | Kartik Agaram | 2020-09-27 | 6 | -327/+327 |
| | | | | | subx.md distinguishes between operands and arguments. Let's use that terminology more consistently in the sources. | ||||
* | 6886 - floating-point division | Kartik Agaram | 2020-09-27 | 3 | -0/+55 |
| | |||||
* | 6885 - starting on floating-point instructions | Kartik Agaram | 2020-09-27 | 4 | -10/+115 |
| | | | | | | | | | I spent some time deciding on the instructions. x87 is a stack ISA, so not a good fit for the rest of SubX. So we use SSE instead. They operate on 32-bit floats, which seems like a good fit. SSE has a bunch of instructions for operating on up to 4 floats at once. We'll ignore all that and just focus on so-called scalar instructions. | ||||
* | 6884 | Kartik Agaram | 2020-09-27 | 1 | -2/+2 |
| | |||||
* | 6883 | Kartik Agaram | 2020-09-26 | 1 | -2/+2 |
| | |||||
* | 6882 | Kartik Agaram | 2020-09-26 | 1 | -8/+0 |
| | |||||
* | 6881 - tile: function calls can now be expanded | Kartik Agaram | 2020-09-26 | 1 | -7/+20 |
| | |||||
* | 6880 | Kartik Agaram | 2020-09-26 | 1 | -2/+25 |
| | | | | | We need the state of the stack at the call-site. But rendering is already working surprisingly well. | ||||
* | 6879 | Kartik Agaram | 2020-09-26 | 1 | -14/+18 |
| | | | | Extract a new function. | ||||
* | 6878 - tile: mock-up for expanding function calls | Kartik Agaram | 2020-09-26 | 1 | -8/+16 |
| | |||||
* | 6877 | Kartik Agaram | 2020-09-26 | 2 | -2/+26 |
| | | | | Track just whether to step inside or not. | ||||
* | 6876 | Kartik Agaram | 2020-09-26 | 3 | -53/+10 |
| | | | | Back to commit 6872. |