merge from gcc
[external/binutils.git] / sim / testsuite / sim / frv / cldubu.cgs
1 # frv testcase for cldubu @($GRi,$GRj),$GRk,$CCi,$cond
2 # mach: all
3
4         .include "testutils.inc"
5
6         start
7
8         .global cldubu
9 cldubu:
10         set_spr_immed   0x1b1b,cccr
11         set_gr_gr       sp,gr20
12
13         set_mem_limmed  0xdead,0xbeef,sp
14         set_gr_limmed   0xbeef,0xdead,gr8
15
16         set_gr_gr       sp,gr9
17         set_gr_immed    0,gr7
18         cldubu          @(sp,gr7),gr8,cc0,1
19         test_gr_limmed  0x0000,0x00de,gr8
20         test_gr_gr      sp,gr9
21
22         inc_gr_immed    1,gr9
23         set_gr_immed    1,gr7
24         cldubu          @(sp,gr7),gr8,cc0,1
25         test_gr_limmed  0x0000,0x00ad,gr8
26         test_gr_gr      sp,gr9
27
28         inc_gr_immed    2,gr9
29         inc_gr_immed    -1,sp
30         set_mem_limmed  0xffff,0xff00,sp
31         inc_gr_immed    4,sp
32         set_gr_immed    -1,gr7
33         cldubu          @(sp,gr7),gr8,cc4,1
34         test_gr_limmed  0x0000,0x0000,gr8
35
36         set_gr_gr       gr20,sp
37         set_mem_limmed  0xdead,0xbeef,sp
38         set_gr_limmed   0xbeef,0xdead,gr8
39
40         set_gr_gr       sp,gr9
41         set_gr_immed    0,gr7
42         cldubu          @(sp,gr7),gr8,cc0,0
43         test_gr_limmed  0xbeef,0xdead,gr8
44         test_gr_gr      sp,gr9
45
46         set_gr_immed    1,gr7
47         cldubu          @(sp,gr7),gr8,cc0,0
48         test_gr_limmed  0xbeef,0xdead,gr8
49         test_gr_gr      sp,gr9
50
51         inc_gr_immed    4,gr9
52         set_mem_limmed  0xffff,0xff00,sp
53         inc_gr_immed    4,sp
54         set_gr_immed    -1,gr7
55         cldubu          @(sp,gr7),gr8,cc4,0
56         test_gr_limmed  0xbeef,0xdead,gr8
57
58         set_gr_gr       gr20,sp
59         set_mem_limmed  0xdead,0xbeef,sp
60         set_gr_limmed   0xbeef,0xdead,gr8
61
62         set_gr_gr       sp,gr9
63         set_gr_immed    0,gr7
64         cldubu          @(sp,gr7),gr8,cc1,0
65         test_gr_limmed  0x0000,0x00de,gr8
66         test_gr_gr      sp,gr9
67
68         inc_gr_immed    1,gr9
69         set_gr_immed    1,gr7
70         cldubu          @(sp,gr7),gr8,cc1,0
71         test_gr_limmed  0x0000,0x00ad,gr8
72         test_gr_gr      sp,gr9
73
74         inc_gr_immed    2,gr9
75         inc_gr_immed    -1,sp
76         set_mem_limmed  0xffff,0xff00,sp
77         inc_gr_immed    4,sp
78         set_gr_immed    -1,gr7
79         cldubu          @(sp,gr7),gr8,cc5,0
80         test_gr_limmed  0x0000,0x0000,gr8
81
82         set_gr_gr       gr20,sp
83         set_mem_limmed  0xdead,0xbeef,sp
84         set_gr_limmed   0xbeef,0xdead,gr8
85
86         set_gr_gr       sp,gr9
87         set_gr_immed    0,gr7
88         cldubu          @(sp,gr7),gr8,cc1,1
89         test_gr_limmed  0xbeef,0xdead,gr8
90         test_gr_gr      sp,gr9
91
92         set_gr_immed    1,gr7
93         cldubu          @(sp,gr7),gr8,cc1,1
94         test_gr_limmed  0xbeef,0xdead,gr8
95         test_gr_gr      sp,gr9
96
97         inc_gr_immed    4,gr9
98         set_mem_limmed  0xffff,0xff00,sp
99         inc_gr_immed    4,sp
100         set_gr_immed    -1,gr7
101         cldubu          @(sp,gr7),gr8,cc5,1
102         test_gr_limmed  0xbeef,0xdead,gr8
103
104         set_gr_gr       gr20,sp
105         set_mem_limmed  0xdead,0xbeef,sp
106         set_gr_limmed   0xbeef,0xdead,gr8
107
108         set_gr_gr       sp,gr9
109         set_gr_immed    0,gr7
110         cldubu          @(sp,gr7),gr8,cc2,0
111         test_gr_limmed  0xbeef,0xdead,gr8
112         test_gr_gr      sp,gr9
113
114         set_gr_immed    1,gr7
115         cldubu          @(sp,gr7),gr8,cc2,1
116         test_gr_limmed  0xbeef,0xdead,gr8
117         test_gr_gr      sp,gr9
118
119         inc_gr_immed    4,gr9
120         set_mem_limmed  0xffff,0xff00,sp
121         inc_gr_immed    4,sp
122         set_gr_immed    -1,gr7
123         cldubu          @(sp,gr7),gr8,cc6,0
124         test_gr_limmed  0xbeef,0xdead,gr8
125
126         set_gr_gr       gr20,sp
127         set_mem_limmed  0xdead,0xbeef,sp
128         set_gr_limmed   0xbeef,0xdead,gr8
129
130         set_gr_gr       sp,gr9
131         set_gr_immed    0,gr7
132         cldubu          @(sp,gr7),gr8,cc3,1
133         test_gr_limmed  0xbeef,0xdead,gr8
134         test_gr_gr      sp,gr9
135
136         set_gr_immed    1,gr7
137         cldubu          @(sp,gr7),gr8,cc3,0
138         test_gr_limmed  0xbeef,0xdead,gr8
139         test_gr_gr      sp,gr9
140
141         inc_gr_immed    4,gr9
142         set_mem_limmed  0xffff,0xff00,sp
143         inc_gr_immed    4,sp
144         set_gr_immed    -1,gr7
145         cldubu          @(sp,gr7),gr8,cc7,1
146         test_gr_limmed  0xbeef,0xdead,gr8
147
148         set_gr_gr       gr20,sp
149         set_mem_limmed  0xdead,0xbeef,sp
150         set_gr_gr       sp,gr8
151         set_gr_immed    1,gr7
152         cldubu          @(gr8,gr7),gr8,cc0,1
153         test_gr_limmed  0x0000,0x00ad,gr8
154
155         pass