| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| | |
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
The configure script still accepts "macosx" for backward compatibility,
but every other part of CompCert now uses "macos".
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
This commit adds support for macOS (and probably iOS) running on
AArch64 / ARM 64-bit / "Apple silicon" processors.
|
| |
| |
| |
| |
| | |
The extended register is now printed as an X register if the
extension mode is UXTX, and as a W register otherwise.
|
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
|\ \ |
|
| |\| |
|
| | |
| | |
| | |
| | |
| | | |
The two built-in function map to the fmax and fmin instruction.
Bug 30035
|
| | |
| | |
| | |
| | | |
Using the "rbit" instruction (reverse bits).
|
| | | |
|
| | | |
|
| | |
| | |
| | | |
This commit prepare the backend for a peephole optimization in Asmblock.
|
| | |
| | |
| | | |
Also some simplifications in Asmblockdeps
|
| | |
| | |
| | |
| | | |
- 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)
|
| | | |
|
| | | |
|
|/ / |
|
|\ \ |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |/ |
|
| |
| |
| |
| | |
This reverts commit 4dfcd7d4be18e8bc437ca170782212aa06635a95.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/ |
|
|
This commit adds a back-end for the AArch64 architecture, namely ARMv8
in 64-bit mode.
|