libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / pr91504.c
bloba52dea490e554ddc885d73c49cfc73836defa87e
1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-optimized-raw" } */
4 static inline unsigned deposit32(unsigned value, int start, int length,
5 unsigned fieldval)
7 unsigned mask = (~0U >> (32 - length)) << start;
8 return (value & ~mask) | ((fieldval << start) & mask);
11 unsigned foo(unsigned value)
13 return deposit32(value, 10, 1, 1);
16 /* { dg-final { scan-tree-dump-not "bit_and_expr" "optimized" } } */
17 /* { dg-final { scan-tree-dump-not "bit_xor_expr" "optimized" } } */
18 /* { dg-final { scan-tree-dump-not "bit_not_expr" "optimized" } } */