view gcc/testsuite/gcc.target/i386/pr95021-4.c @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents
children
line wrap: on
line source

/* { dg-do compile { target int128 } } */
/* { dg-options "-O2 -msse2 -mstv -W" } */
/* { dg-final { scan-assembler "(movaps|vmovdqa)\[ \t\]%xmm\[0-9\]+, \\(%rsp\\)" } } */

#include <setjmp.h>

extern jmp_buf buf;

extern __int128 *target_p;
__int128 *c;

extern int count;

extern void foo (__int128, __int128, __int128, __int128);

__attribute__ ((noclone, noinline))
void
bar (void)
{
  if (setjmp (buf))
    {
      __int128 target = *target_p;
      *c = target;
      foo (0xbadbeef1, 0x2badbeef, 0xbad3beef, target);
    }
  else
    foo (0xbadbeef1, 0x2badbeef, 0xbad3beef, 0);
}