1f08c3bdfSopenharmony_ci#define W 3 2f08c3bdfSopenharmony_ci#define S 8 3f08c3bdfSopenharmony_ci#define M (W << S) 4f08c3bdfSopenharmony_ci 5f08c3bdfSopenharmony_cistatic inline int fun(unsigned int x, unsigned int y) 6f08c3bdfSopenharmony_ci{ 7f08c3bdfSopenharmony_ci return ((x & M) | (y << S)) >> S; 8f08c3bdfSopenharmony_ci} 9f08c3bdfSopenharmony_ci 10f08c3bdfSopenharmony_ciint foo(unsigned int x, unsigned int y) 11f08c3bdfSopenharmony_ci{ 12f08c3bdfSopenharmony_ci return fun(x, y) & W; 13f08c3bdfSopenharmony_ci} 14f08c3bdfSopenharmony_ci 15f08c3bdfSopenharmony_ci/* 16f08c3bdfSopenharmony_ci * check-name: and-or-mask3u 17f08c3bdfSopenharmony_ci * check-command: test-linearize -Wno-decl $file 18f08c3bdfSopenharmony_ci * check-known-to-fail 19f08c3bdfSopenharmony_ci * 20f08c3bdfSopenharmony_ci * check-output-ignore 21f08c3bdfSopenharmony_ci * check-output-pattern(1): lsr\\. 22f08c3bdfSopenharmony_ci * check-output-pattern(1): or\\. 23f08c3bdfSopenharmony_ci * check-output-pattern(1): and\\. 24f08c3bdfSopenharmony_ci * check-output-excludes: shl\\. 25f08c3bdfSopenharmony_ci */ 26