modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/pr60960.c (about)

     1  /* PR tree-optimization/60960 */
     2  
     3  typedef unsigned char v4qi __attribute__ ((vector_size (4)));
     4  
     5  __attribute__((noinline, noclone)) v4qi
     6  f1 (v4qi v)
     7  {
     8    return v / 2;
     9  }
    10  
    11  __attribute__((noinline, noclone)) v4qi
    12  f2 (v4qi v)
    13  {
    14    return v / (v4qi) { 2, 2, 2, 2 };
    15  }
    16  
    17  __attribute__((noinline, noclone)) v4qi
    18  f3 (v4qi x, v4qi y)
    19  {
    20    return x / y;
    21  }
    22  
    23  int
    24  main ()
    25  {
    26    v4qi x = { 5, 5, 5, 5 };
    27    v4qi y = { 2, 2, 2, 2 };
    28    v4qi z = f1 (x);
    29    if (__builtin_memcmp (&y, &z, sizeof (y)) != 0)
    30      __builtin_abort ();
    31    z = f2 (x);
    32    if (__builtin_memcmp (&y, &z, sizeof (y)) != 0)
    33      __builtin_abort ();
    34    z = f3 (x, y);
    35    if (__builtin_memcmp (&y, &z, sizeof (y)) != 0)
    36      __builtin_abort ();
    37    return 0;
    38  }