]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/valgrind/src/valgrind-3.6.0-svn/none/tests/s390x/cvb.c
update
[l4.git] / l4 / pkg / valgrind / src / valgrind-3.6.0-svn / none / tests / s390x / cvb.c
1 #include <stdio.h>
2
3 static unsigned long test[] ={
4         0x000000000000000a,
5         0x000000000000001a,
6         0x000000000000012a,
7         0x000000000000123a,
8         0x000000000001234a,
9         0x000000000012345a,
10         0x000000000123456a,
11         0x000000001234567a,
12         0x000000012345678a,
13         0x000000123456789a,
14         0x000001234567890a,
15         0x000000000000000b,
16         0x000000000000001b,
17         0x000000000000012b,
18         0x000000000000123b,
19         0x000000000001234b,
20         0x000000000012345b,
21         0x000000000123456b,
22         0x000000001234567b,
23         0x000000012345678b,
24         0x000000123456789b,
25         0x000001234567890b,
26         0x000000000000000c,
27         0x000000000000001c,
28         0x000000000000012c,
29         0x000000000000123c,
30         0x000000000001234c,
31         0x000000000012345c,
32         0x000000000123456c,
33         0x000000001234567c,
34         0x000000012345678c,
35         0x000000123456789c,
36         0x000001234567890c,
37         0x000000000000000d,
38         0x000000000000001d,
39         0x000000000000012d,
40         0x000000000000123d,
41         0x000000000001234d,
42         0x000000000012345d,
43         0x000000000123456d,
44         0x000000001234567d,
45         0x000000012345678d,
46         0x000000123456789d,
47         0x000001234567890d,
48         0x000000000000000e,
49         0x000000000000001e,
50         0x000000000000012e,
51         0x000000000000123e,
52         0x000000000001234e,
53         0x000000000012345e,
54         0x000000000123456e,
55         0x000000001234567e,
56         0x000000012345678e,
57         0x000000123456789e,
58         0x000001234567890e,
59         0x000000000000000f,
60         0x000000000000001f,
61         0x000000000000012f,
62         0x000000000000123f,
63         0x000000000001234f,
64         0x000000000012345f,
65         0x000000000123456f,
66         0x000000001234567f,
67         0x000000012345678f,
68         0x000000123456789f,
69         0x000001234567890f,
70         /* min and max */
71         0x000002147483647c,
72         0x000002147483648d,
73
74 /* fixs390: we also need to check if invalid values cause a fixed-point-devide exception.
75    Not yet implemented. */
76 /*      0x000002147483648c,
77         0x000002147483649d,
78         0x00000000000000fa, */
79
80 };
81
82
83 static signed int dec_to_hex(unsigned long *addr)
84 {
85         register signed int res asm("2") = 0;
86         register unsigned long *_addr asm("4") = addr;
87
88         asm volatile(
89         "       cvb %0,0(0,%1)"
90                 : "=d" (res) : "d" (_addr) : "memory");
91         return res & 0xffffffff;
92 }
93
94
95
96
97 int main()
98 {
99         int i;
100
101         for (i = 0; i < sizeof(test) / sizeof(test[0]); i++)
102         printf("%d\n", dec_to_hex(&test[i]));
103         return 0;
104 }