1 /* PR target/85095 *
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -masm=att" } */
4
5 unsigned int
foo(unsigned int a,unsigned int b)6 foo (unsigned int a, unsigned int b)
7 {
8 a += b;
9 if (a < b) a++;
10 return a;
11 }
12
13 #ifdef __x86_64__
14 unsigned long long
bar(unsigned long long a,unsigned long long b)15 bar (unsigned long long a, unsigned long long b)
16 {
17 a += b;
18 if (a < b) a++;
19 return a;
20 }
21
22 unsigned long long
baz(unsigned int a,unsigned int b)23 baz (unsigned int a, unsigned int b)
24 {
25 a += b;
26 if (a < b) a++;
27 return a;
28 }
29 #endif
30
31 /* { dg-final { scan-assembler-times "adcl\t\\\$0," 1 { target ia32 } } } */
32 /* { dg-final { scan-assembler-times "adcl\t\\\$0," 2 { target { ! ia32 } } } } */
33 /* { dg-final { scan-assembler-times "adcq\t\\\$0," 1 { target { ! ia32 } } } } */
34