1 /* { dg-options "-O -fdump-tree-optimized" } */
2 /* { dg-additional-options "-fno-common" { target hppa*-*-hpux* } } */
4 extern void *memcpy (void *, const void *, __SIZE_TYPE__
);
6 #define TEST(NAME, TYPE) \
8 char NAME##y[sizeof (NAME##x)] __attribute__((aligned (__alignof__ (NAME##x)))); \
9 void NAME (void) { memcpy (&NAME##x, &NAME##y, sizeof (NAME##x)); }
13 TEST (ld
, long double);
14 TEST (cf
, _Complex
float);
15 TEST (cd
, _Complex
double);
16 TEST (cld
, _Complex
long double);
17 TEST (d8f
, float __attribute__((vector_size (8))));
18 TEST (d16f
, float __attribute__((vector_size (16))));
19 TEST (d32f
, float __attribute__((vector_size (32))));
20 TEST (d64f
, float __attribute__((vector_size (64))));
21 TEST (d128f
, float __attribute__((vector_size (128))));
22 TEST (d16d
, double __attribute__((vector_size (16))));
23 TEST (d32d
, double __attribute__((vector_size (32))));
24 TEST (d64d
, double __attribute__((vector_size (64))));
25 TEST (d128d
, double __attribute__((vector_size (128))));
27 /* { dg-final { scan-tree-dump-not "memcpy" "optimized" { target i?86-*-* x86_64-*-* } } } */