aboutsummaryrefslogtreecommitdiffstats
path: root/aarch64/Asm.v
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into merge_master_8.13.1Sylvain Boulmé2021-03-231-1/+1
|\ | | | | | | | | | | | | | | | | 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
| * Replace `omega` tactic with `lia`Xavier Leroy2020-12-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | Since Coq 8.12, `omega` is flagged as deprecated and scheduled for removal. Also replace CompCert's homemade tactics `omegaContradiction`, `xomega`, and `xomegaContradiction` with `lia` and `extlia`. Turn back on the deprecation warning for uses of `omega`. Make the proof of `Ctypes.sizeof_pos` more robust to variations in `lia`.
* | quick fixcommentsLéo Gourdin2021-02-161-1/+1
| |
* | Adding fp stores pairLéo Gourdin2021-01-201-3/+4
| |
* | Adding fp loads pairLéo Gourdin2021-01-201-7/+20
| |
* | Val_cmp* -> Val.mxcmp*Sylvain Boulmé2021-01-071-60/+6
| |
* | Merge branch 'kvx-work' into aarch64-peepholeSylvain Boulmé2020-12-171-2/+8
|\|
| * AArch64 modeling of registers destroyed by pseudo-instructionsXavier Leroy2020-12-061-4/+4
| | | | | | | | | | | | Pfmovimms, Pfmovimmd destroy X16 Pbtbl preserves X17 Inlined built-in functions destroy X16 and X30
| * 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-20/+20
| |
* | a first working draft on ldp/stp peepholeLéo Gourdin2020-12-041-18/+46
| |
* | Adding semantics for PldpLéo Gourdin2020-12-021-3/+27
| | | | | | 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-3/+41
| | | | | | Also some simplifications in Asmblockdeps
* | fix the semantics ?Sylvain Boulmé2020-11-181-2/+2
| |
* | Preparation for postpass in aarch64 and refactoringLéo Gourdin2020-11-021-10/+10
| |
* | aarch64 compiles again (but ccomp generates incorrect assembly)Sylvain Boulmé2020-10-231-9/+530
| |
* | Prove exec_body_dont_move_PCJustus Fasse2020-08-181-4/+4
| | | | | | | | | | | | Modify Asmblock.preg to combine iregsp and freg into dreg (dreg might be a misnomer since not all iregs are data regs) TODO: Adjust names of PArithP, PArithPP and the like
* | Add dynamically checked assumption to simplify AsmgenproofJustus Fasse2020-07-211-1/+1
| | | | | | | | | | Previously Asmblock.label_pos and Asm.label_pos could point to different memory location for the same label.
* | aarch64/Asm: Fix `Error: Pattern "PC" is redundant in this clause.`Justus Fasse2020-07-061-1/+1
| | | | | | | | Introduced by changed definition of preg in aarch64/Asmblock
* | [WIP: Coq compilation broken] Stub for AsmgenSylvain Boulmé2020-06-211-498/+32
|/
* Revert "Remove `__builtin_nop` for some architectures. (#208)"Bernhard Schommer2020-01-031-1/+3
| | | | This reverts commit 4dfcd7d4be18e8bc437ca170782212aa06635a95.
* Remove `__builtin_nop` for some architectures. (#208)Bernhard Schommer2019-12-211-3/+1
| | | | | | | 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.
* AArch64 portXavier Leroy2019-08-081-0/+1312
This commit adds a back-end for the AArch64 architecture, namely ARMv8 in 64-bit mode.