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