Upload Tizen:Base source
[external/gdb.git] / sim / testsuite / sim / v850 / satsubr.cgs
1 # v850 satsub
2 # mach: all
3
4         .include "testutils.inc"
5
6 # If the result of the add is "negative", that means we went too
7 # positive.  The result should be the most positive number.
8
9         noflags
10         seti    0x90000000, r1
11         seti    0x70000000, r2
12         satsubr r2, r1
13
14         flags   sat + c + v + ns + nz
15         reg     r1, 0x7fffffff
16
17 # Similarly, if the result of the add is "positive", that means we
18 # went too negative.  The result should be the most negative number.
19
20         noflags
21         seti    0x70000000, r1
22         seti    0x90000000, r2
23         satsubr r2, r1
24
25         flags   sat + nc + v + s + nz
26         reg     r1, 0x80000000
27
28 # Check that the SAT flag remains set until reset
29
30         seti    1, r1
31         seti    2, r2
32         satsubr r2, r1
33
34         flags   sat + nc + nv + ns + nz
35         reg     r1, 1
36
37         noflags
38         seti    1, r1
39         seti    2, r2
40         satsubr r2, r1
41
42         flags   nsat + nc + nv + ns + nz
43         reg     r1, 1
44
45 # Check that results exactly equal to min/max don't saturate
46
47         noflags
48         seti    0x90000000, r1
49         seti    0x0fffffff, r2
50         satsubr r2, r1
51
52         flags   nsat + c + nv + ns + nz
53         reg     r1, 0x7fffffff
54
55
56         noflags
57         seti    0x70000000, r1
58         seti    0xf0000000, r2
59         satsubr r2, r1
60
61         flags   nsat + nc + nv + s + nz
62         reg     r1, 0x80000000
63
64
65         pass