1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# FRV testcase for icpl GRi,GRj,lock
# mach: all
.include "testutils.inc"
start
.global icpl
; keep this at least 64 bytes away from doit2
bra icpl
doit1: add gr11,gr12,gr11
bralr
icpl:
or_spr_immed 0x80000000,hsr0 ; insn cache: enable
and_spr_immed 0xbfffffff,hsr0 ; data cache: disable
set_gr_immed 0,gr11
set_gr_immed 1,gr12
set_gr_immed 2,gr13
set_gr_addr doit1,gr10
icpl gr10,gr0,0 ; preload insns at doit1
set_mem_immed 0x9600b00d,gr10 ; change to add gr11,gr13,gr11
set_gr_addr doit2,gr10
set_mem_immed 0x9600b00d,gr10 ; change to add gr11,gr13,gr11
set_spr_addr ok1,lr
bra doit1
ok1: test_gr_immed 1,gr11 ; used preloaded add of 1
set_spr_addr ok2,lr
bra doit2
ok2: test_gr_immed 3,gr11 ; used changed add of 2
pass
doit2: add gr11,gr12,gr11
bralr
|