1 /* AND with zero extension of operands.
2 It is matched slightly different than rest of ALU ops. */
3
4 /* { dg-do compile } */
5 /* { dg-options "-O1" } */
6
7 /* -O1 in the options is significant. Without it the zero extension might not
8 be coalesced into the ALU instruction. */
9
10 unsigned int
11 test_zext_and_hi (unsigned char val1, unsigned int val2)
12 {
13 /* { dg-final { scan-assembler "and\\tr14, r14.b0, r15" } } */
14 return val1 & val2;
15 }
16