56 lines
812 B
ArmAsm
56 lines
812 B
ArmAsm
|
# sh testcase for movli
|
||
|
# mach: all
|
||
|
# as(sh): -defsym sim_cpu=0
|
||
|
# as(shdsp): -defsym sim_cpu=1 -dsp
|
||
|
|
||
|
.include "testutils.inc"
|
||
|
|
||
|
.align 2
|
||
|
x: .long 1
|
||
|
y: .long 2
|
||
|
z: .long 3
|
||
|
|
||
|
start
|
||
|
set_grs_a5a5
|
||
|
mov.l xptr, r1
|
||
|
mov.l yptr, r2
|
||
|
# Move linked/conditional, x to y
|
||
|
movli.l @r1, r0
|
||
|
movco.l r0, @r2
|
||
|
|
||
|
# Check result.
|
||
|
assertreg0 1
|
||
|
mov.l yptr, r1
|
||
|
mov.l @r1, r2
|
||
|
assertreg 1, r2
|
||
|
|
||
|
# Now attempt an unlinked move of r0 to z
|
||
|
mov.l zptr, r1
|
||
|
movco.l r0, @r1
|
||
|
|
||
|
# Check that z is unchanged.
|
||
|
mov.l zptr, r1
|
||
|
mov.l @r1, r2
|
||
|
assertreg 3, r2
|
||
|
|
||
|
test_gr_a5a5 r3
|
||
|
test_gr_a5a5 r4
|
||
|
test_gr_a5a5 r5
|
||
|
test_gr_a5a5 r6
|
||
|
test_gr_a5a5 r7
|
||
|
test_gr_a5a5 r8
|
||
|
test_gr_a5a5 r9
|
||
|
test_gr_a5a5 r10
|
||
|
test_gr_a5a5 r11
|
||
|
test_gr_a5a5 r12
|
||
|
test_gr_a5a5 r13
|
||
|
test_gr_a5a5 r14
|
||
|
|
||
|
pass
|
||
|
exit 0
|
||
|
|
||
|
.align 2
|
||
|
xptr: .long x
|
||
|
yptr: .long y
|
||
|
zptr: .long z
|