1 /* { dg-do compile } */
2 /* { dg-options "-O3" } */
3
4 /* Check that a LSL followed by an ASR can be combined into a single SBFIZ
5 instruction. */
6
7 /* Using W-reg */
8
9 int
10 sbfiz32 (int x)
11 {
12 return x << 29 >> 10;
13 }
14
15 /* Using X-reg */
16
17 long long
18 sbfiz64 (long long x)
19 {
20 return x << 58 >> 20;
21 }
22
23 /* { dg-final { scan-assembler "sbfiz\tw" } } */
24 /* { dg-final { scan-assembler "sbfiz\tx" } } */