1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
4 volatile unsigned int w0
, w1
;
8 /* { dg-final { scan-assembler "tst\tw\[0-9\]*, w\[0-9\]*\n" } } */
10 /* { dg-final { scan-assembler "tst\tw\[0-9\]*, \(0x\[0-9a-fA-F\]+\)|\(\[0-9\]+\)" } } */
11 result
= !(w0
& 0x00f0);
12 /* { dg-final { scan-assembler "tst\tw\[0-9\]*.*lsl 4" } } */
13 result
= !(w0
& (w1
<< 4));
17 /* { dg-final { scan-assembler "tbnz\t\[wx\]\[0-9\]*" } } */
19 if (w0
& 0x08) goto jumpto
;
23 /* { dg-final { scan-assembler "tbz\t\[wx\]\[0-9\]*" } } */
25 if (!(w1
& 0x08)) goto jumpto
;
28 volatile unsigned long long x0
, x1
;
31 /* { dg-final { scan-assembler "tst\tx\[0-9\]*, x\[0-9\]*\n" } } */
33 /* { dg-final { scan-assembler "tst\tx\[0-9\]*, \(0x\[0-9a-fA-F\]+\)|\(\[0-9\]+\)" } } */
34 result
= !(x0
& 0x00f0);
35 /* { dg-final { scan-assembler "tst\tx\[0-9\]*.*lsl 4" } } */
36 result
= !(x0
& (x1
<< 4));
40 /* { dg-final { scan-assembler "tbnz\tx\[0-9\]*" } } */
42 if (x0
& 0x08) goto jumpto
;
46 /* { dg-final { scan-assembler "tbz\tx\[0-9\]*" } } */
48 if (!(x1
& 0x08)) goto jumpto
;