aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/optim/select-and-shift.c
blob: fbe044c7cb44262e8205d5520888355b7f8d2a9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define S1	2
#define S2	5
#define S	(S2 - S1)

#define	A	(1 << S1)
#define	B	(1 << S2)

int foo(int p) { return ((p & A) ? B : 0) == ((((unsigned)p) & A) << S); }
int bar(int p) { return ((p & B) ? A : 0) == ((((unsigned)p) & B) >> S); }

/*
 * check-name: select-and-shift
 * check-command: test-linearize -Wno-decl $file
 * check-known-to-fail
 *
 * check-output-ignore
 * check-output-returns: 1
 */