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