Original Post
Please consider the following code:
typedef struct __declspec(intrin_type) __declspec(align(16)) {
float m128_f32[4];
} __myOwn128;
void Test(__m128 param) {} // Compiles just fine. WHY ?
void Test2(__myOwn128 param) {} // error C2719: 'param': formal parameter with __declspec(align('16')) won't be aligned --> I understand that
I don't understand why Test compiles and Test2 does not. (Actually, I am surprised that Test does compile) Anyone could enlight me please ? (And as a side question, what does __declspec(intrin_type) means ? I couldn't fint that documented anywhere, I just copy'n'pasted it from the original __m128 typedef in xmmintrin.h) Cheers, JA