[fpc-devel] "Homogeneous Float Aggregate"

Jonas Maebe jonas at freepascal.org
Sun Feb 4 23:04:35 CET 2018


On 04/02/18 21:44, Florian Klämpfl wrote:
> Am 04.02.2018 um 20:57 schrieb J. Gareth Moreton:
>> I'm not certain if my definition of 'aggregate' is correct, but must the fields be packed like an array to be a
>> valid HFA? I'm not certain if they should be packed or each field aligned to a 16-byte boundary like with
>> Homogeneous Vector Aggregates (with M128 fields).  Since the examples given on the Microsoft pages have array-
>> like fields, I'm assuming packed (and naturally aligned to 4-byte boundaries for Singles and 8 bytes for
>> Doubles).
> 
> Well, naturally aligned I think. packed means the whole hfa may be 1 byte aligned.

The is_hfa() function from aarch64/cpupara.pas could probably be 
generalised (so it gets the maximum size/number of elements as 
parameter) and be moved to parabase (or to paramgr).


Jonas



More information about the fpc-devel mailing list