1 /* 64-bit logical bit operations. */
2
3 /* { dg-do compile } */
4 /* { dg-options "-O1" } */
5
6 unsigned long long
7 test_xor_di (unsigned long long val1, unsigned long long val2)
8 {
9 /* { dg-final { scan-assembler "xor\\tr14, r14, r16" } } */
10 return val1 ^ val2;
11 }
12
13 unsigned long long
14 test_and_di (unsigned long long val1, unsigned long long val2)
15 {
16 /* { dg-final { scan-assembler "and\\tr14, r14, r16" } } */
17 return val1 & val2;
18 }
19
20 unsigned long long
21 test_ior_di (unsigned long long val1, unsigned long long val2)
22 {
23 /* { dg-final { scan-assembler "or\\tr14, r14, r16" } } */
24 return val1 | val2;
25 }