PR rtl-optimization/87918
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr81294-2.c
blob3e3bdb44139e552962e1dd7ebeefcfd0b626ba86
1 /* PR target/81294 */
2 /* { dg-do run { target { ! ia32 } } } */
3 /* { dg-options "-O2" } */
5 #include <x86intrin.h>
7 int main ()
9 volatile unsigned char c;
10 unsigned long long x;
11 volatile unsigned long long y, sum_ref;
13 c = 0;
14 x = 1LL;
15 y = 0LL;
16 sum_ref = 0x0LL;
18 /* X = 0x0000000000000001, Y = 0x0000000000000000, C = 0. */
19 c = _subborrow_u64 (c, y, x, &x);
20 /* X = 0xFFFFFFFFFFFFFFFF, Y = 0x0000000000000000, C = 1. */
21 c = _subborrow_u64 (c, y, x, &x);
22 /* X = 0x0000000000000000, Y = 0x0000000000000000, C = 1. */
24 if (x != sum_ref)
25 __builtin_abort ();
27 return 0;