https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120007

            Bug ID: 120007
           Summary: AArch64 incorrectly handles 16-bit HFAs
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Keywords: ABI, wrong-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rsandifo at gcc dot gnu.org
  Target Milestone: ---
            Target: aarch64*-*-*

AAPCS64 defined __fp16 and __bf16 to map to the same fundamental data type: a
half-precision floating-point type.  By the HFA rules, this means that:

struct {
  __fp16 x;
  __bf16 y;
};

should be treated as a "homogeneous" floating-point aggregate, even though the
fields have different formats and different C types.  See
https://github.com/ARM-software/abi-aa/pull/314 for details.

Reply via email to