binutils-gdb/sim/testsuite/aarch64/sumov.s
Mike Frysinger 1368b914e9 sim: testsuite: flatten tree
Now that all port tests live under testsuite/sim/*/, and none live
in testsuite/ directly, flatten the structure by moving all of the
dirs under testsuite/sim/ to testsuite/ directly.

We need to stop passing --tool to dejagnu so that it searches all
dirs and not just ones that start with "sim".  Since we have no
other dirs in this tree, and no plans to add any, should be fine.
2021-01-15 19:18:34 -05:00

94 lines
1.3 KiB
ArmAsm

# mach: aarch64
# Check the mov from asimd to general reg instructions: smov, umov.
.include "testutils.inc"
.data
.align 4
input:
.word 0x04030201
.word 0x08070605
.word 0xf4f3f2f1
.word 0xf8f7f6f5
start
adrp x0, input
ldr q0, [x0, #:lo12:input]
smov w0, v0.b[0]
smov w3, v0.b[12]
cmp w0, #1
bne .Lfailure
cmp w3, #-11
bne .Lfailure
smov x0, v0.b[1]
smov x3, v0.b[13]
cmp x0, #2
bne .Lfailure
cmp x3, #-10
bne .Lfailure
smov w0, v0.h[0]
smov w1, v0.h[4]
cmp w0, #0x0201
bne .Lfailure
cmp w1, #-3343
bne .Lfailure
smov x0, v0.h[1]
smov x1, v0.h[5]
cmp x0, #0x0403
bne .Lfailure
cmp x1, #-2829
bne .Lfailure
smov x0, v0.s[1]
smov x1, v0.s[3]
mov x2, #0x0605
movk x2, #0x0807, lsl #16
cmp x0, x2
bne .Lfailure
mov w3, #0xf6f5
movk w3, #0xf8f7, lsl #16
sxtw x3, w3
cmp x1, x3
bne .Lfailure
umov w0, v0.b[0]
umov w3, v0.b[12]
cmp w0, #1
bne .Lfailure
cmp w3, #0xf5
bne .Lfailure
umov w0, v0.h[0]
umov w1, v0.h[4]
cmp w0, #0x0201
bne .Lfailure
mov w2, #0xf2f1
cmp w1, w2
bne .Lfailure
umov w0, v0.s[0]
umov w1, v0.s[2]
mov w2, #0x0201
movk w2, #0x0403, lsl #16
cmp w0, w2
bne .Lfailure
mov w3, #0xf2f1
movk w3, #0xf4f3, lsl #16
cmp w1, w3
bne .Lfailure
umov x0, v0.d[0]
adrp x1, input
ldr x2, [x1, #:lo12:input]
cmp x0, x2
bne .Lfailure
pass
.Lfailure:
fail