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

     1  /* { dg-require-effective-target stdint_types } */
     2  #include <stdint.h>
     3  typedef int32_t __attribute__((vector_size(8))) v2si;
     4  int64_t s64;
     5  
     6  static inline int64_t
     7  __ev_convert_s64 (v2si a)
     8  {
     9    return (int64_t) a;
    10  }
    11  
    12  int main()
    13  {
    14    union { int64_t ll; int32_t i[2]; } endianness_test;
    15    endianness_test.ll = 1;
    16    int32_t little_endian = endianness_test.i[0];
    17    s64 = __ev_convert_s64 ((v2si){1,0xffffffff});
    18    if (s64 != (little_endian ? 0xffffffff00000001LL : 0x1ffffffffLL))
    19      abort ();
    20    return 0;
    21  }