binutils-gdb/sim/testsuite/aarch64/fstur.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

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