]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/testsuite/sim/v850/divu.cgs
daily update
[thirdparty/binutils-gdb.git] / sim / testsuite / sim / v850 / divu.cgs
CommitLineData
c5fbc25b
DD
1# v850 divu
2# mach: v850e
3# as(v850e): -mv850e
4
5 .include "testutils.inc"
6
7 seti 6, r1
8 seti 45, r2
9 divu r1, r2, r3
10
11 flags 0
12 reg r1, 6
13 reg r2, 7
14 reg r3, 3
15
16 seti 4, r1
17 seti 0x40000000, r2
18 divu r1, r2, r3
19
20 flags 0
21 reg r1, 4
22 reg r2, 0x10000000
23 reg r3, 0
24
25# If the data is divided by zero, OV=1 and the quotient is undefined.
26# According to NEC, the S and Z flags, and the output registers, are
27# unchanged.
28
29 noflags
30 seti 0, r1
31 seti 45, r2
32 seti 67, r3
33 divu r1, r2, r3
34
35 flags v
36 reg r2, 45
37 reg r3, 67
38
39 allflags
40 seti 0, r1
41 seti 45, r2
42 seti 67, r3
43 divu r1, r2, r3
44
45 flags sat + c + v + s + z
46 reg r2, 45
47 reg r3, 67
48
49# Zero / (N!=0) => normal
50
51 noflags
52 seti 45, r1
53 seti 0, r2
54 seti 67, r3
55 divu r1, r2, r3
56
57 flags z
58 reg r1, 45
59 reg r2, 0
60 reg r3, 0
61
62# The Z flag is based on the quotient, not the remainder
63
64 noflags
65 seti 45, r1
66 seti 16, r2
67 divu r1, r2, r3
68
69 flags z
70 reg r2, 0
71 reg r3, 16
72
73# If the quot and rem registers are the same, the remainder is stored.
74
75 seti 6, r1
76 seti 45, r2
77 divu r1, r2, r2
78
79 flags 0
80 reg r1, 6
81 reg r2, 3
82
83 pass