64-bit A64 code
In 64-bit mode, the IAR C/C++ Compiler for Arm can generate code for the A64 instruction set. Use the ‑‑cpu_mode option, alternatively the ‑‑aarch64 or ‑‑abi options, to specify which instruction set should be used for your project.
When performing function calls, the compiler always attempts to generate the most efficient assembler language instruction or instruction sequence available. As a result, 16 Exbibytes of continuous memory in the range 0x0-0xFFFF'FFFF'FFFF'FFFF can be used for placing code. There is a limit of 64 Mbytes per code module.
The size of code pointers is 4 or 8 bytes, depending on the data model. There are restrictions to implicit and explicit casts from code pointers to data pointers or integer types or vice versa. For further information about restrictions, see Pointer types.
In the chapter Assembler language interface, the generated code is studied in more detail in the description of calling C functions from assembler language and vice versa.