2 /* { dg-options "-O2 -mavx512f" } */
3 /* { dg-require-effective-target avx512f } */
5 #include "avx512f-check.h"
7 extern int memcmp (const void *, const void *, __SIZE_TYPE__
);
23 for (i
= 0; i
< 16; i
++)
25 a
.a
[i
] = 7146908634 + i
;
29 for (i
= 0; i
< 8; i
++)
31 c
.a
[i
] = 41234512513451345.0905 + i
;
33 e
.a
[i
] = 85034.095f
+ i
;
36 for (i
= 0; i
< 4; i
++)
38 f
.a
[i
] = 41234512451345.0905 + i
;
39 g
.a
[i
] = 71469086341 + i
;
40 h
.a
[i
] = 45.1264f
+ i
;
43 for (i
= 0; i
< 2; i
++)
45 k
.a
[i
] = 7146908634.576 + i
;
48 bd
.x
= _mm512_castpd_ps (c
.x
);
49 if (memcmp(bd
.a
, c
.a
, 64))
52 ad
.x
= _mm512_castpd_si512 (c
.x
);
53 if (memcmp(ad
.a
, c
.a
, 64))
56 cd
.x
= _mm512_castps_pd (b
.x
);
57 if (memcmp(cd
.a
, b
.a
, 64))
60 ad
.x
= _mm512_castps_si512 (b
.x
);
61 if (memcmp(ad
.a
, b
.a
, 64))
64 bd
.x
= _mm512_castsi512_ps (a
.x
);
65 if (memcmp(bd
.a
, a
.a
, 64))
68 cd
.x
= _mm512_castsi512_pd (a
.x
);
69 if (memcmp(cd
.a
, a
.a
, 64))
72 kd
.x
= _mm512_castpd512_pd128 (c
.x
);
73 if (memcmp(kd
.a
, c
.a
, 16))
76 hd
.x
= _mm512_castps512_ps128 (b
.x
);
77 if (memcmp(hd
.a
, b
.a
, 16))
80 gd
.x
= _mm512_castsi512_si128 (a
.x
);
81 if (memcmp(gd
.a
, a
.a
, 16))
84 fd
.x
= _mm512_castpd512_pd256 (c
.x
);
85 if (memcmp(fd
.a
, c
.a
, 32))
88 ed
.x
= _mm512_castps512_ps256 (b
.x
);
89 if (memcmp(ed
.a
, b
.a
, 32))
92 dd
.x
= _mm512_castsi512_si256 (a
.x
);
93 if (memcmp(dd
.a
, a
.a
, 32))
96 cd
.x
= _mm512_castpd128_pd512 (k
.x
);
97 if (memcmp(cd
.a
, k
.a
, 16))
100 bd
.x
= _mm512_castps128_ps512 (h
.x
);
101 if (memcmp(bd
.a
, h
.a
, 16))
104 ad
.x
= _mm512_castsi128_si512 (g
.x
);
105 if (memcmp(ad
.a
, g
.a
, 16))
108 cd
.x
= _mm512_castpd256_pd512 (f
.x
);
109 if (memcmp(cd
.a
, f
.a
, 32))
112 bd
.x
= _mm512_castps256_ps512 (e
.x
);
113 if (memcmp(bd
.a
, e
.a
, 32))
116 ad
.x
= _mm512_castsi256_si512 (d
.x
);
117 if (memcmp(ad
.a
, d
.a
, 32))