mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
1368b914e9
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.
102 lines
1.5 KiB
ArmAsm
102 lines
1.5 KiB
ArmAsm
#mach: aarch64
|
|
|
|
# Check the extend long instructions: sxtl, sxtl2, uxtl, uxtl2.
|
|
|
|
.include "testutils.inc"
|
|
|
|
.data
|
|
.align 4
|
|
input:
|
|
.word 0x04030201
|
|
.word 0x08070605
|
|
.word 0xfcfdfeff
|
|
.word 0xf8f9fafb
|
|
|
|
start
|
|
adrp x0, input
|
|
ldr q0, [x0, #:lo12:input]
|
|
|
|
uxtl v1.8h, v0.8b
|
|
uxtl2 v2.8h, v0.16b
|
|
addv h3, v1.8h
|
|
addv h4, v2.8h
|
|
mov x1, v3.d[0]
|
|
mov x2, v4.d[0]
|
|
cmp x1, #36
|
|
bne .Lfailure
|
|
cmp x2, #2012
|
|
bne .Lfailure
|
|
|
|
uxtl v1.4s, v0.4h
|
|
uxtl2 v2.4s, v0.8h
|
|
addv s3, v1.4s
|
|
addv s4, v2.4s
|
|
mov x1, v3.d[0]
|
|
mov x2, v4.d[0]
|
|
mov x3, #5136
|
|
cmp x1, x3
|
|
bne .Lfailure
|
|
mov x4, #0xeff0
|
|
movk x4, 0x3, lsl #16
|
|
cmp x2, x4
|
|
bne .Lfailure
|
|
|
|
uxtl v1.2d, v0.2s
|
|
uxtl2 v2.2d, v0.4s
|
|
addv s3, v1.4s
|
|
addv s4, v2.4s
|
|
mov x1, v3.d[0]
|
|
mov x2, v4.d[0]
|
|
mov x3, #0x0806
|
|
movk x3, #0x0c0a, lsl #16
|
|
cmp x1, x3
|
|
bne .Lfailure
|
|
mov x4, #0xf9fa
|
|
movk x4, #0xf5f7, lsl #16
|
|
cmp x2, x4
|
|
bne .Lfailure
|
|
|
|
sxtl v1.8h, v0.8b
|
|
sxtl2 v2.8h, v0.16b
|
|
addv h3, v1.8h
|
|
addv h4, v2.8h
|
|
mov x1, v3.d[0]
|
|
mov x2, v4.d[0]
|
|
cmp x1, #36
|
|
bne .Lfailure
|
|
mov x3, #0xffdc
|
|
cmp x2, x3
|
|
bne .Lfailure
|
|
|
|
sxtl v1.4s, v0.4h
|
|
sxtl2 v2.4s, v0.8h
|
|
addv s3, v1.4s
|
|
addv s4, v2.4s
|
|
mov x1, v3.d[0]
|
|
mov x2, v4.d[0]
|
|
mov x3, #5136
|
|
cmp x1, x3
|
|
bne .Lfailure
|
|
mov x4, #0xeff0
|
|
movk x4, 0xffff, lsl #16
|
|
bne .Lfailure
|
|
|
|
sxtl v1.2d, v0.2s
|
|
sxtl2 v2.2d, v0.4s
|
|
addv s3, v1.4s
|
|
addv s4, v2.4s
|
|
mov x1, v3.d[0]
|
|
mov x2, v4.d[0]
|
|
mov x3, #0x0806
|
|
movk x3, #0x0c0a, lsl #16
|
|
cmp x1, x3
|
|
bne .Lfailure
|
|
mov x4, #0xf9f8
|
|
movk x4, #0xf5f7, lsl #16
|
|
cmp x2, x4
|
|
bne .Lfailure
|
|
|
|
pass
|
|
.Lfailure:
|
|
fail
|