]> Git Repo - binutils.git/blob - sim/testsuite/bpf/mem.s
Automatic date update in version.in
[binutils.git] / sim / testsuite / bpf / mem.s
1 # mach: bpf
2 # output: pass\nexit 0 (0x0)\n
3 ;;; mem.s
4 ;;; Tests for BPF memory (ldx, stx, ..) instructions in simulator
5
6     .include "testutils.inc"
7
8     .text
9     .global main
10     .type main, @function
11 main:
12     lddw        %r1, 0x1234deadbeef5678
13     mov         %r2, 0x1000
14
15     ;; basic store/load check
16     stxb        [%r2+0], %r1
17     stxh        [%r2+2], %r1
18     stxw        [%r2+4], %r1
19     stxdw       [%r2+8], %r1
20
21     stb         [%r2+16], 0x5a
22     sth         [%r2+18], 0xcafe
23     stw         [%r2+20], 0xbeefface
24     stdw        [%r2+24], 0x7eadbeef
25
26     ldxb        %r1, [%r2+16]
27     fail_ne     %r1, 0x5a
28     ldxh        %r1, [%r2+18]
29     fail_ne     %r1, 0xffffffffffffcafe
30     ldxw        %r1, [%r2+20]
31     fail_ne     %r1, 0xffffffffbeefface
32     ldxdw       %r1, [%r2+24]
33     fail_ne     %r1, 0x7eadbeef
34
35     ldxb        %r3, [%r2+0]
36     fail_ne     %r3, 0x78
37     ldxh        %r3, [%r2+2]
38     fail_ne     %r3, 0x5678
39     ldxw        %r3, [%r2+4]
40     fail_ne     %r3, 0xffffffffbeef5678
41     ldxdw       %r3, [%r2+8]
42     fail_ne     %r3, 0x1234deadbeef5678
43
44     ldxw        %r4, [%r2+10]
45     fail_ne     %r4, 0xffffffffdeadbeef
46
47     ;; negative offsets
48     add         %r2, 16
49     ldxh        %r5, [%r2+-14]
50     fail_ne     %r5, 0x5678
51     ldxw        %r5, [%r2+-12]
52     fail_ne     %r5, 0xffffffffbeef5678
53     ldxdw       %r5, [%r2+-8]
54     fail_ne     %r5, 0x1234deadbeef5678
55
56     pass
This page took 0.026822 seconds and 4 git commands to generate.