xref: /netbsd-src/external/gpl3/gdb.old/dist/sim/testsuite/bpf/endle.s (revision 32d1c65c71fbdb65a012e8392a62a757dd6853e9)
1# mach: bpf
2# output: pass\nexit 0 (0x0)\n
3;;; endle.s
4;;; Tests for BPF endianness-conversion instructions in simulator
5;;; running in LITTLE ENDIAN
6;;;
7;;; Both 'be' and 'le' ISAs have both endbe and endle instructions.
8
9    .include "testutils.inc"
10
11    .text
12    .global main
13    .type main, @function
14main:
15    lddw        %r1, 0x12345678deadbeef
16    endbe       %r1, 64
17    fail_ne     %r1, 0xefbeadde78563412
18    endbe       %r1, 64
19    fail_ne     %r1, 0x12345678deadbeef
20
21    ;; `bitsize` < 64 will truncate
22    endbe       %r1, 32
23    fail_ne     %r1, 0xefbeadde
24    endbe       %r1, 32
25    fail_ne     %r1, 0xdeadbeef
26
27    endbe       %r1, 16
28    fail_ne     %r1, 0xefbe
29    endbe       %r1, 16
30    fail_ne     %r1, 0xbeef
31
32    ;; endle on le should be noop (except truncate)
33    lddw        %r1, 0x12345678deadbeef
34    endle       %r1, 64
35    fail_ne     %r1, 0x12345678deadbeef
36
37    endle       %r1, 32
38    fail_ne     %r1, 0xdeadbeef
39
40    endle       %r1, 16
41    fail_ne     %r1, 0xbeef
42
43    pass
44