mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +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.
138 lines
2.0 KiB
ArmAsm
138 lines
2.0 KiB
ArmAsm
# mach: aarch64
|
|
|
|
# Check the FP store unscaled offset instructions: fsturs, fsturd, fsturq.
|
|
# Check the values -1, and XXX_MAX, which tests all bits.
|
|
# Check with offsets -256 and 255, which tests all bits.
|
|
# Also tests the FP load unscaled offset instructions: fldurs, fldurd, fldurq.
|
|
|
|
.include "testutils.inc"
|
|
|
|
.data
|
|
.align 4
|
|
fm1:
|
|
.word 3212836864
|
|
fmax:
|
|
.word 2139095039
|
|
ftmp:
|
|
.word 0
|
|
|
|
dm1:
|
|
.word 0
|
|
.word -1074790400
|
|
dmax:
|
|
.word 4294967295
|
|
.word 2146435071
|
|
dtmp:
|
|
.word 0
|
|
.word 0
|
|
|
|
ldm1:
|
|
.word 0
|
|
.word 0
|
|
.word 0
|
|
.word -1073807360
|
|
ldmax:
|
|
.word 4294967295
|
|
.word 4294967295
|
|
.word 4294967295
|
|
.word 2147418111
|
|
ldtmp:
|
|
.word 0
|
|
.word 0
|
|
.word 0
|
|
.word 0
|
|
|
|
start
|
|
adrp x1, ftmp
|
|
add x1, x1, :lo12:ftmp
|
|
|
|
adrp x0, fm1
|
|
add x0, x0, :lo12:fm1
|
|
sub x5, x0, #255
|
|
sub x6, x1, #255
|
|
movi d2, #0
|
|
ldur s2, [x5, #255]
|
|
stur s2, [x6, #255]
|
|
ldr w3, [x0]
|
|
ldr w4, [x1]
|
|
cmp w3, w4
|
|
bne .Lfailure
|
|
|
|
adrp x0, fmax
|
|
add x0, x0, :lo12:fmax
|
|
add x5, x0, #256
|
|
add x6, x1, #256
|
|
movi d2, #0
|
|
ldur s2, [x5, #-256]
|
|
stur s2, [x6, #-256]
|
|
ldr w3, [x0]
|
|
ldr w4, [x1]
|
|
cmp w3, w4
|
|
bne .Lfailure
|
|
|
|
adrp x1, dtmp
|
|
add x1, x1, :lo12:dtmp
|
|
|
|
adrp x0, dm1
|
|
add x0, x0, :lo12:dm1
|
|
sub x5, x0, #255
|
|
sub x6, x1, #255
|
|
movi d2, #0
|
|
ldur d2, [x5, #255]
|
|
stur d2, [x6, #255]
|
|
ldr x3, [x0]
|
|
ldr x4, [x1]
|
|
cmp x3, x4
|
|
bne .Lfailure
|
|
|
|
adrp x0, dmax
|
|
add x0, x0, :lo12:dmax
|
|
add x5, x0, #256
|
|
add x6, x1, #256
|
|
movi d2, #0
|
|
ldur d2, [x5, #-256]
|
|
stur d2, [x6, #-256]
|
|
ldr x3, [x0]
|
|
ldr x4, [x1]
|
|
cmp x3, x4
|
|
bne .Lfailure
|
|
|
|
adrp x1, ldtmp
|
|
add x1, x1, :lo12:ldtmp
|
|
|
|
adrp x0, ldm1
|
|
add x0, x0, :lo12:ldm1
|
|
sub x5, x0, #255
|
|
sub x6, x1, #255
|
|
movi v2.2d, #0
|
|
ldur q2, [x5, #255]
|
|
stur q2, [x6, #255]
|
|
ldr x3, [x0]
|
|
ldr x4, [x1]
|
|
cmp x3, x4
|
|
bne .Lfailure
|
|
ldr x3, [x0, 8]
|
|
ldr x4, [x1, 8]
|
|
cmp x3, x4
|
|
bne .Lfailure
|
|
|
|
adrp x0, ldmax
|
|
add x0, x0, :lo12:ldmax
|
|
add x5, x0, #256
|
|
add x6, x1, #256
|
|
movi v2.2d, #0
|
|
ldur q2, [x5, #-256]
|
|
stur q2, [x6, #-256]
|
|
ldr x3, [x0]
|
|
ldr x4, [x1]
|
|
cmp x3, x4
|
|
bne .Lfailure
|
|
ldr x3, [x0, 8]
|
|
ldr x4, [x1, 8]
|
|
cmp x3, x4
|
|
bne .Lfailure
|
|
|
|
pass
|
|
.Lfailure:
|
|
fail
|