movgs.cgs revision 1.1 1 # frv testcase for movgs $GRj,iacc0[hl]
2 # mach: fr400
3
4 .include "../testutils.inc"
5
6 start
7
8 .global movgs
9 IACC0H:
10 set_gr_limmed 0xdead,0xbeef,gr8
11 and_spr_immed 0,iacc0h
12 movgs gr8,iacc0h
13 test_gr_limmed 0xdead,0xbeef,gr8
14 test_spr_limmed 0xdead,0xbeef,iacc0h
15 SPR280:
16 ; try alternate names for iacc0h
17 and_spr_immed 0,280
18 movgs gr8,spr[280] ; iacc0h is spr number 280
19 test_gr_limmed 0xdead,0xbeef,gr8
20 test_spr_limmed 0xdead,0xbeef,spr[280]
21
22 IACC0L:
23 set_gr_limmed 0xdead,0xbeef,gr8
24 and_spr_immed 0,iacc0l
25 movgs gr8,iacc0l
26 test_gr_limmed 0xdead,0xbeef,gr8
27 test_spr_limmed 0xdead,0xbeef,iacc0l
28 SPR281:
29 ; try alternate names for iacc0l
30 and_spr_immed 0,281
31 movgs gr8,spr[281] ; iacc0l is spr number 281
32 test_gr_limmed 0xdead,0xbeef,gr8
33 test_spr_limmed 0xdead,0xbeef,spr[281]
34
35 IACC0L_SPR281:
36 ; try crossing between iacc0l and spr[281]
37 and_spr_immed 0,281
38 and_spr_immed 0,iacc0l
39 movgs gr8,spr[281] ; iacc0l is spr number 281
40 test_gr_limmed 0xdead,0xbeef,gr8
41 test_spr_limmed 0xdead,0xbeef,iacc0l
42
43 SPR280_IACC0H:
44 and_spr_immed 0,280
45 and_spr_immed 0,iacc0h
46 movgs gr8,iacc0h ; iacc0h is spr number 280
47 test_gr_limmed 0xdead,0xbeef,gr8
48 test_spr_limmed 0xdead,0xbeef,spr[280]
49
50 pass
51