1 /* { dg-lto-do link } */
2 /* { dg-lto-options {{-O -flto -finline-small-functions -fno-early-inlining}} } */
3
4 void abort(void);
5 void exit(int);
6
7 typedef unsigned int u8 __attribute__ ((mode (QI)));
8 u8 ashift_qi_1 (u8);
9
10 u8
11 ashift_qi_0 (u8 n)
12 {
13 }
14
15 u8
16 ashift_qi_2 (u8 n)
17 {
18 }
19
20 u8
21 ashift_qi_3 (u8 n)
22 {
23 }
24
25 u8
26 ashift_qi_4 (u8 n)
27 {
28 }
29
30 u8
31 ashift_qi_5 (u8 n)
32 {
33 }
34
35 u8
36 ashift_qi_6 (u8 n)
37 {
38 }
39
40 u8
41 ashift_qi_7 (u8 n)
42 {
43 }
44
45 u8
46 lshiftrt_qi_0 (u8 n)
47 {
48 }
49
50 u8
51 lshiftrt_qi_4 (u8 n)
52 {
53 }
54
55 u8
56 lshiftrt_qi_5 (u8 n)
57 {
58 }
59
60 u8
61 lshiftrt_qi_7 (u8 n)
62 {
63 }
64
65 int
66 main ()
67 {
68 if (ashift_qi_0 (0xff) != (u8) ((u8) 0xff << 0))
69 abort ();
70 if (ashift_qi_1 (0xff) != (u8) ((u8) 0xff << 1))
71 abort ();
72 if (ashift_qi_2 (0xff) != (u8) ((u8) 0xff << 2))
73 abort ();
74 if (ashift_qi_3 (0xff) != (u8) ((u8) 0xff << 3))
75 abort ();
76 if (ashift_qi_4 (0xff) != (u8) ((u8) 0xff << 4))
77 abort ();
78 if (ashift_qi_5 (0xff) != (u8) ((u8) 0xff << 5))
79 abort ();
80 if (ashift_qi_6 (0xff) != (u8) ((u8) 0xff << 6))
81 abort ();
82 if (ashift_qi_7 (0xff) != (u8) ((u8) 0xff << 7))
83 abort ();
84 if (lshiftrt_qi_0 (0xff) != (u8) ((u8) 0xff >> 0))
85 abort ();
86 if (lshiftrt_qi_4 (0xff) != (u8) ((u8) 0xff >> 4))
87 abort ();
88 if (lshiftrt_qi_5 (0xff) != (u8) ((u8) 0xff >> 5))
89 abort ();
90 if (lshiftrt_qi_7 (0xff) != (u8) ((u8) 0xff >> 7))
91 abort ();
92 exit (0);
93 }
94