Skip to content

[AAPCS64] Clarify how __bf16 affects HFAs #314

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions aapcs64/aapcs64.rst
Original file line number Diff line number Diff line change
Expand Up @@ -755,7 +755,7 @@ A member of an aggregate that is a Fundamental Data Type may be subdivided into
Homogeneous Aggregates
^^^^^^^^^^^^^^^^^^^^^^

A Homogeneous Aggregate is a composite type where all of the Fundamental Data Types of the members that compose the type are the same. The test for homogeneity is applied after data layout is completed and without regard to access control or other source language restrictions. Note that for short-vector types the fundamental types are 64-bit vector and 128-bit vector; the type of the elements in the short vector does not form part of the test for homogeneity.
A Homogeneous Aggregate is a composite type where all of the Fundamental Data Types of the members that compose the type are the same. The test for homogeneity is applied after data layout is completed and without regard to access control or other source language restrictions. Note that for short-vector types the fundamental types are 64-bit vector and 128-bit vector; the type of the elements in the short vector does not form part of the test for homogeneity. Likewise, the different half-precision floating point formats share a single Fundamental Data Type, so the format does not form part of the test for homogeneity.

A Homogeneous Aggregate has a Base Type, which is the Fundamental Data Type of each Member. The overall size is the size of the Base Type multiplied by the number uniquely addressable Members; its alignment will be the alignment of the Base Type.

Expand Down Expand Up @@ -2740,11 +2740,11 @@ The mapping of C arithmetic types to Fundamental Data Types is shown in `Table 3
+--------------------------------+-----------------------------------------+------------------------------------------------------------------------+
| ``__uint128`` | unsigned quad-word | Arm extension (used for LDXP/STXP) |
+--------------------------------+-----------------------------------------+------------------------------------------------------------------------+
| ``__fp16`` | half precision (IEEE754-2008 format or | Arm extension. See `Types Varying by Data Model`_ |
| | Arm Alternative Format) | |
| ``__fp16`` | half precision | Arm extension. See `Types Varying by Data Model`_ |
| | | Using IEEE754-2008 format or Arm Alternative Format. |
+--------------------------------+-----------------------------------------+------------------------------------------------------------------------+
| ``__bf16`` | half precision Brain floating-point | Arm extension. |
| | format | |
| ``__bf16`` | half precision | Arm extension. |
| | | Using Brain floating-point format. |
+--------------------------------+-----------------------------------------+------------------------------------------------------------------------+
| ``float`` | single precision (IEEE 754) | |
+--------------------------------+-----------------------------------------+------------------------------------------------------------------------+
Expand Down