daily update
[external/binutils.git] / sim / testsuite / sim / fr30 / reti.cgs
1 # fr30 testcase for reti
2 # mach(): fr30
3
4         .include "testutils.inc"
5
6         START
7
8         .text
9         .global reti
10 reti:
11         ; Test reti with low reset of ilm allowed
12         mvr_h_gr        sp,r8           ; Save stack pointer
13         set_s_system
14         set_i           1
15         set_ilm         15              ; attempt reset of low range     
16         set_cc          0x0f            ; Condition codes should not change
17         save_ps
18         inci_h_gr       -4,sp
19         mvi_h_mem       ret1,sp
20         set_i           0               ; Set opposite of expected
21         set_ilm         0               ; attempt reset of low range     
22         set_cc          0x00            ; Set opposite of expected
23
24         reti
25         fail
26
27 ret1:
28         test_cc         1 1 1 1
29         test_s_system
30         test_i          1
31         test_ilm        15
32         testr_h_gr      r8,sp
33
34         ; Test reti with low reset of ilm not allowed
35         mvr_h_gr        sp,r8           ; Save stack pointer
36         set_s_system
37         set_i           0
38         set_ilm         15              ; attempt reset of low range     
39         set_cc          0x0f            ; Condition codes should not change
40         save_ps
41         inci_h_gr       -4,sp
42         mvi_h_mem       ret2,sp
43         set_i           0               ; Set opposite of expected
44         set_ilm         16              ; disallow reset of low range
45         set_cc          0x00            ; Set opposite of expected
46
47         reti
48         fail
49
50 ret2:
51         test_cc         1 1 1 1
52         test_s_system
53         test_i          0
54         test_ilm        31
55         testr_h_gr      r8,sp
56
57         pass