(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
pr91275.c
       1  /* Test that we generate vpmsumd correctly without a swap error.  */
       2  
       3  /* { dg-do run { target { p8vector_hw } } } */
       4  /* { dg-options "-O2 -std=gnu11 -mdejagnu-cpu=power8" } */
       5  
       6  #include <altivec.h>
       7  
       8  int main() {
       9  
      10    const unsigned long long r0l = 0x8e7dfceac070e3a0;
      11    vector unsigned long long r0 = (vector unsigned long long) {r0l, 0}, v;
      12    const vector unsigned long long pd
      13      = (vector unsigned long long) {0xc2LLU << 56, 0};
      14  
      15    v = __builtin_crypto_vpmsumd ((vector unsigned long long) {r0[0], 0}, pd);
      16  
      17  #if __LITTLE_ENDIAN__
      18    if (v[0] != 0x4000000000000000 || v[1] != 0x65bd7ab605a4a8ff)
      19      __builtin_abort ();
      20  #else
      21    if (v[1] != 0x4000000000000000 || v[0] != 0x65bd7ab605a4a8ff)
      22      __builtin_abort ();
      23  #endif
      24  
      25    return 0;
      26  }