1 /* { dg-do compile } */
2 /* { dg-require-effective-target arm32 } */
3 /* { dg-options "-O2" } */
4 
negdi_zero_extendsidi(unsigned int x)5 signed long long negdi_zero_extendsidi (unsigned int x)
6 {
7   return -((signed long long) x);
8 }
9 /*
10 Expected output:
11         rsbs    r0, r0, #0
12         sbc     r1, r1, r1
13 */
14 /* { dg-final { scan-assembler-times "rsb" 1 } } */
15 /* { dg-final { scan-assembler-times "sbc" 1 } } */
16 /* { dg-final { scan-assembler-times "mov" 0 } } */
17 /* { dg-final { scan-assembler-times "rsc" 0 } } */
18