aboutsummaryrefslogtreecommitdiffstats
path: root/aarch64/TargetPrinter.ml
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/kvx-work' into merge_master_8.13.1Cyril SIX2021-06-011-2/+2
|\
| * collision of registersDavid Monniaux2021-04-121-2/+2
| |
* | fix aarch64 merge?Léo Gourdin2021-03-291-0/+754
| |
* | Merge branch 'master' into merge_master_8.13.1Sylvain Boulmé2021-03-231-638/+0
|\ \ | |/ |/| | | | | | | | | | | | | PARTIAL MERGE (PARTLY BROKEN). See unsolved conflicts in: aarch64/TO_MERGE and riscV/TO_MERGE WARNING: interface of va_args and assembly sections have changed
| * Section handling: finer control of variable initializationXavier Leroy2021-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Distinguish between: - uninitialized variables, which can go in COMM if supported - variables initialized with fixed, numeric quantities, which can go in a readonly section if "const" - variables initialized with symbol addresses which may need relocation, which cannot go in a readonly section even if "const", but can go in a special "const_data" section. Also: on macOS, use ".const" instead of ".literal8" for literals, as not all literals have size 8.
| * Introduce and use PrintAsmaux.variable_sectionXavier Leroy2021-02-231-4/+4
| | | | | | | | | | | | | | This is a generalization of the previous PrintAsmaux.common_section function that - handles initialized variables in addition to uninitialized variables; - can be used for Section_const, not just for Section_data.
| * "macosx" is now called "macos"Xavier Leroy2021-01-181-1/+1
| | | | | | | | | | The configure script still accepts "macosx" for backward compatibility, but every other part of CompCert now uses "macos".
| * AArch64 / macOS: use __DATA,__CONST section instead of .const (temporary fix)Xavier Leroy2020-12-261-1/+1
| | | | | | | | | | | | | | | | The .const section cannot contain absolute references to symbols, as these may need relocation and therefore must be writable. This should be fixed more generally by distinguishing between initialization data that contains absolute references to symbols and initialization data that does not.
| * AArch64: macOS portXavier Leroy2020-12-261-109/+223
| | | | | | | | | | This commit adds support for macOS (and probably iOS) running on AArch64 / ARM 64-bit / "Apple silicon" processors.
| * AArch64: clarify the printing of extending-register arithmetic operationsXavier Leroy2020-12-261-13/+13
| | | | | | | | | | The extended register is now printed as an X register if the extension mode is UXTX, and as a W register otherwise.
| * AArch64: wrong function alignmentXavier Leroy2020-12-261-1/+1
| | | | | | | | | | The alignment was 2 bytes (like for ARM) but should be 4 bytes. It was ignored by the GNU assembler, but the LLVM assembler warns.
* | Adding fp stores pairLéo Gourdin2021-01-201-0/+4
| |
* | Adding fp loads pairLéo Gourdin2021-01-201-0/+4
| |
* | Merge branch 'kvx-work' into aarch64-peepholeSylvain Boulmé2020-12-171-0/+6
|\ \
| * | Merge branch 'master' (Absint 3.8) into kvx-work-merge3.8David Monniaux2020-11-181-0/+6
| |\|
| | * Added implementation for fmin/fmax for aarch64.Bernhard Schommer2020-11-061-0/+4
| | | | | | | | | | | | | | | The two built-in function map to the fmax and fmin instruction. Bug 30035
| | * AArch64 implementation of __builtin_ctz*Xavier Leroy2020-07-271-0/+2
| | | | | | | | | | | | Using the "rbit" instruction (reverse bits).
* | | Big improvment in peephole, changing LDP/STP semanticsLéo Gourdin2020-12-101-4/+4
| | |
* | | a first working draft on ldp/stp peepholeLéo Gourdin2020-12-041-3/+5
| | |
* | | Adding semantics for PldpLéo Gourdin2020-12-021-1/+3
| | | | | | | | | This commit prepare the backend for a peephole optimization in Asmblock.
* | | Proof of Pfmovimm fine tuned OK, moving float checks in AsmLéo Gourdin2020-11-261-2/+2
| | | | | | | | | Also some simplifications in Asmblockdeps
* | | Fine tuning for PfmovimmLéo Gourdin2020-11-261-17/+2
| | | | | | | | | | | | - Functions to check a float logical immediate were translated from ocaml target printer in coq Asmblock - Some proof are admitted for now (we'll see if it is a good idea after some tests)
* | | Smart scheduler build problem and flatten solution OKLéo Gourdin2020-11-041-1/+1
| | |
* | | Preparation for postpass in aarch64 and refactoringLéo Gourdin2020-11-021-4/+4
| | |
* | | aarch64 compiles again (but ccomp generates incorrect assembly)Sylvain Boulmé2020-10-231-4/+4
|/ /
* | Merge remote-tracking branch 'origin/mppa-profiling' into mppa-featuresDavid Monniaux2020-04-121-0/+41
|\ \
| * | fix for aarch64David Monniaux2020-04-111-1/+1
| | |
| * | fix writing profiling info for Aarch64David Monniaux2020-04-101-1/+7
| | |
| * | use proper local labelsDavid Monniaux2020-04-101-1/+1
| | |
| * | profiling still crashes on Aarch64David Monniaux2020-04-101-1/+0
| | |
| * | various fixes for aarch64 profilingDavid Monniaux2020-04-101-0/+36
| |/
| * Revert "Remove `__builtin_nop` for some architectures. (#208)"Bernhard Schommer2020-01-031-0/+3
| | | | | | | | This reverts commit 4dfcd7d4be18e8bc437ca170782212aa06635a95.
| * Remove `__builtin_nop` for some architectures. (#208)Bernhard Schommer2019-12-211-3/+0
| | | | | | | | | | | | | | The `__builtin_nop` function is documented only for PowerPC. It was added to the other architectures by copy paste, but has no known uses. So, remove `__builtin_nop` from all architectures but PowerPC.
* | fixes for aarch64 arm ppc ppc64David Monniaux2020-02-241-1/+3
|/
* AArch64 portXavier Leroy2019-08-081-0/+592
This commit adds a back-end for the AArch64 architecture, namely ARMv8 in 64-bit mode.