]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gas/testsuite/gas/bpf/pseudoc-normal.s
gdb/solib-rocm: limit the number of opened file descriptors
[thirdparty/binutils-gdb.git] / gas / testsuite / gas / bpf / pseudoc-normal.s
CommitLineData
bba4624d
GM
1# Tests for mixing pseudo-C and normal eBPF instructions
2beg:
3 .text
4 add %r1,0xaa
5 r1 += 0xaa
6 add %r1,%r2
7 r1 += r2
8 sub %r1,0xaa
9 r1 -= 0xaa
10 sub %r1,%r2
11 r1 -= r2
12 mul %r1,0xaa
13 r1 *= 0xaa
14 mul %r1,%r2
15 r1 *= r2
16 div %r1,0xaa
17 r1 /= 0xaa
18 div %r1,%r2
19 r1 /= r2
20 or %r1,0xaa
21 r1 |= 0xaa
22 or %r1,%r2
23 r1 |= r2
24 and %r1,0xaa
25 r1 &= 0xaa
26 and %r1,%r2
27 r1 &= r2
28 lsh %r1,0xaa
29 r1 <<= 0xaa
30 lsh %r1,%r2
31 r1 <<= r2
32 rsh %r1,0xaa
33 r1 >>= 0xaa
34 rsh %r1,%r2
35 r1 >>= r2
36 xor %r1,0xaa
37 r1 ^= 0xaa
38 xor %r1,%r2
39 r1 ^= r2
40 mov %r1,0xaa
41 r1 = 0xaa
42 mov %r1,%r2
43 r1 = r2
44 arsh %r1,0xaa
45 r1 s>>= 0xaa
46 arsh %r1,%r2
47 r1 s>>= r2
48 neg %r1
49 r1 = -r1
50 add32 %r1,0xaa
51 w1 += 0xaa
52 add32 %r1,%r2
53 w1 += w2
54 sub32 %r1,0xaa
55 w1 -= 0xaa
56 sub32 %r1,%r2
57 w1 -= w2
58 mul32 %r1,0xaa
59 w1 *= 0xaa
60 mul32 %r1,%r2
61 w1 *= w2
62 div32 %r1,0xaa
63 w1 /= 0xaa
64 div32 %r1,%r2
65 w1 /= w2
66 or32 %r1,0xaa
67 w1 |= 0xaa
68 or32 %r1,%r2
69 w1 |= w2
70 and32 %r1,0xaa
71 w1 &= 0xaa
72 and32 %r1,%r2
73 w1 &= w2
74 lsh32 %r1,0xaa
75 w1 <<= 0xaa
76 lsh32 %r1,%r2
77 w1 <<= w2
78 rsh32 %r1,0xaa
79 w1 >>= 0xaa
80 rsh32 %r1,%r2
81 w1 >>= w2
82 xor32 %r1,0xaa
83 w1 ^= 0xaa
84 xor32 %r1,%r2
85 w1 ^= w2
86 mov32 %r1,0xaa
87 w1 = 0xaa
88 mov32 %r1,%r2
89 w1 = w2
90 arsh32 %r1,0xaa
91 w1 s>>= 0xaa
92 arsh32 %r1,%r2
93 w1 s>>= w2
94 neg32 %r1
95 w1 = -w1
96 endle %r1,16
97 r1 = le16 r1
98 endle %r1,32
99 r1 = le32 r1
100 endle %r1,64
101 r1 = le64 r1
102 endbe %r1,16
103 r1 = be16 r1
104 endbe %r1,32
105 r1 = be32 r1
106 endbe %r1,64
107 r1 = be64 r1
108 ldxb %r1,[%r2+0xaa]
109 r1 = *(u8 *)(r2 + 0xaa)
110 ldxh %r1,[%r2+0xaa]
111 r1 = *(u16 *)(r2 + 0xaa)
112 ldxw %r1,[%r2+0xaa]
113 r1 = *(u32 *)(r2 + 0xaa)
114 ldxdw %r1,[%r2+0xaa]
115 r1 = *(u64 *)(r2 + 0xaa)
116 stxb [%r1+0xaa],%r2
117 *(u8 *)(r1 + 0xaa) = r2
118 stxh [%r1+0xaa],%r2
119 *(u16 *)(r1 + 0xaa) = r2
120 stxw [%r1+0xaa],%r2
121 *(u32 *)(r1 + 0xaa) = r2
122 stxdw [%r1+0xaa],%r2
123 *(u64 *)(r1 + 0xaa) = r2
124 ja 187
125 goto 0xbb
126 jeq %r1,0xaa,187
127 if r1 == 0xaa goto 0xbb
128 jeq %r1,%r2,187
129 if r1 == r2 goto 0xbb
130 jgt %r1,0xaa,187
131 if r1 > 0xaa goto 0xbb
132 jgt %r1,%r2,187
133 if r1 > r2 goto 0xbb
134 jge %r1,0xaa,187
135 if r1 >= 0xaa goto 0xbb
136 jge %r1,%r2,187
137 if r1 >= r2 goto 0xbb
138 jlt %r1,0xaa,187
139 if r1 < 0xaa goto 0xbb
140 jlt %r1,%r2,187
141 if r1 < r2 goto 0xbb
142 jle %r1,0xaa,187
143 if r1 <= 0xaa goto 0xbb
144 jle %r1,%r2,187
145 if r1 <= r2 goto 0xbb
146 jset %r1,0xaa,187
147 if r1 & 0xaa goto 0xbb
148 jset %r1,%r2,187
149 if r1 & r2 goto 0xbb
150 jne %r1,0xaa,187
151 if r1 != 0xaa goto 0xbb
152 jne %r1,%r2,187
153 if r1 != r2 goto 0xbb
154 jsgt %r1,0xaa,187
155 if r1 s> 0xaa goto 0xbb
156 jsgt %r1,%r2,187
157 if r1 s> r2 goto 0xbb
158 jsge %r1,0xaa,187
159 if r1 s>= 0xaa goto 0xbb
160 jsge %r1,%r2,187
161 if r1 s>= r2 goto 0xbb
162 jslt %r1,0xaa,187
163 if r1 s< 0xaa goto 0xbb
164 jslt %r1,%r2,187
165 if r1 s< r2 goto 0xbb
166 jsle %r1,0xaa,187
167 if r1 s<= 0xaa goto 0xbb
168 jsle %r1,%r2,187
169 if r1 s<= r2 goto 0xbb
170 call 170
171 call 0xaa
172 exit
173 exit
174 mov %r6,main - beg
175 exit
176 ldabsw 0xaa
177 r0 = *(u32 *)skb[0xaa]
178 ldindb %r7,0xaa
179 r0 = *(u8 *)skb[r7 + 0xaa]
180 ldabsw 0xaa
181 r0 = *(u32 *)skb[0xaa]
182 ldindb %r7,0xaa
183 r0 = *(u8 *)skb[r7 + 0xaa]
184 lddw %r3,1
185 r3 = 1 ll
186 lddw %r4,0xaabbccddeeff7788
187 r4 = 0xaabbccddeeff7788 ll
188 r5 = 0x1122334455667788 ll
189 lddw %r5,0x1122334455667788
190 lddw %r6,main
191 r6 = main ll
192 main:
193 lock *(u32 *)(r1 + 0xaa) += r2
194 xaddw [%r1+0xaa],%r2
195 lock *(u64 *)(r1 + 0xaa) += r2
196 xadddw [%r1+0xaa],%r2