Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.target/i386/pr95021-5.c @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
145:1830386684a0 | 152:2b5abeee2509 |
---|---|
1 /* { dg-do run { target int128 } } */ | |
2 /* { dg-require-effective-target sse2_runtime } */ | |
3 /* { dg-options "-O2 -msse2 -mstv -W" } */ | |
4 | |
5 #include <stdlib.h> | |
6 #include "pr95021-4.c" | |
7 | |
8 jmp_buf buf; | |
9 | |
10 __int128 *target_p; | |
11 __int128 *c; | |
12 | |
13 int count; | |
14 | |
15 __attribute__ ((noclone, noinline)) | |
16 void | |
17 foo (__int128 i1, __int128 i2, __int128 i3, __int128 x) | |
18 { | |
19 if (i1 != 0xbadbeef1) | |
20 abort (); | |
21 if (i2 != 0x2badbeef) | |
22 abort (); | |
23 if (i3 != 0xbad3beef) | |
24 abort (); | |
25 if (x != *c) | |
26 abort (); | |
27 if (!count) | |
28 { | |
29 count++; | |
30 longjmp (buf, 1); | |
31 } | |
32 } | |
33 | |
34 int | |
35 main () | |
36 { | |
37 __int128 val = 30; | |
38 __int128 local = 0; | |
39 target_p = &val; | |
40 c = &local; | |
41 bar (); | |
42 if (val != local) | |
43 abort (); | |
44 return 0; | |
45 } |