blob: e61f1de1c7b7fd9ebeafc585384516199fcbff62 [file] [log] [blame]
# frv testcase for ldq @($GRi,$GRj),$GRk
# mach: frv
.include "testutils.inc"
start
.global ldq
ldq:
set_mem_limmed 0xdead,0xbeef,sp
inc_gr_immed -4,sp
set_mem_limmed 0xbeef,0xdead,sp
inc_gr_immed -4,sp
set_mem_limmed 0x1234,0x5678,sp
inc_gr_immed -4,sp
set_mem_limmed 0x9abc,0xdef0,sp
set_gr_limmed 0xdead,0xbeef,gr8
set_gr_limmed 0xbeef,0xdead,gr9
set_gr_limmed 0x1234,0x5678,gr10
set_gr_limmed 0x9abc,0xdef0,gr11
set_gr_immed 0,gr7
ldq @(sp,gr7),gr8
test_gr_limmed 0x9abc,0xdef0,gr8
test_gr_limmed 0x1234,0x5678,gr9
test_gr_limmed 0xbeef,0xdead,gr10
test_gr_limmed 0xdead,0xbeef,gr11
set_gr_limmed 0xdead,0xbeef,gr8
set_gr_limmed 0xbeef,0xdead,gr9
set_gr_limmed 0x1234,0x5678,gr10
set_gr_limmed 0x9abc,0xdef0,gr11
inc_gr_immed -16,sp
set_gr_immed 16,gr7
ldq @(sp,gr7),gr8
test_gr_limmed 0x9abc,0xdef0,gr8
test_gr_limmed 0x1234,0x5678,gr9
test_gr_limmed 0xbeef,0xdead,gr10
test_gr_limmed 0xdead,0xbeef,gr11
set_gr_limmed 0xdead,0xbeef,gr8
set_gr_limmed 0xbeef,0xdead,gr9
set_gr_limmed 0x1234,0x5678,gr10
set_gr_limmed 0x9abc,0xdef0,gr11
inc_gr_immed 32,sp
set_gr_immed -16,gr7
ldq @(sp,gr7),gr8
test_gr_limmed 0x9abc,0xdef0,gr8
test_gr_limmed 0x1234,0x5678,gr9
test_gr_limmed 0xbeef,0xdead,gr10
test_gr_limmed 0xdead,0xbeef,gr11
; loading into gr0 has no effect
; gr1 is sp
set_gr_gr gr1,gr8
set_gr_limmed 0x1234,0x5678,gr2
set_gr_limmed 0x9abc,0xdef0,gr3
ldq @(sp,gr7),gr0
test_gr_immed 0,gr0
test_gr_gr gr1,gr8
set_gr_immed 0x12345678,gr2
set_gr_immed 0x9abcdef0,gr3
pass