/* { dg-do compile } */ | |
/* { dg-options "-O2 -mavx" } */ | |
#include <immintrin.h> | |
static inline __m256 add1(const __m256 *a, const __m256 *b) | |
{ | |
return _mm256_add_ps(*a, *b); | |
} | |
void foo1(__m256 *a, const __m256 b) | |
{ | |
*a = add1(a, &b); | |
} | |
static inline __m128 add2(const __m128 *a, const __m128 *b) | |
{ | |
return _mm_add_ps(*a, *b); | |
} | |
void foo2(__m128 *a, const __m128 b) | |
{ | |
*a = add2(a, &b); | |
} | |
/* { dg-final { scan-assembler-not "vmovups" } } */ |