1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-vrp" } */
5 extern const unsigned char mode_size
[];
7 subreg_highpart_offset (outermode
, innermode
)
8 int outermode
, innermode
;
10 unsigned int offset
= 0;
11 int difference
= (mode_size
[innermode
] - mode_size
[outermode
]);
14 offset
+= difference
% (0 ? 8 : 4);
15 offset
+= difference
/ 4 * 4;
20 /* There should be one mask with the value 3. */
21 /* { dg-final { scan-tree-dump-times " \& 3" 1 "vrp"} } */
23 /* There should be one right shift by 2 places. */
24 /* { dg-final { scan-tree-dump-times " >> 2" 1 "vrp"} } */
26 /* { dg-final { cleanup-tree-dump "vrp" } } */