RM C 1 10-16 Access to Machine Operations (GNAT Reference Manual)

### 6.45 RM C.1(10-16): Access to Machine Operations ¶

> “The implementation should ensure that little or no overhead is associated with calling intrinsic and machine-code subprograms.”

Followed for both intrinsics and machine-code subprograms.

> “It is recommended that intrinsic subprograms be provided for convenient access to any machine operations that provide special capabilities or efficiency and that are not otherwise available through the language constructs.”

Followed. A full set of machine operation intrinsic subprograms is provided.

> “Atomic read-modify-write operations—e.g., test and set, compare and swap, decrement and test, enqueue/dequeue.”

Followed on any target supporting such operations.

> “Standard numeric functions—e.g.:, sin, log.”

Followed on any target supporting such operations.

> “String manipulation operations—e.g.:, translate and test.”

Followed on any target supporting such operations.

> “Vector operations—e.g.:, compare vector against thresholds.”

Followed on any target supporting such operations.

> “Direct operations on I/O ports.”

Followed on any target supporting such operations.