summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-12-05Fix: compute_extreme_stack_offsets really needs a register int...Camil Staps1-11/+11
2016-12-01Fix issue with long conditional jumps (selector__m__error) by loading the ↵Camil Staps3-18/+33
address to scratch first
2016-12-01Fix some illegal uses of spCamil Staps1-4/+24
2016-12-01Some code style improvementsCamil Staps1-3/+3
2016-12-01Don't generate illegal immediate constantsCamil Staps1-1/+27
2016-12-01Now really fix offsetsCamil Staps1-45/+46
2016-11-29Fix some more negative offsets in frontend/frontend.iclCamil Staps1-1/+10
2016-11-29Fix some negative offsets to A-stack pointer (decrease, load, increase)Camil Staps1-8/+5
2016-11-29Fix warning about multi-instruction IT blocks being deprecated in ARMv8Camil Staps1-1/+7
2016-11-29Fixed some conditional instructions without IT blockCamil Staps1-5/+10
2016-11-29One more fix for too large negative offsetsCamil Staps1-10/+16
2016-11-29Fix issue with A stack negative offsetCamil Staps1-0/+54
2016-11-28Removed hardcoded register names except sp and pc in cgthumb2was.cCamil Staps2-16/+37
2016-11-26Quick hack for ccalls; and sp,sp,#-8 not allowedCamil Staps1-0/+44
2016-11-15Optimisation: pc can be Rd operand for ldr; nop at node entry not neededCamil Staps1-8/+1
2016-11-08Fix distance of 8 before lazy entries of higher order functionsCamil Staps1-2/+2
2016-11-08Storing a label as a .long needs +1 for thumb modeCamil Staps1-1/+1
2016-11-08Indirect jsr is always with a register, hence +7 (not +9)Camil Staps1-1/+1
2016-11-07Also exported labels need to be aligned & thumb-funcedCamil Staps1-1/+1
2016-10-19Align data before node entry properly; fix one more case of pushing PC to ↵Camil Staps1-1/+2
the stack
2016-10-16Maybe Fix for having the LSB on 1, by flipping its meaning in the garbage ↵Camil Staps1-4/+5
collector
2016-10-15.thumb_func only for node entry labelsCamil Staps1-3/+5
2016-10-03IT blocksCamil Staps1-23/+56
2016-10-03Fix issue with halfword-aligned node entry pointsCamil Staps1-0/+1
2016-10-02Fix storing the program counterCamil Staps1-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-19Add .align before pushing program counterCamil Staps1-0/+2
2016-09-19Added thumb_funcCamil Staps1-0/+1
2016-09-19Fix PC offset when pushing to stackCamil Staps1-3/+6
2016-09-18Adds thumb directives and fixes for storing the PCCamil Staps1-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-17Gitignore; copied stuff from arm to thumb2Camil Staps7-0/+8834
2016-09-16add Makefile.windows_mingwJohn van Groningen1-0/+13
2016-06-14fix floating point sub or div with reversed arguments on ARMJohn van Groningen2-14/+85
2016-05-30also align virtual data section begin addressJohn van Groningen1-1/+1
2016-05-30set default alignment of data segment to 8 instead of 4John van Groningen1-3/+1
2016-05-30fix previous commit:John van Groningen1-1/+1
add data_object_section_align_p2 for MACH_O64, because data_object doesn't exist
2016-05-30add data_object_section_align_p2 for MACH_O64, because data_object doesn't existJohn van Groningen1-3/+17
2016-05-30use data_object_label->object_section_align_p2 on MACH_O64,John van Groningen1-10/+12
fix alignment of constant for floating point abs
2016-05-30rename field object_section_align as object_section_align_p2John van Groningen1-12/+12
2016-05-26fix push_r_arg_D instruction for MACH_O64John van Groningen1-2/+6
2016-04-28generate a lot of $d and $a mapping symbols for ARMJohn van Groningen1-9/+143
2016-04-15fix alignment problem caused by optimizing a jump instruction for an apply ↵John van Groningen1-19/+18
update entry n Mac OS X
2016-04-15generate object code instead of assembly on the MacJohn van Groningen3-7/+3
2016-03-18generate a word instead of a byte for abc instruction "instruction" for the ARMJohn van Groningen2-2/+2
2016-03-14add passing arrays to c in ccallJohn van Groningen1-0/+17
2016-03-14waste more time because of the stupid version management system, fix ↵John van Groningen1-736/+736
incorrect newlines again
2016-03-14waste more time because of the stupid version management system, fix ↵John van Groningen0-0/+0
incorrect newlines again
2016-03-14fix previous commit, a register name was accidently changed, maybe snv ↵John van Groningen1-1/+1
update failed ?
2016-03-14add missing break in switch in function as_mul_instructionJohn van Groningen1-1/+2
2016-03-11add support for Real/double to the ccall for ARMJohn van Groningen1-72/+265
2016-03-11move code_ccall for the ARM to new file cgarmc.cJohn van Groningen3-355/+558