brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · 09b89d7 Raw
109 lines · plain
1# RUN: llvm-mc -triple bpfel -filetype=obj -o %t %s2# RUN: llvm-objdump --no-print-imm-hex -d -r %t | FileCheck %s3# RUN: llvm-objdump --no-print-imm-hex --mattr=+alu32 -d -r %t | FileCheck %s4 5// ======== BPF_ALU Class ========6  w1 = -w1    // BPF_NEG7  w0 += w1    // BPF_ADD  | BPF_X8  w1 -= w2    // BPF_SUB  | BPF_X9  w2 *= w3    // BPF_MUL  | BPF_X10  w3 /= w4    // BPF_DIV  | BPF_X11// CHECK: 84 01 00 00 00 00 00 00      w1 = -w112// CHECK: 0c 10 00 00 00 00 00 00      w0 += w113// CHECK: 1c 21 00 00 00 00 00 00      w1 -= w214// CHECK: 2c 32 00 00 00 00 00 00      w2 *= w315// CHECK: 3c 43 00 00 00 00 00 00      w3 /= w416 17  w4 |= w5    // BPF_OR   | BPF_X18  w5 &= w6    // BPF_AND  | BPF_X19  w6 <<= w7   // BPF_LSH  | BPF_X20  w7 >>= w8   // BPF_RSH  | BPF_X21  w8 ^= w9    // BPF_XOR  | BPF_X22  w9 = w10    // BPF_MOV  | BPF_X23  w10 s>>= w0 // BPF_ARSH | BPF_X24// CHECK: 4c 54 00 00 00 00 00 00      w4 |= w525// CHECK: 5c 65 00 00 00 00 00 00      w5 &= w626// CHECK: 6c 76 00 00 00 00 00 00      w6 <<= w727// CHECK: 7c 87 00 00 00 00 00 00      w7 >>= w828// CHECK: ac 98 00 00 00 00 00 00      w8 ^= w929// CHECK: bc a9 00 00 00 00 00 00      w9 = w1030// CHECK: cc 0a 00 00 00 00 00 00      w10 s>>= w031 32  w0 += 1           // BPF_ADD  | BPF_K33  w1 -= 0x1         // BPF_SUB  | BPF_K34  w2 *= -4          // BPF_MUL  | BPF_K35  w3 /= 5           // BPF_DIV  | BPF_K36// CHECK: 04 00 00 00 01 00 00 00      w0 += 137// CHECK: 14 01 00 00 01 00 00 00      w1 -= 138// CHECK: 24 02 00 00 fc ff ff ff      w2 *= -439// CHECK: 34 03 00 00 05 00 00 00      w3 /= 540 41  w4 |= 0xff        // BPF_OR   | BPF_K42  w5 &= 0xFF        // BPF_AND  | BPF_K43  w6 <<= 63         // BPF_LSH  | BPF_K44  w7 >>= 32         // BPF_RSH  | BPF_K45  w8 ^= 0           // BPF_XOR  | BPF_K46  w9 = 1            // BPF_MOV  | BPF_K47  w9 = 0xffffffff   // BPF_MOV  | BPF_K48  w10 s>>= 64       // BPF_ARSH | BPF_K49// CHECK: 44 04 00 00 ff 00 00 00      w4 |= 25550// CHECK: 54 05 00 00 ff 00 00 00      w5 &= 25551// CHECK: 64 06 00 00 3f 00 00 00      w6 <<= 6352// CHECK: 74 07 00 00 20 00 00 00      w7 >>= 3253// CHECK: a4 08 00 00 00 00 00 00      w8 ^= 054// CHECK: b4 09 00 00 01 00 00 00      w9 = 155// CHECK: b4 09 00 00 ff ff ff ff      w9 = -156// CHECK: c4 0a 00 00 40 00 00 00      w10 s>>= 6457 58  if w1 & w2 goto Llabel0    // BPF_JSET | BPF_X59  if w1 & 0xff goto Llabel0  // BPF_JSET | BPF_K60// CHECK: 4e 21 0d 00 00 00 00 00      if w1 & w2 goto +1361// CHECK: 46 01 0c 00 ff 00 00 00      if w1 & 255 goto +1262 63  if w0 == w1 goto Llabel0   // BPF_JEQ  | BPF_X64  if w3 != w4 goto Llabel0   // BPF_JNE  | BPF_X65// CHECK: 1e 10 0b 00 00 00 00 00 	if w0 == w1 goto +1166// CHECK: 5e 43 0a 00 00 00 00 00 	if w3 != w4 goto +1067 68  if w1 > w2 goto Llabel0    // BPF_JGT  | BPF_X69  if w2 >= w3 goto Llabel0   // BPF_JGE  | BPF_X70  if w4 s> w5 goto Llabel0   // BPF_JSGT | BPF_X71  if w5 s>= w6 goto Llabel0  // BPF_JSGE | BPF_X72// CHECK: 2e 21 09 00 00 00 00 00 	if w1 > w2 goto +973// CHECK: 3e 32 08 00 00 00 00 00 	if w2 >= w3 goto +874// CHECK: 6e 54 07 00 00 00 00 00 	if w4 s> w5 goto +775// CHECK: 7e 65 06 00 00 00 00 00 	if w5 s>= w6 goto +676 77  if w6 < w7 goto Llabel0    // BPF_JLT  | BPF_X78  if w7 <= w8 goto Llabel0   // BPF_JLE  | BPF_X79  if w8 s< w9 goto Llabel0   // BPF_JSLT | BPF_X80  if w9 s<= w10 goto Llabel0 // BPF_JSLE | BPF_X81// CHECK: ae 76 05 00 00 00 00 00 	if w6 < w7 goto +582// CHECK: be 87 04 00 00 00 00 00 	if w7 <= w8 goto +483// CHECK: ce 98 03 00 00 00 00 00 	if w8 s< w9 goto +384// CHECK: de a9 02 00 00 00 00 00 	if w9 s<= w10 goto +285 86  if w0 == 0 goto Llabel0           // BPF_JEQ  | BPF_K87  if w3 != -1 goto Llabel0          // BPF_JNE  | BPF_K88// CHECK: 16 00 01 00 00 00 00 00 	if w0 == 0 goto +189// CHECK: 56 03 00 00 ff ff ff ff 	if w3 != -1 goto +090 91Llabel0 :92  if w1 > 64 goto Llabel0           // BPF_JGT  | BPF_K93  if w2 >= 0xffffffff goto Llabel0  // BPF_JGE  | BPF_K94  if w4 s> 0xffffffff goto Llabel0  // BPF_JSGT | BPF_K95  if w5 s>= 0x7fffffff goto Llabel0 // BPF_JSGE | BPF_K96// CHECK: 26 01 ff ff 40 00 00 00 	if w1 > 64 goto -197// CHECK: 36 02 fe ff ff ff ff ff 	if w2 >= -1 goto -298// CHECK: 66 04 fd ff ff ff ff ff 	if w4 s> -1 goto -399// CHECK: 76 05 fc ff ff ff ff 7f 	if w5 s>= 2147483647 goto -4100 101  if w6 < 0xff goto Llabel0         // BPF_JLT  | BPF_K102  if w7 <= 0xffff goto Llabel0      // BPF_JLE  | BPF_K103  if w8 s< 0 goto Llabel0           // BPF_JSLT | BPF_K104  if w9 s<= -1 goto Llabel0         // BPF_JSLE | BPF_K105// CHECK: a6 06 fb ff ff 00 00 00 	if w6 < 255 goto -5106// CHECK: b6 07 fa ff ff ff 00 00 	if w7 <= 65535 goto -6107// CHECK: c6 08 f9 ff 00 00 00 00 	if w8 s< 0 goto -7108// CHECK: d6 09 f8 ff ff ff ff ff 	if w9 s<= -1 goto -8109