# mach: bpf # output: pass\nexit 0 (0x0)\n /* mov.s Tests for mov and mov32 instructions */ .include "testutils.inc" .text .global main .type main, @function main: /* some basic sanity checks */ mov32 %r1, 5 fail_ne %r1, 5 mov32 %r2, %r1 fail_ne %r2, 5 mov %r2, %r1 fail_ne %r2, 5 mov %r1, -666 fail_ne %r1, -666 /* should NOT sign extend */ mov32 %r1, -1 fail_ne %r1, 0x00000000ffffffff /* should sign extend */ mov %r2, -1 fail_ne %r2, 0xffffffffffffffff mov %r3, -2147483648 /* 0x80000000 */ /* should NOT sign extend */ mov32 %r4, %r3 fail_ne %r4, 0x0000000080000000 /* should sign extend */ mov %r5, %r3 fail_ne %r5, 0xffffffff80000000 mov32 %r1, -2147483648 mov32 %r1, %r1 fail_ne32 %r1, -2147483648 /* casting shenanigans */ mov %r1, %r1 fail_ne %r1, +2147483648 mov32 %r2, -1 mov %r2, %r2 fail_ne %r2, +4294967295 pass