aboutsummaryrefslogtreecommitdiffstats
path: root/aarch64/Asmgen.v
Commit message (Collapse)AuthorAgeFilesLines
* AArch64: make register X29 callee-saveXavier Leroy2022-05-301-5/+5
| | | | | | | | | CompCert doesn't maintain a frame pointer in X29. However, it must treat X29 as callee-save, so that CompCert-generated code can be called from code that uses X29 as frame pointer. This commit makes X29 callee-save. In places where X29 was used as a temporary, X15 or X14 is used instead.
* AArch64: macOS portXavier Leroy2020-12-261-2/+3
| | | | | This commit adds support for macOS (and probably iOS) running on AArch64 / ARM 64-bit / "Apple silicon" processors.
* Fix for AArch64 alignment problem (#206)Bernhard Schommer2019-11-281-1/+6
| | | | | | | | | In addressing modes for load and store instructions, the offset must be a multiple of the memory size being accessed. When accessing global variables, this may not be the case if the alignment of the variable is less than its size. Errors occur at link time. This PR extends the check for a representable offset for the addressing of global variables to also check whether the variable is correctly aligned. Only if both conditions are met can we generate the short sequence Padrp / ADadr. Otherwise we go through the generic loadsymbol sequence.
* AArch64 portXavier Leroy2019-08-081-0/+1151
This commit adds a back-end for the AArch64 architecture, namely ARMv8 in 64-bit mode.