| /* { dg-do compile } */ | |
| /* { dg-options "-O2 -mavx512f -mvzeroupper" } */ | |
| #include <immintrin.h> | |
| __m128 | |
| foo1 (__m256 x) | |
| { | |
| return _mm256_castps256_ps128 (x); | |
| } | |
| void | |
| foo2 (float *p, __m256 x) | |
| { | |
| *p = ((__v8sf)x)[0]; | |
| } | |
| void | |
| foo3 (float *p, __m512 x) | |
| { | |
| *p = ((__v16sf)x)[0]; | |
| } | |
| /* { dg-final { scan-assembler-not "vzeroupper" } } */ |