1# frv testcase for swap @($GRi,$GRj),$GRk 2# mach: all 3 4 .include "testutils.inc" 5 6 start 7 8 .global swap 9swap: 10 set_gr_gr sp,gr20 11 set_mem_limmed 0xdead,0xbeef,sp 12 inc_gr_immed -4,sp 13 set_gr_gr sp,gr21 14 set_mem_limmed 0xbeef,0xdead,sp 15 inc_gr_immed -4,sp 16 set_gr_gr sp,gr22 17 set_mem_limmed 0xdead,0xbeef,sp 18 inc_gr_immed 4,sp 19 20 set_gr_limmed 0xbeef,0xdead,gr8 21 set_gr_immed -4,gr7 22 swap @(sp,gr7),gr8 23 test_gr_limmed 0xdead,0xbeef,gr8 24 test_mem_limmed 0xbeef,0xdead,gr22 25 test_mem_limmed 0xbeef,0xdead,gr21 26 test_mem_limmed 0xdead,0xbeef,gr20 27 28 set_gr_immed 0,gr7 29 swap @(sp,gr7),gr8 30 test_gr_limmed 0xbeef,0xdead,gr8 31 test_mem_limmed 0xbeef,0xdead,gr22 32 test_mem_limmed 0xdead,0xbeef,gr21 33 test_mem_limmed 0xdead,0xbeef,gr20 34 35 set_gr_immed 4,gr7 36 swap @(sp,gr7),gr8 37 test_gr_limmed 0xdead,0xbeef,gr8 38 test_mem_limmed 0xbeef,0xdead,gr22 39 test_mem_limmed 0xdead,0xbeef,gr21 40 test_mem_limmed 0xbeef,0xdead,gr20 41 42 pass 43