Update release-README after completing the 2.43 release.
[binutils-gdb.git] / sim / testsuite / v850 / div.cgs
blob16683f19d31a6d65a4d0d9356e5a34401a2e5a80
1 # v850 div
2 # mach: v850e
3 # as(v850e): -mv850e
5         .include "testutils.inc"
7 # Regular division - check signs
8 # The S flag is based on the quotient, not the remainder
10         seti    6, r1
11         seti    45, r2
12         div     r1, r2, r3
14         flags   0
15         reg     r1, 6
16         reg     r2, 7
17         reg     r3, 3
19         seti    -6, r1
20         seti    45, r2
21         div     r1, r2, r3
23         flags   s
24         reg     r1, -6
25         reg     r2, -7
26         reg     r3, 3
28         seti    6, r1
29         seti    -45, r2
30         div     r1, r2, r3
32         flags   s
33         reg     r1, 6
34         reg     r2, -7
35         reg     r3, -3
37         seti    -6, r1
38         seti    -45, r2
39         div     r1, r2, r3
41         flags   0
42         reg     r1, -6
43         reg     r2, 7
44         reg     r3, -3
46 # If the data is divided by zero, OV=1 and the quotient is undefined.
47 # According to NEC, the S and Z flags, and the output registers, are
48 # unchanged.
50         noflags
51         seti    0, r1
52         seti    45, r2
53         seti    67, r3
54         div     r1, r2, r3
56         flags   v
57         reg     r2, 45
58         reg     r3, 67
60         allflags
61         seti    0, r1
62         seti    45, r2
63         seti    67, r3
64         div     r1, r2, r3
66         flags   sat + c + v + s + z
67         reg     r2, 45
68         reg     r3, 67
70 # Zero / (N!=0) => normal
72         noflags
73         seti    45, r1
74         seti    0, r2
75         seti    67, r3
76         div     r1, r2, r3
78         flags   z
79         reg     r1, 45
80         reg     r2, 0
81         reg     r3, 0
83 # Test for regular overflow
85         noflags
86         seti    -1, r1
87         seti    0x80000000, r2
88         seti    67, r3
89         div     r1, r2, r3
91         flags   v + s
92         reg     r1, -1
93         reg     r2, 0x80000000
94         reg     r3, 0
96 # The Z flag is based on the quotient, not the remainder
98         noflags
99         seti    45, r1
100         seti    16, r2
101         div     r1, r2, r3
103         flags   z
104         reg     r2, 0
105         reg     r3, 16
107 # If the quot and rem registers are the same, the remainder is stored.
109         seti    6, r1
110         seti    45, r2
111         div     r1, r2, r2
113         flags   0
114         reg     r1, 6
115         reg     r2, 3
118         pass