View source code
Display the source code in dmd/argtypes_aarch64.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Function dmd.argtypes_aarch64.isHFVA

A Homogeneous Floating-point/Vector Aggregate (HFA/HVA) is an ARM/AArch64 concept that consists of up to 4 elements of the same floating point/vector type. It is the aggregate final data layout that matters so structs, unions, static arrays and complex numbers can result in an HFVA.

extern(C++) bool isHFVA (
  Type t,
  int maxNumElements = 4,
  Type* rewriteType = null
);

simple HFAs: struct F1 {float f;} struct D4 {double a,b,c,d;} interesting HFA: struct {F1[2] vals; float weight;}

If the type is an HFVA and rewriteType is specified, it is set to a corresponding static array type.

Authors

Martin Kinkelin

License

Boost License 1.0