1# frv testcase for ldq @($GRi,$GRj),$GRk 2# mach: frv 3 4 .include "testutils.inc" 5 6 start 7 8 .global ldq 9ldq: 10 set_mem_limmed 0xdead,0xbeef,sp 11 inc_gr_immed -4,sp 12 set_mem_limmed 0xbeef,0xdead,sp 13 inc_gr_immed -4,sp 14 set_mem_limmed 0x1234,0x5678,sp 15 inc_gr_immed -4,sp 16 set_mem_limmed 0x9abc,0xdef0,sp 17 set_gr_limmed 0xdead,0xbeef,gr8 18 set_gr_limmed 0xbeef,0xdead,gr9 19 set_gr_limmed 0x1234,0x5678,gr10 20 set_gr_limmed 0x9abc,0xdef0,gr11 21 22 set_gr_immed 0,gr7 23 ldq @(sp,gr7),gr8 24 test_gr_limmed 0x9abc,0xdef0,gr8 25 test_gr_limmed 0x1234,0x5678,gr9 26 test_gr_limmed 0xbeef,0xdead,gr10 27 test_gr_limmed 0xdead,0xbeef,gr11 28 29 set_gr_limmed 0xdead,0xbeef,gr8 30 set_gr_limmed 0xbeef,0xdead,gr9 31 set_gr_limmed 0x1234,0x5678,gr10 32 set_gr_limmed 0x9abc,0xdef0,gr11 33 inc_gr_immed -16,sp 34 set_gr_immed 16,gr7 35 ldq @(sp,gr7),gr8 36 test_gr_limmed 0x9abc,0xdef0,gr8 37 test_gr_limmed 0x1234,0x5678,gr9 38 test_gr_limmed 0xbeef,0xdead,gr10 39 test_gr_limmed 0xdead,0xbeef,gr11 40 41 set_gr_limmed 0xdead,0xbeef,gr8 42 set_gr_limmed 0xbeef,0xdead,gr9 43 set_gr_limmed 0x1234,0x5678,gr10 44 set_gr_limmed 0x9abc,0xdef0,gr11 45 inc_gr_immed 32,sp 46 set_gr_immed -16,gr7 47 ldq @(sp,gr7),gr8 48 test_gr_limmed 0x9abc,0xdef0,gr8 49 test_gr_limmed 0x1234,0x5678,gr9 50 test_gr_limmed 0xbeef,0xdead,gr10 51 test_gr_limmed 0xdead,0xbeef,gr11 52 53 ; loading into gr0 has no effect 54 ; gr1 is sp 55 set_gr_gr gr1,gr8 56 set_gr_limmed 0x1234,0x5678,gr2 57 set_gr_limmed 0x9abc,0xdef0,gr3 58 ldq @(sp,gr7),gr0 59 test_gr_immed 0,gr0 60 test_gr_gr gr1,gr8 61 set_gr_immed 0x12345678,gr2 62 set_gr_immed 0x9abcdef0,gr3 63 64 pass 65