Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2016-12-07 | Optimise storing program counter: only use r14 if r12 not available | Camil Staps | 1 | -7/+5 | |
2016-12-01 | Fix issue with long conditional jumps (selector__m__error) by loading the ↵ | Camil Staps | 1 | -16/+29 | |
address to scratch first | |||||
2016-12-01 | Fix some illegal uses of sp | Camil Staps | 1 | -4/+24 | |
2016-12-01 | Some code style improvements | Camil Staps | 1 | -3/+3 | |
2016-12-01 | Don't generate illegal immediate constants | Camil Staps | 1 | -1/+27 | |
2016-11-29 | Fix warning about multi-instruction IT blocks being deprecated in ARMv8 | Camil Staps | 1 | -1/+7 | |
2016-11-29 | Fixed some conditional instructions without IT block | Camil Staps | 1 | -5/+10 | |
2016-11-28 | Removed hardcoded register names except sp and pc in cgthumb2was.c | Camil Staps | 1 | -15/+36 | |
2016-11-26 | Quick hack for ccalls; and sp,sp,#-8 not allowed | Camil Staps | 1 | -0/+44 | |
2016-11-15 | Optimisation: pc can be Rd operand for ldr; nop at node entry not needed | Camil Staps | 1 | -8/+1 | |
2016-11-08 | Fix distance of 8 before lazy entries of higher order functions | Camil Staps | 1 | -2/+2 | |
2016-11-08 | Storing a label as a .long needs +1 for thumb mode | Camil Staps | 1 | -1/+1 | |
2016-11-08 | Indirect jsr is always with a register, hence +7 (not +9) | Camil Staps | 1 | -1/+1 | |
2016-11-07 | Also exported labels need to be aligned & thumb-funced | Camil Staps | 1 | -1/+1 | |
2016-10-19 | Align data before node entry properly; fix one more case of pushing PC to ↵ | Camil Staps | 1 | -1/+2 | |
the stack | |||||
2016-10-16 | Maybe Fix for having the LSB on 1, by flipping its meaning in the garbage ↵ | Camil Staps | 1 | -4/+5 | |
collector | |||||
2016-10-15 | .thumb_func only for node entry labels | Camil Staps | 1 | -3/+5 | |
2016-10-03 | IT blocks | Camil Staps | 1 | -23/+56 | |
2016-10-03 | Fix issue with halfword-aligned node entry points | Camil Staps | 1 | -0/+1 | |
2016-10-02 | Fix storing the program counter | Camil Staps | 1 | -8/+12 | |
The previous solution was to add 9 (8 for the offset, 1 for the Thumb state). However, the lowest bit is used for something else (garbage collection / evaluation status), so this gives some problems. This solution adds only 8 (the offset), so that we don't alter the lowest two bits. Then, when jumping, the address is IORed with 1, so that the Thumb state bit is set. | |||||
2016-09-19 | Add .align before pushing program counter | Camil Staps | 1 | -0/+2 | |
2016-09-19 | Added thumb_func | Camil Staps | 1 | -0/+1 | |
2016-09-19 | Fix PC offset when pushing to stack | Camil Staps | 1 | -3/+6 | |
2016-09-18 | Adds thumb directives and fixes for storing the PC | Camil Staps | 1 | -2/+12 | |
Added directives: - .syntax unified at the start of the file - .thumb at the start of each code section - .thumb_func before each code label Storing the PC: - PC cannot be Rd for str, hence we need the scratch register | |||||
2016-09-17 | Gitignore; copied stuff from arm to thumb2 | Camil Staps | 1 | -0/+2908 | |