blob: d5bb28cc01aa4921422e834b5dad370a0ac1f751 [file] [log] [blame]
/* { 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);
}