1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! Synopsys ARC Target Backend — 32-bit RISC processor.
//!
//! The ARC (Argonaut RISC Core) is a configurable 32-bit RISC processor
//! widely used in embedded systems, automotive, storage, and IoT.
//! This backend provides complete instruction set metadata, instruction
//! selection, and target machine definition for the ARCv2 ISA.
//!
//! Clean-room behavioral reconstruction from the Synopsys ARC
//! Programmer's Reference Manual, the GCC `arc` backend, and published
//! specifications. Zero LLVM source code consultation.
pub use ;
pub use ArcInstructionSelector;
pub use ArcTargetMachine;
/// ARC is a 32-bit architecture.
pub const ARC_POINTER_SIZE: u32 = 4;
/// ARC is little-endian (optionally big-endian ARCompact).
pub const ARC_ENDIANNESS: &str = "little";
/// ARC stack alignment (4 bytes — word aligned).
pub const ARC_STACK_ALIGNMENT: u32 = 4;
/// ARC has a red zone of 0.
pub const ARC_RED_ZONE_SIZE: u32 = 0;
/// Maximum number of ARC GPRs (r0–r31).
pub const ARC_GPR_COUNT: u8 = 32;
/// Register ID base for ARC registers.
pub const ARC_REG_ID_BASE: u32 = 13000;