daily update
[external/binutils.git] / sim / testsuite / sim / frv / cldsh.cgs
1 # frv testcase for cldsh @($GRi,$GRj),$GRk
2 # mach: all
3
4         .include "testutils.inc"
5
6         start
7
8         .global cldsh
9 cldsh:
10         set_spr_immed   0x1b1b,cccr
11
12         set_mem_limmed  0xdead,0xbeef,sp
13         set_gr_limmed   0xbeef,0xdead,gr8
14
15         set_gr_immed    0,gr7
16         cldsh           @(sp,gr7),gr8,cc0,1
17         test_gr_limmed  0xffff,0xdead,gr8
18
19         set_gr_immed    2,gr7
20         cldsh           @(sp,gr7),gr8,cc0,1
21         test_gr_limmed  0xffff,0xbeef,gr8
22
23         set_mem_limmed  0xffff,0x0000,sp
24         inc_gr_immed    4,sp
25         set_gr_immed    -2,gr7
26         cldsh           @(sp,gr7),gr8,cc4,1
27         test_gr_immed   0,gr8
28
29         set_mem_limmed  0xdead,0xbeef,sp
30         set_gr_limmed   0xbeef,0xdead,gr8
31
32         set_gr_immed    0,gr7
33         cldsh           @(sp,gr7),gr8,cc0,0
34         test_gr_limmed  0xbeef,0xdead,gr8
35
36         set_gr_immed    2,gr7
37         cldsh           @(sp,gr7),gr8,cc0,0
38         test_gr_limmed  0xbeef,0xdead,gr8
39
40         set_mem_limmed  0xffff,0x0000,sp
41         inc_gr_immed    4,sp
42         set_gr_immed    -2,gr7
43         cldsh           @(sp,gr7),gr8,cc4,0
44         test_gr_limmed  0xbeef,0xdead,gr8
45
46         set_mem_limmed  0xdead,0xbeef,sp
47         set_gr_limmed   0xbeef,0xdead,gr8
48
49         set_gr_immed    0,gr7
50         cldsh           @(sp,gr7),gr8,cc1,0
51         test_gr_limmed  0xffff,0xdead,gr8
52
53         set_gr_immed    2,gr7
54         cldsh           @(sp,gr7),gr8,cc1,0
55         test_gr_limmed  0xffff,0xbeef,gr8
56
57         set_mem_limmed  0xffff,0x0000,sp
58         inc_gr_immed    4,sp
59         set_gr_immed    -2,gr7
60         cldsh           @(sp,gr7),gr8,cc5,0
61         test_gr_immed   0,gr8
62
63         set_mem_limmed  0xdead,0xbeef,sp
64         set_gr_limmed   0xbeef,0xdead,gr8
65
66         set_gr_immed    0,gr7
67         cldsh           @(sp,gr7),gr8,cc1,1
68         test_gr_limmed  0xbeef,0xdead,gr8
69
70         set_gr_immed    2,gr7
71         cldsh           @(sp,gr7),gr8,cc1,1
72         test_gr_limmed  0xbeef,0xdead,gr8
73
74         set_mem_limmed  0xffff,0x0000,sp
75         inc_gr_immed    4,sp
76         set_gr_immed    -2,gr7
77         cldsh           @(sp,gr7),gr8,cc5,1
78         test_gr_limmed  0xbeef,0xdead,gr8
79
80         set_mem_limmed  0xdead,0xbeef,sp
81         set_gr_limmed   0xbeef,0xdead,gr8
82
83         set_gr_immed    0,gr7
84         cldsh           @(sp,gr7),gr8,cc2,0
85         test_gr_limmed  0xbeef,0xdead,gr8
86
87         set_gr_immed    2,gr7
88         cldsh           @(sp,gr7),gr8,cc2,0
89         test_gr_limmed  0xbeef,0xdead,gr8
90
91         set_mem_limmed  0xffff,0x0000,sp
92         inc_gr_immed    4,sp
93         set_gr_immed    -2,gr7
94         cldsh           @(sp,gr7),gr8,cc6,1
95         test_gr_limmed  0xbeef,0xdead,gr8
96
97         set_mem_limmed  0xdead,0xbeef,sp
98         set_gr_limmed   0xbeef,0xdead,gr8
99
100         set_gr_immed    0,gr7
101         cldsh           @(sp,gr7),gr8,cc3,0
102         test_gr_limmed  0xbeef,0xdead,gr8
103
104         set_gr_immed    2,gr7
105         cldsh           @(sp,gr7),gr8,cc3,0
106         test_gr_limmed  0xbeef,0xdead,gr8
107
108         set_mem_limmed  0xffff,0x0000,sp
109         inc_gr_immed    4,sp
110         set_gr_immed    -2,gr7
111         cldsh           @(sp,gr7),gr8,cc7,1
112         test_gr_limmed  0xbeef,0xdead,gr8
113
114         pass