(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr95021-4.c
       1  /* { dg-do compile { target int128 } } */
       2  /* { dg-options "-O2 -msse2 -mstv -W" } */
       3  /* { dg-final { scan-assembler "(movaps|vmovdqa)\[ \t\]%xmm\[0-9\]+, \\(%rsp\\)" } } */
       4  
       5  #include <setjmp.h>
       6  
       7  extern jmp_buf buf;
       8  
       9  extern __int128 *target_p;
      10  __int128 *c;
      11  
      12  extern int count;
      13  
      14  extern void foo (__int128, __int128, __int128, __int128);
      15  
      16  __attribute__ ((noclone, noinline))
      17  void
      18  bar (void)
      19  {
      20    if (setjmp (buf))
      21      {
      22        __int128 target = *target_p;
      23        *c = target;
      24        foo (0xbadbeef1, 0x2badbeef, 0xbad3beef, target);
      25      }
      26    else
      27      foo (0xbadbeef1, 0x2badbeef, 0xbad3beef, 0);
      28  }