# mach: bpf # output: pass\nexit 0 (0x0)\n /* endle.s Tests for BPF endianness-conversion instructions in simulator running in LITTLE 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 endbe %r1, 64 fail_ne %r1, 0xefbeadde78563412 endbe %r1, 64 fail_ne %r1, 0x12345678deadbeef /* `bitsize` < 64 will truncate */ endbe %r1, 32 fail_ne %r1, 0xefbeadde endbe %r1, 32 fail_ne %r1, 0xdeadbeef endbe %r1, 16 fail_ne %r1, 0xefbe endbe %r1, 16 fail_ne %r1, 0xbeef /* endle on le should be noop (except truncate) */ lddw %r1, 0x12345678deadbeef endle %r1, 64 fail_ne %r1, 0x12345678deadbeef endle %r1, 32 fail_ne %r1, 0xdeadbeef endle %r1, 16 fail_ne %r1, 0xbeef pass