Upload Tizen:Base source
[external/gdb.git] / sim / testsuite / sim / v850 / shr.cgs
1 # v850 shr
2 # mach: all
3
4         .include "testutils.inc"
5
6 # CY is set to 1 if the bit shifted out last is 1, else 0
7 # OV is set to zero.
8 # Z is set if the result is 0, else 0
9
10         noflags
11         seti    4, r1
12         seti    0x00000000, r2
13         shr     r1, r2
14
15         flags   z
16         reg     r2, 0
17
18         noflags
19         seti    4, r1
20         seti    0x00000001, r2
21         shr     r1, r2
22
23         flags   z
24         reg     r2, 0
25
26         noflags
27         seti    4, r1
28         seti    0x00000008, r2
29         shr     r1, r2
30
31         flags   c + z
32         reg     r2, 0
33
34         noflags
35         seti    0x00000000, r2
36         shr     4, r2
37
38         flags   z
39         reg     r2, 0
40
41         noflags
42         seti    0x00000001, r2
43         shr     4, r2
44
45         flags   z
46         reg     r2, 0
47
48         noflags
49         seti    0x00000008, r2
50         shr     4, r2
51
52         flags   c + z
53         reg     r2, 0
54
55 # However, if the number of shifts is 0, CY is 0.
56
57         noflags
58         seti    0, r1
59         seti    0xffffffff, r2
60         shr     r1, r2
61
62         flags   s
63         reg     r2, 0xffffffff
64
65         noflags
66         seti    0xffffffff, r2
67         shr     0, r2
68
69         flags   s
70         reg     r2, 0xffffffff
71
72 # Zere is shifted into the MSB
73 # S is 1 if the result is negative, else 0
74
75         noflags
76         seti    1, r1
77         seti    0x80000000, r2
78         shr     r1, r2
79
80         flags   0
81         reg     r2, 0x40000000
82
83         noflags
84         seti    1, r1
85         seti    0x40000000, r2
86         shr     r1, r2
87
88         flags   0
89         reg     r2, 0x20000000
90
91         pass