Or are we missing something? We see swift building for 32bit arm. Maybe just maybe?
The problem here is we don't run our Swift compiler on 32-bit platforms for now, so it might assume 64-bit address space or pointer size.
For example, the lowest 3-bits of pointer to swift::Type
are used to embed some tags: include/swift/AST/TypeAlignments.h#L73
It works on 64-bit platforms because a pointer is 8 bytes aligned but not the same on 32-bit platforms where a pointer is 4 bytes aligned.
As far as I understand, those stuff are not an essential part of the compiler but optimizations, so we can make it 32-bit compatible in theory, but it would require non-trivial work.