With the new change, LLVM/Clang defines
typedef short short3 attribute((ext_vector_type(3)));
to be size of 8.
sizeof( short3 ) = 8
and for short3 array, one element takes 8 bytes.
&m[0] = 0xbed63b20
&m[1] = 0xbed63b28
&m[2] = 0xbed63b30
&m[3] = 0xbed63b38
I notice the older LLVM/Clang still allocate short3 to be 6 byte element.
Is there any historical reason to make 6 byte short3 to become 8 byte short4?
Is short3 supposed to be defined as three shorts in a row. It is a little difficult
to connect with other language like Java JNI.
Thanks,
Yin