1/* PR target/63594 */ 2/* { dg-do compile } */ 3/* { dg-options "-O2 -Wno-psabi" } */ 4/* { dg-additional-options "-mno-mmx" { target i?86-*-* x86_64-*-* } } */ 5/* { dg-prune-output "non-standard ABI extension" } */ 6 7#define C1 c 8#define C2 C1, C1 9#define C4 C2, C2 10#define C8 C4, C4 11#define C16 C8, C8 12#define C32 C16, C16 13#define C64 C32, C32 14#define C_(n) n 15#define C(n) C_(C##n) 16 17#define T(t,s) \ 18typedef t v##t##s __attribute__ ((__vector_size__ (s * sizeof (t)))); \ 19v##t##s \ 20test1##t##s (t c) \ 21{ \ 22 v##t##s v = { C(s) }; \ 23 return v; \ 24} \ 25 \ 26v##t##s \ 27test2##t##s (t *p) \ 28{ \ 29 t c = *p; \ 30 v##t##s v = { C(s) }; \ 31 return v; \ 32} 33 34typedef long long llong; 35 36T(char, 64) 37T(char, 32) 38T(char, 16) 39T(char, 8) 40T(char, 4) 41T(char, 2) 42T(char, 1) 43T(short, 32) 44T(short, 16) 45T(short, 8) 46T(short, 4) 47T(short, 2) 48T(short, 1) 49T(int, 16) 50T(int, 8) 51T(int, 4) 52T(int, 2) 53T(int, 1) 54T(float, 16) 55T(float, 8) 56T(float, 4) 57T(float, 2) 58T(float, 1) 59T(llong, 8) 60T(llong, 4) 61T(llong, 2) 62T(llong, 1) 63T(double, 8) 64T(double, 4) 65T(double, 2) 66T(double, 1) 67