1 typedef unsigned int uint;
2 typedef signed int sint;
3
4
fact_xor_shl(uint a,uint b,uint s)5 uint fact_xor_shl(uint a, uint b, uint s)
6 {
7 return ((a << s) ^ (b << s)) == ((a ^ b) << s);
8 }
9
fact_xor_lsr(uint a,uint b,uint s)10 uint fact_xor_lsr(uint a, uint b, uint s)
11 {
12 return ((a >> s) ^ (b >> s)) == ((a ^ b) >> s);
13 }
14
fact_xor_asr(sint a,sint b,sint s)15 sint fact_xor_asr(sint a, sint b, sint s)
16 {
17 return ((a >> s) ^ (b >> s)) == ((a ^ b) >> s);
18 }
19
20 /*
21 * check-name: fact-xor-shift
22 * check-command: test-linearize -Wno-decl $file
23 *
24 * check-output-ignore
25 * check-output-returns: 1
26 */
27