tp.cgs revision 1.1 1 1.1 christos # frv testcase for tp $ICCi_2,$GRi,$GRj
2 1.1 christos # mach: all
3 1.1 christos
4 1.1 christos .include "testutils.inc"
5 1.1 christos
6 1.1 christos start
7 1.1 christos
8 1.1 christos .global tp
9 1.1 christos tp:
10 1.1 christos and_spr_immed -4081,tbr ; clear tbr.tt
11 1.1 christos set_gr_spr tbr,gr7
12 1.1 christos inc_gr_immed 2112,gr7 ; address of exception handler
13 1.1 christos set_bctrlr_0_0 gr7 ; bctrlr 0,0
14 1.1 christos
15 1.1 christos set_spr_immed 128,lcr
16 1.1 christos set_gr_immed 0,gr7
17 1.1 christos set_gr_immed 4,gr8
18 1.1 christos
19 1.1 christos set_psr_et 1
20 1.1 christos set_spr_addr ok0,lr
21 1.1 christos set_icc 0x0 0
22 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
23 1.1 christos fail
24 1.1 christos ok0:
25 1.1 christos set_psr_et 1
26 1.1 christos set_spr_addr ok1,lr
27 1.1 christos set_icc 0x1 0
28 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
29 1.1 christos fail
30 1.1 christos ok1:
31 1.1 christos set_psr_et 1
32 1.1 christos set_spr_addr ok2,lr
33 1.1 christos set_icc 0x2 0
34 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
35 1.1 christos fail
36 1.1 christos ok2:
37 1.1 christos set_psr_et 1
38 1.1 christos set_spr_addr ok3,lr
39 1.1 christos set_icc 0x3 0
40 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
41 1.1 christos fail
42 1.1 christos ok3:
43 1.1 christos set_psr_et 1
44 1.1 christos set_spr_addr ok4,lr
45 1.1 christos set_icc 0x4 0
46 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
47 1.1 christos fail
48 1.1 christos ok4:
49 1.1 christos set_psr_et 1
50 1.1 christos set_spr_addr ok5,lr
51 1.1 christos set_icc 0x5 0
52 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
53 1.1 christos fail
54 1.1 christos ok5:
55 1.1 christos set_psr_et 1
56 1.1 christos set_spr_addr ok6,lr
57 1.1 christos set_icc 0x6 0
58 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
59 1.1 christos fail
60 1.1 christos ok6:
61 1.1 christos set_psr_et 1
62 1.1 christos set_spr_addr ok7,lr
63 1.1 christos set_icc 0x7 0
64 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
65 1.1 christos fail
66 1.1 christos ok7:
67 1.1 christos set_spr_addr bad,lr
68 1.1 christos set_icc 0x8 0
69 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
70 1.1 christos
71 1.1 christos set_spr_addr bad,lr
72 1.1 christos set_icc 0x9 0
73 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
74 1.1 christos
75 1.1 christos set_spr_addr bad,lr
76 1.1 christos set_icc 0xa 0
77 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
78 1.1 christos
79 1.1 christos set_spr_addr bad,lr
80 1.1 christos set_icc 0xb 0
81 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
82 1.1 christos
83 1.1 christos set_spr_addr bad,lr
84 1.1 christos set_icc 0xc 0
85 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
86 1.1 christos
87 1.1 christos set_spr_addr bad,lr
88 1.1 christos set_icc 0xd 0
89 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
90 1.1 christos
91 1.1 christos set_spr_addr bad,lr
92 1.1 christos set_icc 0xe 0
93 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
94 1.1 christos
95 1.1 christos set_spr_addr bad,lr
96 1.1 christos set_icc 0xf 0
97 1.1 christos tp icc0,gr7,gr8 ; should branch to tbr + (128 + 4)*16
98 1.1 christos
99 1.1 christos pass
100 1.1 christos bad:
101 1.1 christos fail
102