1169695Skan/* { dg-do compile } */ 2169695Skan/* { dg-options "-O2 -mavx" } */ 3169695Skan 4169695Skan#include <immintrin.h> 5169695Skan 6169695Skanstatic inline __m256 add1(const __m256 *a, const __m256 *b) 7169695Skan{ 8169695Skan return _mm256_add_ps(*a, *b); 9169695Skan} 10169695Skan 11169695Skanvoid foo1(__m256 *a, const __m256 b) 12169695Skan{ 13169695Skan *a = add1(a, &b); 14169695Skan} 15169695Skan 16169695Skanstatic inline __m128 add2(const __m128 *a, const __m128 *b) 17169695Skan{ 18169695Skan return _mm_add_ps(*a, *b); 19169695Skan} 20169695Skan 21169695Skanvoid foo2(__m128 *a, const __m128 b) 22169695Skan{ 23169695Skan *a = add2(a, &b); 24169695Skan} 25169695Skan 26169695Skan/* { dg-final { scan-assembler-not "vmovups" } } */ 27169695Skan