OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-6.8/] [sim/] [testsuite/] [sim/] [sh/] [div.s] - Blame information for rev 24

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 24 jeremybenn
# sh testcase for divs and divu
2
# mach:  all
3
# as(sh):       -defsym sim_cpu=0
4
# as(shdsp):    -defsym sim_cpu=1 -dsp
5
 
6
        .include "testutils.inc"
7
 
8
        start
9
 
10
divs_1: ! divide by one
11
        set_grs_a5a5
12
        mov     #1, r0
13
        divs    r0, r1
14
        assertreg0   1
15
        test_gr_a5a5 r1
16
        test_gr_a5a5 r2
17
        test_gr_a5a5 r3
18
        test_gr_a5a5 r4
19
        test_gr_a5a5 r5
20
        test_gr_a5a5 r6
21
        test_gr_a5a5 r7
22
        test_gr_a5a5 r8
23
        test_gr_a5a5 r9
24
        test_gr_a5a5 r10
25
        test_gr_a5a5 r11
26
        test_gr_a5a5 r12
27
        test_gr_a5a5 r13
28
        test_gr_a5a5 r14
29
 
30
divs_2: ! divide by two
31
        set_grs_a5a5
32
        mov     #2, r0
33
        divs    r0, r1
34
        assertreg0   2
35
        assertreg 0xd2d2d2d3, r1
36
        test_gr_a5a5 r2
37
        test_gr_a5a5 r3
38
        test_gr_a5a5 r4
39
        test_gr_a5a5 r5
40
        test_gr_a5a5 r6
41
        test_gr_a5a5 r7
42
        test_gr_a5a5 r8
43
        test_gr_a5a5 r9
44
        test_gr_a5a5 r10
45
        test_gr_a5a5 r11
46
        test_gr_a5a5 r12
47
        test_gr_a5a5 r13
48
        test_gr_a5a5 r14
49
 
50
divs_3: ! divide by three
51
        set_grs_a5a5
52
        mov     #3, r0
53
        divs    r0, r1
54
        assertreg0   3
55
        assertreg 0xe1e1e1e2, r1
56
        test_gr_a5a5 r2
57
        test_gr_a5a5 r3
58
        test_gr_a5a5 r4
59
        test_gr_a5a5 r5
60
        test_gr_a5a5 r6
61
        test_gr_a5a5 r7
62
        test_gr_a5a5 r8
63
        test_gr_a5a5 r9
64
        test_gr_a5a5 r10
65
        test_gr_a5a5 r11
66
        test_gr_a5a5 r12
67
        test_gr_a5a5 r13
68
        test_gr_a5a5 r14
69
 
70
divs_0: ! divide by zero
71
        set_grs_a5a5
72
        mov     #0, r0
73
        divs    r0, r1
74
        assertreg0   0
75
        assertreg 0x7fffffff, r1
76
        test_gr_a5a5 r2
77
        test_gr_a5a5 r3
78
        test_gr_a5a5 r4
79
        test_gr_a5a5 r5
80
        test_gr_a5a5 r6
81
        test_gr_a5a5 r7
82
        test_gr_a5a5 r8
83
        test_gr_a5a5 r9
84
        test_gr_a5a5 r10
85
        test_gr_a5a5 r11
86
        test_gr_a5a5 r12
87
        test_gr_a5a5 r13
88
        test_gr_a5a5 r14
89
 
90
divs_o: ! divide signed overflow
91
        set_grs_a5a5
92
        mov     #16, r0
93
        movi20  #0x8000, r1
94
        shad    r0, r1  ! r1 == 0x80000000
95
        mov     #-1, r0
96
        divs    r0, r1
97
        assertreg0   -1
98
        assertreg 0x7fffffff, r1
99
        test_gr_a5a5 r2
100
        test_gr_a5a5 r3
101
        test_gr_a5a5 r4
102
        test_gr_a5a5 r5
103
        test_gr_a5a5 r6
104
        test_gr_a5a5 r7
105
        test_gr_a5a5 r8
106
        test_gr_a5a5 r9
107
        test_gr_a5a5 r10
108
        test_gr_a5a5 r11
109
        test_gr_a5a5 r12
110
        test_gr_a5a5 r13
111
        test_gr_a5a5 r14
112
 
113
 
114
divu_1: ! divide by one, unsigned
115
        set_grs_a5a5
116
        mov     #1, r0
117
        divu    r0, r1
118
        assertreg0   1
119
        test_gr_a5a5 r1
120
        test_gr_a5a5 r2
121
        test_gr_a5a5 r3
122
        test_gr_a5a5 r4
123
        test_gr_a5a5 r5
124
        test_gr_a5a5 r6
125
        test_gr_a5a5 r7
126
        test_gr_a5a5 r8
127
        test_gr_a5a5 r9
128
        test_gr_a5a5 r10
129
        test_gr_a5a5 r11
130
        test_gr_a5a5 r12
131
        test_gr_a5a5 r13
132
        test_gr_a5a5 r14
133
 
134
divu_2: ! divide by two, unsigned
135
        set_grs_a5a5
136
        mov     #2, r0
137
        divu    r0, r1
138
        assertreg0   2
139
        assertreg 0x52d2d2d2, r1
140
        test_gr_a5a5 r2
141
        test_gr_a5a5 r3
142
        test_gr_a5a5 r4
143
        test_gr_a5a5 r5
144
        test_gr_a5a5 r6
145
        test_gr_a5a5 r7
146
        test_gr_a5a5 r8
147
        test_gr_a5a5 r9
148
        test_gr_a5a5 r10
149
        test_gr_a5a5 r11
150
        test_gr_a5a5 r12
151
        test_gr_a5a5 r13
152
        test_gr_a5a5 r14
153
 
154
divu_3: ! divide by three, unsigned
155
        set_grs_a5a5
156
        mov     #3, r0
157
        divu    r0, r1
158
        assertreg0   3
159
        assertreg 0x37373737, r1
160
        test_gr_a5a5 r2
161
        test_gr_a5a5 r3
162
        test_gr_a5a5 r4
163
        test_gr_a5a5 r5
164
        test_gr_a5a5 r6
165
        test_gr_a5a5 r7
166
        test_gr_a5a5 r8
167
        test_gr_a5a5 r9
168
        test_gr_a5a5 r10
169
        test_gr_a5a5 r11
170
        test_gr_a5a5 r12
171
        test_gr_a5a5 r13
172
        test_gr_a5a5 r14
173
 
174
divu_0: ! divide by zero, unsigned
175
        set_grs_a5a5
176
        mov     #0, r0
177
        divu    r0, r1
178
        assertreg0   0
179
        assertreg 0xffffffff, r1
180
        test_gr_a5a5 r2
181
        test_gr_a5a5 r3
182
        test_gr_a5a5 r4
183
        test_gr_a5a5 r5
184
        test_gr_a5a5 r6
185
        test_gr_a5a5 r7
186
        test_gr_a5a5 r8
187
        test_gr_a5a5 r9
188
        test_gr_a5a5 r10
189
        test_gr_a5a5 r11
190
        test_gr_a5a5 r12
191
        test_gr_a5a5 r13
192
        test_gr_a5a5 r14
193
 
194
 
195
        pass
196
 
197
        exit 0
198
 
199
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.