Projet_SETI_RISC-V/riscv-gnu-toolchain/binutils/sim/testsuite/bpf/mov.s
2023-03-06 14:48:14 +01:00

54 lines
1.1 KiB
ArmAsm

# 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, 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