1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -mavx512f -mvzeroupper" } */ 3 4 #include <immintrin.h> 5 6 __m128 foo1(__m256 x)7foo1 (__m256 x) 8 { 9 return _mm256_castps256_ps128 (x); 10 } 11 12 void foo2(float * p,__m256 x)13foo2 (float *p, __m256 x) 14 { 15 *p = ((__v8sf)x)[0]; 16 } 17 18 void foo3(float * p,__m512 x)19foo3 (float *p, __m512 x) 20 { 21 *p = ((__v16sf)x)[0]; 22 } 23 24 /* { dg-final { scan-assembler-not "vzeroupper" } } */ 25