]>
Commit | Line | Data |
---|---|---|
bba4624d GM |
1 | # Tests for the ALU64 eBPF pseudo-C instructions |
2 | .text | |
3 | r2 += 666 | |
4 | r3 += -666 | |
5 | r4 += 2125315823 | |
6 | r5 += r6 | |
7 | r2 -= 666 | |
8 | r3 -= -666 | |
9 | r4 -= 2125315823 | |
10 | r5 -= r6 | |
11 | r2 *= 666 | |
12 | r3 *= -666 | |
13 | r4 *= 2125315823 | |
14 | r5 *= r6 | |
15 | r2 /= 666 | |
16 | r3 /= -666 | |
17 | r4 /= 2125315823 | |
18 | r5 /= r6 | |
19 | r2 |= 666 | |
20 | r3 |= -666 | |
21 | r4 |= 2125315823 | |
22 | r5 |= r6 | |
23 | r2 &= 666 | |
24 | r3 &= -666 | |
25 | r4 &= 2125315823 | |
26 | r5 &= r6 | |
27 | r2 <<= 666 | |
28 | r3 <<= -666 | |
29 | r4 <<= 2125315823 | |
30 | r5 <<= r6 | |
31 | r2 >>= 666 | |
32 | r3 >>= -666 | |
33 | r4 >>= 2125315823 | |
34 | r5 >>= r6 | |
35 | r2 %= 0x29a | |
36 | r3 %= -666 | |
37 | r4 %= 0x7eadbeef | |
38 | r5 %= r6 | |
39 | r2 ^= 666 | |
40 | r3 ^= -666 | |
41 | r4 ^= 2125315823 | |
42 | r5 ^= r6 | |
43 | r2 = 666 | |
44 | r3 = -666 | |
45 | r4 = 2125315823 | |
46 | r5 = r6 | |
47 | r2 s>>= 666 | |
48 | r3 s>>= -666 | |
49 | r4 s>>= 2125315823 | |
50 | r5 s>>= r6 | |
b5c37946 SJ |
51 | r2 = - r2 |
52 | r9 = le16 r9 | |
53 | r8 = le32 r8 | |
54 | r7 = le64 r7 | |
55 | r6 = be16 r6 | |
56 | r5 = be32 r5 | |
57 | r4 = be64 r4 | |
58 | r1 = (s8) r2 | |
59 | r1 = (s16) r2 | |
60 | r1 = (s32) r2 | |
61 | r1 = bswap16 r1 | |
62 | r2 = bswap32 r2 | |
63 | r3 = bswap64 r3 | |
64 | ;; Note that the next instruction gets processed by the GAS | |
65 | ;; preprocessor into r1 =-0xf00, which parses into a %dr = %i32 | |
66 | ;; instruction instead of a neg :/ | |
67 | r1 = - 0xf00 |