# mach: bpf # as: --EB # ld: --EB # sim: -E big # output: pass\nexit 0 (0x0)\n ;;; endbe.s ;;; Tests for BPF endianness-conversion instructions in simulator ;;; running in BIG ENDIAN ;;; ;;; Both 'be' and 'le' ISAs have both endbe and endle instructions. .include "testutils.inc" .text .global main .type main, @function main: lddw %r1, 0x12345678deadbeef endle %r1, 64 fail_ne %r1, 0xefbeadde78563412 endle %r1, 64 fail_ne %r1, 0x12345678deadbeef ;; `bitsize` < 64 will truncate endle %r1, 32 fail_ne %r1, 0xefbeadde endle %r1, 32 fail_ne %r1, 0xdeadbeef endle %r1, 16 fail_ne %r1, 0xefbe endle %r1, 16 fail_ne %r1, 0xbeef ;; endbe on be should be noop (except truncate) lddw %r1, 0x12345678deadbeef endbe %r1, 64 fail_ne %r1, 0x12345678deadbeef endbe %r1, 32 fail_ne %r1, 0xdeadbeef endbe %r1, 16 fail_ne %r1, 0xbeef pass