I'd say there is guarantee only if there is a guarantee, and here is what I mean:
typedef qint8
Typedef for signed char. This type is guaranteed to be 8-bit on all platforms supported by Qt.
typedef qint16
Typedef for signed short. This type is guaranteed to be 16-bit on all platforms supported by Qt.
typedef qint32
Typedef for signed int. This type is guaranteed to be 32-bit on all platforms supported by Qt.
typedef qint64
Typedef for long long int (__int64 on Windows). This type is guaranteed to be 64-bit on all platforms supported by Qt.
typedef quint8
Typedef for unsigned char. This type is guaranteed to be 8-bit on all platforms supported by Qt.
typedef quint16
Typedef for unsigned short. This type is guaranteed to be 16-bit on all platforms supported by Qt.
typedef quint32
Typedef for unsigned int. This type is guaranteed to be 32-bit on all platforms supported by Qt.
typedef quint64
Typedef for unsigned long long int (unsigned __int64 on Windows). This type is guaranteed to be 64-bit on all platforms supported by Qt.
This is taken from the Qt documentation. That being said, there are other libraries which guarantee datatype width, for example the Apache Portable Runtime library, which is more streamlined that Qt. Both support x86 and ARM architectures. There are probably others too.
The alignments for SIMD operations seem to be the ones, recommended for optimal performance. The cache line size also seems to be the right one, since x86 processors have 64 byte cache lines, ARM v7 has 32 byte and v8 moves up to 64 bytes as well. So I'd say you are safe as long as you use some kind of library which guarantees width - not the minimum like the standard requires but the absolute width.