blob: fbf24886a7d4900b268d289df70538133cf2d108 [file] [log] [blame]
/* APPLE LOCAL file Radar 4109832 */
/* { dg-do run { target "i?86-*-darwin*" } } */
#include <xmmintrin.h>
extern void abort(void);
int main(int argc, char **argv) {
__m128 x1,x2,x3,x4;
float f[16];
int i;
x1 = _mm_setr_ps(1.0,2.0,3.0,4.0);
x2 = _mm_setr_ps(5.0,6.0,7.0,8.0);
x3 = _mm_setr_ps(9.0,10.0,11.0,12.0);
x4 = _mm_setr_ps(13.0,14.0,15.0,16.0);
_mm_storeu_ps(&f[0], x1);
_mm_storeu_ps(&f[4], x2);
_mm_storeu_ps(&f[8], x3);
_mm_storeu_ps(&f[12], x4);
_MM_TRANSPOSE4_PS (x1,x2,x3,x4);
_mm_storeu_ps(&f[0], x1);
_mm_storeu_ps(&f[4], x2);
_mm_storeu_ps(&f[8], x3);
_mm_storeu_ps(&f[12], x4);
if (!(f[0] == 1.0 && f[1] == 5.0 && f[2] == 9.0 && f[3] == 13.0))
abort();
return 0;
}