Update
[gdb.git] / sim / testsuite / sim / v850 / divhu.cgs
blob911e96ec3cd09a38d9aed07c7fedff0b3cc0b453
1 # v850 divu
2 # mach: v850e
3 # as(v850e): -mv850e
5         .include "testutils.inc"
7         seti    6, r1
8         seti    45, r2
9         divu    r1, r2, r3
11         flags   0
12         reg     r1, 6
13         reg     r2, 7
14         reg     r3, 3
16         seti    4, r1
17         seti    0x40000000, r2
18         divu    r1, r2, r3
20         flags   0
21         reg     r1, 4
22         reg     r2, 0x10000000
23         reg     r3, 0
25 # Only the lower half of the dividend is used
27         seti    0x00010006, r1
28         seti    45, r2
29         divhu   r1, r2, r3
31         flags   0
32         reg     r1, 0x00010006
33         reg     r2, 7
34         reg     r3, 3
36 # If the data is divided by zero, OV=1 and the quotient is undefined.
37 # According to NEC, the S and Z flags, and the output registers, are
38 # unchanged.
40         noflags
41         seti    0, r1
42         seti    45, r2
43         seti    67, r3
44         divu    r1, r2, r3
46         flags   v
47         reg     r2, 45
48         reg     r3, 67
50         allflags
51         seti    0, r1
52         seti    45, r2
53         seti    67, r3
54         divu    r1, r2, r3
56         flags   sat + c + v + s + z
57         reg     r2, 45
58         reg     r3, 67
60 # Zero / (N!=0) => normal
62         noflags
63         seti    45, r1
64         seti    0, r2
65         seti    67, r3
66         divu    r1, r2, r3
68         flags   z
69         reg     r1, 45
70         reg     r2, 0
71         reg     r3, 0
73 # The Z flag is based on the quotient, not the remainder
75         noflags
76         seti    45, r1
77         seti    16, r2
78         divu    r1, r2, r3
80         flags   z
81         reg     r2, 0
82         reg     r3, 16
84 # If the quot and rem registers are the same, the remainder is stored.
86         seti    6, r1
87         seti    45, r2
88         divu    r1, r2, r2
90         flags   0
91         reg     r1, 6
92         reg     r2, 3
94         pass