github.com/dylandreimerink/gobpfld@v0.6.1-0.20220205171531-e79c330ad608/ebpf/asm_test.bpfasm (about)

     1  w1 s>>= 123
     2  w1 s>>= w2
     3  r1 s>>= 123
     4  r1 s>>= r2
     5  w1 += 123
     6  w1 += w2
     7  r1 += 123
     8  r1 += r2
     9  w1 &= 123
    10  w1 &= w2
    11  r1 &= 123
    12  r1 &= r2
    13  lock *(u32 *)(r3 + 456) += w2
    14  lock *(u32 *)(r3 - 456) += w2
    15  lock *(u64 *)(r3 + 456) += r2
    16  lock *(u64 *)(r3 - 456) += r2
    17  lock *(u32 *)(r3 + 456) -= w2
    18  lock *(u32 *)(r3 - 456) -= w2
    19  lock *(u64 *)(r3 + 456) -= r2
    20  lock *(u32 *)(r3 - 456) -= w2
    21  lock *(u32 *)(r3 + 456) &= w2
    22  lock *(u32 *)(r3 - 456) &= w2
    23  lock *(u64 *)(r3 + 456) &= r2
    24  lock *(u64 *)(r3 - 456) &= r2
    25  w0 = cmpxchg(r3 + 456, w0, w2)
    26  w0 = cmpxchg(r3 - 456, w0, w2)
    27  r0 = cmpxchg(r3 + 456, r0, r2)
    28  r0 = cmpxchg(r3 - 456, r0, r2)
    29  w1 = xchg(r3 + 456, w1)
    30  w1 = xchg(r3 - 456, w1)
    31  r1 = xchg(r3 + 456, r1)
    32  r1 = xchg(r3 - 456, r1)
    33  lock *(u32 *)(r3 + 456) |= w2
    34  lock *(u32 *)(r3 - 456) |= w2
    35  lock *(u64 *)(r3 + 456) |= r2
    36  lock *(u64 *)(r3 - 456) |= r2
    37  lock *(u32 *)(r3 + 456) ^= w2
    38  lock *(u32 *)(r3 - 456) ^= w2
    39  lock *(u64 *)(r3 + 456) ^= r2
    40  lock *(u64 *)(r3 - 456) ^= r2
    41  call 6#bpf_trace_printk
    42  call +20
    43  w1 /= 123
    44  w1 /= w2
    45  r1 /= 123
    46  r1 /= r2
    47  r1 = be16 r1
    48  r1 = le16 r1
    49  r1 = be32 r1
    50  r1 = le32 r1
    51  r1 = be64 r1
    52  r1 = le64 r1
    53  exit
    54  goto +109
    55  if w1 == 123 goto +108
    56  if w1 == w2 goto +107
    57  if w1 == 123 goto +456
    58  if w1 == 123 goto -456
    59  if w1 == w2 goto +456
    60  if w1 == w2 goto -456
    61  if r1 == 123 goto +102
    62  if r1 == r2 goto +101
    63  if r1 == 123 goto +456
    64  if r1 == 123 goto -456
    65  if r1 == r2 goto +456
    66  if r1 == r2 goto -456
    67  if w1 > 123 goto +96
    68  if w1 > w2 goto +95
    69  if r1 > 123 goto +94
    70  if r1 > r2 goto +93
    71  if w1 >= 123 goto +92
    72  if w1 >= w2 goto +91
    73  if r1 >= 123 goto +90
    74  if r1 >= r2 goto +89
    75  if w1 & 123 goto +88
    76  if w1 & w2 goto +87
    77  if r1 & 123 goto +86
    78  if r1 & r2 goto +85
    79  if w1 != 123 goto +84
    80  if w1 != w2 goto +83
    81  if r1 != 123 goto +82
    82  if r1 != r2 goto +81
    83  if w1 s> 123 goto +80
    84  if w1 s> w2 goto +79
    85  if r1 s> 123 goto +78
    86  if r1 s> r2 goto +77
    87  if w1 s>= 123 goto +76
    88  if w1 s>= w2 goto +75
    89  if r1 s>= 123 goto +74
    90  if r1 s>= r2 goto +73
    91  if w1 s< 123 goto +72
    92  if w1 s< w2 goto +71
    93  if r1 s< 123 goto +70
    94  if r1 s< r2 goto +69
    95  if w1 s<= 123 goto +68
    96  if w1 s<= w2 goto +67
    97  if r1 s<= 123 goto +66
    98  if r1 s<= r2 goto +65
    99  if w1 < 123 goto +64
   100  if w1 < w2 goto +63
   101  if r1 < 123 goto +62
   102  if r1 < r2 goto +61
   103  if w1 <= 123 goto +60
   104  if w1 <= w2 goto +59
   105  if r1 <= 123 goto +58
   106  if r1 <= r2 goto +57
   107  r1 = 123123123123123 ll
   108  nop
   109  r1 = *(u8 *)(r3 + 456)
   110  r1 = *(u16 *)(r3 + 456)
   111  r1 = *(u32 *)(r3 + 456)
   112  r1 = *(u64 *)(r3 + 456)
   113  r0 = ntohl((u8) (((struct sk_buff *) r6)->data[456]))
   114  r0 = ntohl((u16) (((struct sk_buff *) r6)->data[456]))
   115  r0 = ntohl((u32) (((struct sk_buff *) r6)->data[456]))
   116  r0 = ntohl((u64) (((struct sk_buff *) r6)->data[456]))
   117  r0 = ntohl((u8) (((struct sk_buff *) r6)->data[r3 + 456]))
   118  r0 = ntohl((u16) (((struct sk_buff *) r6)->data[r3 + 456]))
   119  r0 = ntohl((u32) (((struct sk_buff *) r6)->data[r3 - 456]))
   120  r0 = ntohl((u64) (((struct sk_buff *) r6)->data[r3 - 456]))
   121  w1 <<= 123
   122  w1 <<= w2
   123  r1 <<= 123
   124  r1 <<= r2
   125  w1 %= w2
   126  w1 %= w2
   127  r1 %= 123
   128  r1 %= r2
   129  w1 = 123
   130  w1 = w2
   131  r1 = 123
   132  r1 = r2
   133  w1 *= 123
   134  w1 *= w2
   135  r1 *= 123
   136  r1 *= r2
   137  w1 = -w1
   138  r1 = -r1
   139  w1 |= 123
   140  w1 |= w2
   141  r1 |= 123
   142  r1 |= r2
   143  w1 >>= 123
   144  w1 >>= w2
   145  r1 >>= 123
   146  r1 >>= r2
   147  *(u8 *)(r3 + 456) = r1
   148  *(u16 *)(r3 + 456) = r1
   149  *(u32 *)(r3 + 456) = r1
   150  *(u64 *)(r3 + 456) = r1
   151  *(u8 *)(r3 + 456) = 123
   152  *(u16 *)(r3 + 456) = 123
   153  *(u32 *)(r3 + 456) = 123
   154  *(u64 *)(r3 + 456) = 123
   155  w1 -= 123
   156  w1 -= w2
   157  r1 -= 123
   158  r1 -= r2
   159  w1 ^= 123
   160  w1 ^= w2
   161  r1 ^= 123
   162  r1 ^= r2
   163  exit