mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-18 12:24:38 +08:00
55 lines
1.1 KiB
ArmAsm
55 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
|