gdb/jit: use correctly-sized array view in deprecated_frame_register_read call
[binutils-gdb.git] / sim / testsuite / frv / interrupts / shadow_regs.cgs
blobee6bea45e7175a8cdeae51ae99b106c52e156526
1 # FRV testcase for handling of shadow registers SR0-SR4
2 # mach: frv
4         .include "testutils.inc"
6         start
8         .global tra
9 tra:
10         test_spr_bits   0x800,11,1,psr  ; PSR.ESR set
11         test_spr_bits   0x4,2,1,psr     ; PSR.S set
13         ; Set up exception handler for later
14         and_spr_immed   -4081,tbr               ; clear tbr.tt
15         set_gr_spr      tbr,gr7
16         inc_gr_immed    2112,gr7                ; address of exception handler
17         set_bctrlr_0_0  gr7     ; bctrlr 0,0
18         set_spr_immed   128,lcr
19         set_psr_et      1
21         set_gr_immed    0x11111111,gr4  ; SGR4-7
22         set_gr_immed    0x22222222,gr5
23         set_gr_immed    0x33333333,gr6
24         set_gr_immed    0x44444444,gr7
25         set_spr_immed   0x55555555,sr0  ; UGR4-7
26         set_spr_immed   0x66666666,sr1
27         set_spr_immed   0x77777777,sr2
28         set_spr_immed   0x88888888,sr3
30         and_spr_immed   0xfffff7ff,psr  ; turn off PSR.ESR
31         test_gr_immed   0x11111111,gr4  ; SGR4-7
32         test_gr_immed   0x22222222,gr5
33         test_gr_immed   0x33333333,gr6
34         test_gr_immed   0x44444444,gr7
35         test_spr_immed  0x11111111,sr0  ; SGR4-7
36         test_spr_immed  0x22222222,sr1
37         test_spr_immed  0x33333333,sr2
38         test_spr_immed  0x44444444,sr3
40         set_spr_immed   0x55555555,sr0  ; SGR4-7
41         set_spr_immed   0x66666666,sr1
42         set_spr_immed   0x77777777,sr2
43         set_spr_immed   0x88888888,sr3
44         test_gr_immed   0x55555555,gr4  ; SGR4-7
45         test_gr_immed   0x66666666,gr5
46         test_gr_immed   0x77777777,gr6
47         test_gr_immed   0x88888888,gr7
48         test_spr_immed  0x55555555,sr0  ; SGR4-7
49         test_spr_immed  0x66666666,sr1
50         test_spr_immed  0x77777777,sr2
51         test_spr_immed  0x88888888,sr3
53         set_gr_immed    0x11111111,gr4  ; SGR4-7
54         set_gr_immed    0x22222222,gr5
55         set_gr_immed    0x33333333,gr6
56         set_gr_immed    0x44444444,gr7
57         test_gr_immed   0x11111111,gr4  ; SGR4-7
58         test_gr_immed   0x22222222,gr5
59         test_gr_immed   0x33333333,gr6
60         test_gr_immed   0x44444444,gr7
61         test_spr_immed  0x11111111,sr0  ; SGR4-7
62         test_spr_immed  0x22222222,sr1
63         test_spr_immed  0x33333333,sr2
64         test_spr_immed  0x44444444,sr3
66         or_spr_immed    0x00000800,psr  ; turn on PSR.ESR
67         test_gr_immed   0x11111111,gr4  ; SGR4-7 -- SR0-3 (UGR4-7) are undefined
68         test_gr_immed   0x22222222,gr5
69         test_gr_immed   0x33333333,gr6
70         test_gr_immed   0x44444444,gr7
72         set_spr_immed   0x55555555,sr0  ; UGR4-7
73         set_spr_immed   0x66666666,sr1
74         set_spr_immed   0x77777777,sr2
75         set_spr_immed   0x88888888,sr3
76         test_gr_immed   0x11111111,gr4  ; SGR4-7
77         test_gr_immed   0x22222222,gr5
78         test_gr_immed   0x33333333,gr6
79         test_gr_immed   0x44444444,gr7
80         test_spr_immed  0x55555555,sr0  ; UGR4-7
81         test_spr_immed  0x66666666,sr1
82         test_spr_immed  0x77777777,sr2
83         test_spr_immed  0x88888888,sr3
85         and_spr_immed   0xfffffffb,psr  ; turn off PSR.S
86         test_spr_immed  0x11111111,sr0  ; SGR4-7
87         test_spr_immed  0x22222222,sr1
88         test_spr_immed  0x33333333,sr2
89         test_spr_immed  0x44444444,sr3
90         test_gr_immed   0x55555555,gr4  ; UGR4-7
91         test_gr_immed   0x66666666,gr5
92         test_gr_immed   0x77777777,gr6
93         test_gr_immed   0x88888888,gr7
95         ; need to generate a trap to return to supervisor mode
96         set_spr_addr    ok0,lr
97         tira            gr0,4           ; should branch to tbr + (128 + 4)*16
99         test_spr_bits   0x800,11,0,psr  ; PSR.ESR clear
100         test_spr_bits   0x4,2,0,psr     ; PSR.S clear
101         test_gr_immed   0x11111111,gr4  ; SGR4-7
102         test_gr_immed   0x22222222,gr5
103         test_gr_immed   0x33333333,gr6
104         test_gr_immed   0x44444444,gr7
105         test_spr_immed  0x11111111,sr0  ; SGR4-7
106         test_spr_immed  0x22222222,sr1
107         test_spr_immed  0x33333333,sr2
108         test_spr_immed  0x44444444,sr3
110         set_gr_immed    0x55555555,gr4  ; SGR4-7
111         set_gr_immed    0x66666666,gr5
112         set_gr_immed    0x77777777,gr6
113         set_gr_immed    0x88888888,gr7
114         test_gr_immed   0x55555555,gr4  ; SGR4-7
115         test_gr_immed   0x66666666,gr5
116         test_gr_immed   0x77777777,gr6
117         test_gr_immed   0x88888888,gr7
118         test_spr_immed  0x55555555,sr0  ; SGR4-7
119         test_spr_immed  0x66666666,sr1
120         test_spr_immed  0x77777777,sr2
121         test_spr_immed  0x88888888,sr3
123         set_gr_immed    0x11111111,gr4  ; SGR4-7
124         set_gr_immed    0x22222222,gr5
125         set_gr_immed    0x33333333,gr6
126         set_gr_immed    0x44444444,gr7
127         test_gr_immed   0x11111111,gr4  ; SGR4-7
128         test_gr_immed   0x22222222,gr5
129         test_gr_immed   0x33333333,gr6
130         test_gr_immed   0x44444444,gr7
131         test_spr_immed  0x11111111,sr0  ; SGR4-7
132         test_spr_immed  0x22222222,sr1
133         test_spr_immed  0x33333333,sr2
134         test_spr_immed  0x44444444,sr3
136         ; need to generate a trap to return to supervisor mode
137         set_spr_addr    ok1,lr
138         tira            gr0,4           ; should branch to tbr + (128 + 4)*16
140         pass
142 ok0:    ; exception handler should branch here the first time
143         test_spr_bits   0x800,11,1,psr  ; PSR.ESR set
144         test_spr_bits   0x4,2,1,psr     ; PSR.S set
145         test_gr_immed   0x11111111,gr4  ; SGR4-7
146         test_gr_immed   0x22222222,gr5
147         test_gr_immed   0x33333333,gr6
148         test_gr_immed   0x44444444,gr7
149         test_spr_immed  0x55555555,sr0  ; UGR4-7
150         test_spr_immed  0x66666666,sr1
151         test_spr_immed  0x77777777,sr2
152         test_spr_immed  0x88888888,sr3
154         and_spr_immed   0xfffff7ff,psr  ; turn off PSR.ESR
155         test_gr_immed   0x11111111,gr4  ; SGR4-7
156         test_gr_immed   0x22222222,gr5
157         test_gr_immed   0x33333333,gr6
158         test_gr_immed   0x44444444,gr7
159         test_spr_immed  0x11111111,sr0  ; SGR4-7
160         test_spr_immed  0x22222222,sr1
161         test_spr_immed  0x33333333,sr2
162         test_spr_immed  0x44444444,sr3
163         rett            0
164         fail
166 ok1:    ; exception handler should branch here the second time
167         test_spr_bits   0x800,11,0,psr  ; PSR.ESR clear
168         test_spr_bits   0x4,2,1,psr     ; PSR.S set
170         test_gr_immed   0x11111111,gr4  ; SGR4-7
171         test_gr_immed   0x22222222,gr5
172         test_gr_immed   0x33333333,gr6
173         test_gr_immed   0x44444444,gr7
174         test_spr_immed  0x11111111,sr0  ; SGR4-7
175         test_spr_immed  0x22222222,sr1
176         test_spr_immed  0x33333333,sr2
177         test_spr_immed  0x44444444,sr3
179         set_spr_immed   0x55555555,sr0  ; SGR4-7
180         set_spr_immed   0x66666666,sr1
181         set_spr_immed   0x77777777,sr2
182         set_spr_immed   0x88888888,sr3
183         test_gr_immed   0x55555555,gr4  ; SGR4-7
184         test_gr_immed   0x66666666,gr5
185         test_gr_immed   0x77777777,gr6
186         test_gr_immed   0x88888888,gr7
187         test_spr_immed  0x55555555,sr0  ; SGR4-7
188         test_spr_immed  0x66666666,sr1
189         test_spr_immed  0x77777777,sr2
190         test_spr_immed  0x88888888,sr3
192         set_gr_immed    0x11111111,gr4  ; SGR4-7
193         set_gr_immed    0x22222222,gr5
194         set_gr_immed    0x33333333,gr6
195         set_gr_immed    0x44444444,gr7
196         test_gr_immed   0x11111111,gr4  ; SGR4-7
197         test_gr_immed   0x22222222,gr5
198         test_gr_immed   0x33333333,gr6
199         test_gr_immed   0x44444444,gr7
200         test_spr_immed  0x11111111,sr0  ; SGR4-7
201         test_spr_immed  0x22222222,sr1
202         test_spr_immed  0x33333333,sr2
203         test_spr_immed  0x44444444,sr3
204         rett            0
205         fail