]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/valgrind/src/valgrind-3.6.0-svn/none/tests/s390x/mul.c
update
[l4.git] / l4 / pkg / valgrind / src / valgrind-3.6.0-svn / none / tests / s390x / mul.c
1 #include <stdio.h>
2 #include "mul.h"
3 #include "opcodes.h"
4
5 static void do_imm_insns(void)
6 {
7         immsweep(mhi, 0);
8         immsweep(mhi, -1);
9         immsweep(mhi, -32768);
10         immsweep(mhi, 32767);
11         immsweep(mghi, 0);
12         immsweep(mghi, -1);
13         immsweep(mghi, -32768);
14         immsweep(mghi, 32767);
15 }
16
17
18 static void do_regmem_insns(unsigned long m2)
19 {
20         memsweep(m, m2);
21         regsweep(mr, m2);
22         memsweep(mh, m2);
23         memsweep(mlg, m2);
24         regsweep(mlgr, m2);
25         memsweep(ml, m2);
26         regsweep(mlr, m2);
27         memsweep(ms, m2);
28         regsweep(msr, m2);
29         memsweep(msg, m2);
30         regsweep(msgr, m2);
31         memsweep(msgf, m2);
32         regsweep(msgfr, m2);
33         msysweep(m2);
34 }
35
36 int main()
37 {
38         do_regmem_insns(0x0ul);
39         do_regmem_insns(0x7ffffffffffffffful);
40         do_regmem_insns(0x8000000000000000ul);
41         do_regmem_insns(0xfffffffffffffffful);
42         do_regmem_insns(0x7fffffff00000000ul);
43         do_regmem_insns(0x8000000000000000ul);
44         do_regmem_insns(0xffffffff00000000ul);
45         do_regmem_insns(0x000000007ffffffful);
46         do_regmem_insns(0x0000000080000000ul);
47         do_regmem_insns(0x00000000fffffffful);
48         do_regmem_insns(0x000000000000fffful);
49         do_regmem_insns(0x0000000000007ffful);
50         do_regmem_insns(0x0000000000008000ul);
51         do_regmem_insns(0x000000000000fffful);
52         do_imm_insns();
53         return 0;
54 }