mirror of https://github.com/inolen/redream.git
58 lines
1.1 KiB
ArmAsm
58 lines
1.1 KiB
ArmAsm
test_fmov_store_single:
|
|
# REGISTER_IN fr0 0x10a00000
|
|
# FMOV.S FRm,@Rn 1111nnnnmmmm1010
|
|
mov.l .DATA_OUT, r0
|
|
fmov.s fr0, @r0
|
|
mov.l @r0, r2
|
|
rts
|
|
nop
|
|
# REGISTER_OUT r2 0x10a00000
|
|
|
|
# TODO it'd be really nice to verify that this is correct for the real hardware
|
|
test_fmov_store_double_sz0:
|
|
# REGISTER_IN dr0 0x10a0000020e00000
|
|
# FMOV DRm,@Rn 1111nnnnmmm01010
|
|
mov.l .DATA_OUT, r0
|
|
fmov dr0, @r0
|
|
mov.l @r0+, r2
|
|
mov.l @r0, r3
|
|
rts
|
|
nop
|
|
# REGISTER_OUT r2 0x10a00000
|
|
# REGISTER_OUT r3 0x0
|
|
|
|
test_fmov_store_double_sz1:
|
|
# REGISTER_IN fpscr 0x00140001
|
|
# REGISTER_IN dr0 0x20a0000030e00000
|
|
# FMOV DRm,@Rn 1111nnnnmmm01010
|
|
mov.l .DATA_OUT, r0
|
|
fmov dr0, @r0
|
|
mov.l @r0+, r2
|
|
mov.l @r0, r3
|
|
rts
|
|
nop
|
|
# REGISTER_OUT r2 0x20a00000
|
|
# REGISTER_OUT r3 0x30e00000
|
|
|
|
test_fmov_store_double_bank_sz1:
|
|
# REGISTER_IN fpscr 0x00140001
|
|
# REGISTER_IN xd0 0x30a0000040e00000
|
|
# FMOV XDm,@Rn 1111nnnnmmm11010
|
|
mov.l .DATA_OUT, r0
|
|
fmov xd0, @r0
|
|
mov.l @r0+, r2
|
|
mov.l @r0, r3
|
|
rts
|
|
nop
|
|
# REGISTER_OUT r2 0x30a00000
|
|
# REGISTER_OUT r3 0x40e00000
|
|
|
|
.align 4
|
|
.DATA:
|
|
.long 0x0
|
|
.long 0x0
|
|
|
|
.align 4
|
|
.DATA_OUT:
|
|
.long .DATA
|