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
40
41
42
43
44
45
46
47
48
49
50
|
# frv testcase for movgs $GRj,iacc0[hl]
# mach: fr400
.include "../testutils.inc"
start
.global movgs
IACC0H:
set_gr_limmed 0xdead,0xbeef,gr8
and_spr_immed 0,iacc0h
movgs gr8,iacc0h
test_gr_limmed 0xdead,0xbeef,gr8
test_spr_limmed 0xdead,0xbeef,iacc0h
SPR280:
; try alternate names for iacc0h
and_spr_immed 0,280
movgs gr8,spr[280] ; iacc0h is spr number 280
test_gr_limmed 0xdead,0xbeef,gr8
test_spr_limmed 0xdead,0xbeef,spr[280]
IACC0L:
set_gr_limmed 0xdead,0xbeef,gr8
and_spr_immed 0,iacc0l
movgs gr8,iacc0l
test_gr_limmed 0xdead,0xbeef,gr8
test_spr_limmed 0xdead,0xbeef,iacc0l
SPR281:
; try alternate names for iacc0l
and_spr_immed 0,281
movgs gr8,spr[281] ; iacc0l is spr number 281
test_gr_limmed 0xdead,0xbeef,gr8
test_spr_limmed 0xdead,0xbeef,spr[281]
IACC0L_SPR281:
; try crossing between iacc0l and spr[281]
and_spr_immed 0,281
and_spr_immed 0,iacc0l
movgs gr8,spr[281] ; iacc0l is spr number 281
test_gr_limmed 0xdead,0xbeef,gr8
test_spr_limmed 0xdead,0xbeef,iacc0l
SPR280_IACC0H:
and_spr_immed 0,280
and_spr_immed 0,iacc0h
movgs gr8,iacc0h ; iacc0h is spr number 280
test_gr_limmed 0xdead,0xbeef,gr8
test_spr_limmed 0xdead,0xbeef,spr[280]
pass
|