In addition to that I’ve been looking at the alignment across platforms for various types. Some things seem odd and I’d like to know whether those are LLVM bugs or actually correct:
1. On AARCH64, all OS’s except Apples and Microsoft has a minimum preferred alignment of 32 bits. For Microsoft and Apple they instead match the ABI alignment
2. On AARCH64_32, all OS’s have 64 bit pointers, except for Apple & MS that has 32.
3. On 32 bit ARM, netbsd & Apple OS’s have a max required alignment of 32, for the rest it is the same as the type size, so 64 bit ints are 64 bit aligned and so on.
4. On 32 bit ARMEB, only netbsd has the behaviour mentioned in (3)
5. For PowerPC64, only the PS3 (Lv2) use 32 bit pointers.
6. For x64, elfiamcu surprisingly has a 32 bit alignment and preferred alignment of 128 bit floats. However, 64 bit floats are 64 bit aligned…
7. I was unable to find any working triple for a bunch of architectures: arc, avr, le32, le64 etc etc.
Are the above correct – or results of processor X not in use for other operating systems etc?
Christoffer
AEGIK / www.aegik.se
_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev