2 /* { dg-options "-O2 --save-temps" } */
4 extern void abort (void);
6 typedef unsigned int u32int
;
7 typedef unsigned long long u64int
;
10 test_si (u32int w1
, u32int w2
, u32int w3
, u32int w4
)
13 /* { dg-final { scan-assembler "sbc\tw\[0-9\]+, w\[0-9\]+, w\[0-9\]+\n" } } */
14 w0
= w1
- w2
- (w3
< w4
);
19 test_di (u64int x1
, u64int x2
, u64int x3
, u64int x4
)
22 /* { dg-final { scan-assembler "sbc\tx\[0-9\]+, x\[0-9\]+, x\[0-9\]+\n" } } */
23 x0
= x1
- x2
- (x3
< x4
);
32 x
= test_si (7, 8, 12, 15);
35 y
= test_di (0x987654321ll
, 0x123456789ll
, 0x345345345ll
, 0x123123123ll
);
36 if (y
!= 0x8641fdb98ll
)