50 lines
1 KiB
Text
50 lines
1 KiB
Text
# frv testcase for dcef @(GRi,GRj),a
|
|
# mach: fr400 fr550
|
|
|
|
.include "testutils.inc"
|
|
|
|
start
|
|
|
|
.global dcef
|
|
dcef:
|
|
and_spr_immed 0x7fffffff,hsr0 ; data cache only: copy-back mode
|
|
set_gr_addr doit,gr10
|
|
set_gr_immed 0,gr11
|
|
set_gr_immed 1,gr12
|
|
set_gr_immed 2,gr13
|
|
set_gr_immed 3,gr14
|
|
|
|
set_spr_addr ok1,lr
|
|
bra doit
|
|
ok1: test_gr_immed 1,gr11
|
|
|
|
set_mem_immed 0x9600b00d,gr10 ; change to add gr11,gr13,gr11 in cache
|
|
set_spr_addr ok2,lr
|
|
bra doit
|
|
ok2: test_gr_immed 2,gr11 ; still only added 1
|
|
|
|
set_gr_addr doit1,gr10
|
|
set_mem_immed 0x9600b00d,gr10 ; change to add gr11,gr13,gr11 in cache
|
|
dcef @(gr10,gr0),1 ; flush data cache
|
|
set_spr_addr ok3,lr
|
|
bra doit1
|
|
ok3: test_gr_immed 4,gr11 ; added 2 this time
|
|
|
|
set_gr_addr doit2,gr10
|
|
set_mem_immed 0x9600b00e,gr10 ; change to add gr11,gr14,gr11 in cache
|
|
dcef @(gr0,gr0),1 ; flush data cache
|
|
set_spr_addr ok4,lr
|
|
bra doit2
|
|
ok4: test_gr_immed 7,gr11 ; added 3 this time
|
|
|
|
pass
|
|
|
|
doit: add gr11,gr12,gr11
|
|
bralr
|
|
|
|
doit1: add gr11,gr12,gr11
|
|
bralr
|
|
|
|
doit2: add gr11,gr12,gr11
|
|
bralr
|
|
|