1  /* PR target/106550 */
       2  /* { dg-require-effective-target power10_ok } */
       3  /* { dg-options "-O2 -mdejagnu-cpu=power10 -fdisable-rtl-split1" } */
       4  /* force the constant splitter run after RA: -fdisable-rtl-split1.  */
       5  
       6  void
       7  foo (unsigned long long *a)
       8  {
       9    /* Test oris/ori is used where paddi does not work with 'r0'. */
      10    register long long d asm("r0") = 0x1245abcef9240dec; /* pli+sldi+oris+ori */
      11    long long n;
      12    asm("cntlzd %0, %1" : "=r"(n) : "r"(d));
      13    *a++ = n;
      14  
      15    *a++ = 0x235a8470a7480000ULL; /* pli+sldi+oris */
      16    *a++ = 0x23a184700000b677ULL; /* pli+sldi+ori */
      17  }
      18  
      19  /* { dg-final { scan-assembler-times {\mpli\M} 3 } } */
      20  /* { dg-final { scan-assembler-times {\msldi\M} 3 } } */
      21  /* { dg-final { scan-assembler-times {\moris\M} 2 } } */
      22  /* { dg-final { scan-assembler-times {\mori\M} 2 } } */