(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr63594-1.c
       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) \
      18  typedef t v##t##s __attribute__ ((__vector_size__ (s * sizeof (t))));	\
      19  v##t##s									\
      20  test1##t##s (t c)							\
      21  {									\
      22    v##t##s v = { C(s) };							\
      23    return v;								\
      24  }									\
      25  									\
      26  v##t##s									\
      27  test2##t##s (t *p)							\
      28  {									\
      29    t c = *p;								\
      30    v##t##s v = { C(s) };							\
      31    return v;								\
      32  }
      33  
      34  typedef long long llong;
      35  
      36  T(char, 64)
      37  T(char, 32)
      38  T(char, 16)
      39  T(char, 8)
      40  T(char, 4)
      41  T(char, 2)
      42  T(char, 1)
      43  T(short, 32)
      44  T(short, 16)
      45  T(short, 8)
      46  T(short, 4)
      47  T(short, 2)
      48  T(short, 1)
      49  T(int, 16)
      50  T(int, 8)
      51  T(int, 4)
      52  T(int, 2)
      53  T(int, 1)
      54  T(float, 16)
      55  T(float, 8)
      56  T(float, 4)
      57  T(float, 2)
      58  T(float, 1)
      59  T(llong, 8)
      60  T(llong, 4)
      61  T(llong, 2)
      62  T(llong, 1)
      63  T(double, 8)
      64  T(double, 4)
      65  T(double, 2)
      66  T(double, 1)