]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - sim/testsuite/sim/v850/satsubi.cgs
This commit was manufactured by cvs2svn to create branch
[thirdparty/binutils-gdb.git] / sim / testsuite / sim / v850 / satsubi.cgs
1 # v850 satsubi
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 0x7ffffffe, r1
11 satsubi -10, r1, r2
12
13 flags sat + c + v + ns + nz
14 reg r2, 0x7fffffff
15
16 # Similarly, if the result of the add is "positive", that means we
17 # went too negative. The result should be the most negative number.
18
19 noflags
20 seti 0x80000001, r1
21 satsubi 10, r1, r2
22
23 flags sat + nc + v + s + nz
24 reg r2, 0x80000000
25
26 # Check that the SAT flag remains set until reset
27
28 seti 2, r1
29 satsubi 1, r1, r2
30
31 flags sat + nc + nv + ns + nz
32 reg r2, 1
33
34 noflags
35 seti 2, r1
36 satsubi 1, r1, r2
37
38 flags nsat + nc + nv + ns + nz
39 reg r2, 1
40
41 # Check that results exactly equal to min/max don't saturate
42
43 noflags
44 seti 0x7ffffffe, r1
45 satsubi -1, r1, r2
46
47 flags nsat + c + nv + ns + nz
48 reg r2, 0x7fffffff
49
50
51 noflags
52 seti 0x80000001, r1
53 satsubi 1, r1, r2
54
55 flags nsat + nc + nv + s + nz
56 reg r2, 0x80000000
57
58
59 pass