| # frv testcase for nlddu @($GRi,$GRj),$GRk |
| # mach: frv |
| |
| .include "testutils.inc" |
| |
| start |
| |
| .global nlddu |
| nlddu: |
| set_mem_limmed 0xdead,0xbeef,sp |
| inc_gr_immed -4,sp |
| set_mem_limmed 0xbeef,0xdead,sp |
| set_gr_gr sp,gr20 |
| set_gr_limmed 0xdead,0xbeef,gr8 |
| set_gr_limmed 0xbeef,0xdead,gr9 |
| |
| set_gr_immed 0,gr7 |
| nlddu @(sp,gr7),gr8 |
| test_gr_limmed 0xbeef,0xdead,gr8 |
| test_gr_limmed 0xdead,0xbeef,gr9 |
| test_gr_gr sp,gr20 |
| test_spr_limmed 0x88a0,0x0001,nesr0 |
| test_spr_gr neear0,gr20 |
| test_spr_limmed 0x0000,0x0000,gner1 |
| test_spr_limmed 0x0000,0x0000,gner0 |
| |
| set_gr_limmed 0xdead,0xbeef,gr8 |
| set_gr_limmed 0xbeef,0xdead,gr9 |
| inc_gr_immed -8,sp |
| set_gr_immed 8,gr7 |
| nlddu @(sp,gr7),gr8 |
| test_gr_limmed 0xbeef,0xdead,gr8 |
| test_gr_limmed 0xdead,0xbeef,gr9 |
| test_gr_gr sp,gr20 |
| test_spr_limmed 0x88a0,0x0401,nesr1 |
| test_spr_gr neear1,gr20 |
| test_spr_limmed 0x0000,0x0000,gner1 |
| test_spr_limmed 0x0000,0x0000,gner0 |
| |
| set_gr_limmed 0xdead,0xbeef,gr8 |
| set_gr_limmed 0xbeef,0xdead,gr9 |
| inc_gr_immed 8,sp |
| set_gr_immed -8,gr7 |
| nlddu @(sp,gr7),gr8 |
| test_gr_limmed 0xbeef,0xdead,gr8 |
| test_gr_limmed 0xdead,0xbeef,gr9 |
| test_gr_gr sp,gr20 |
| test_spr_limmed 0x88a0,0x0801,nesr2 |
| test_spr_gr neear2,gr20 |
| test_spr_limmed 0x0000,0x0000,gner1 |
| test_spr_limmed 0x0000,0x0000,gner0 |
| |
| set_gr_limmed 0xdead,0xbeef,gr8 |
| set_gr_limmed 0xbeef,0xdead,gr9 |
| inc_gr_immed 8,sp |
| set_gr_immed -8,gr7 |
| set_gr_gr sp,gr8 |
| nlddu @(gr8,gr7),gr8 |
| test_gr_limmed 0xbeef,0xdead,gr8 |
| test_gr_limmed 0xdead,0xbeef,gr9 |
| test_spr_limmed 0x88a0,0x0c01,nesr3 |
| test_spr_gr neear3,gr20 |
| test_spr_limmed 0x0000,0x0000,gner1 |
| test_spr_limmed 0x0000,0x0000,gner0 |
| |
| pass |