]> git.proxmox.com Git - qemu.git/blame - tests/cris/check_bound.c
Replace 'extern inline' with 'static inline'
[qemu.git] / tests / cris / check_bound.c
CommitLineData
dd43edf4
TS
1#include <stdio.h>
2#include <stdlib.h>
3#include <stdint.h>
4#include "sys.h"
5#include "crisutils.h"
6
4a6648f4
BS
7static inline int cris_bound_b(int v, int b)
8{
dd43edf4
TS
9 int r = v;
10 asm ("bound.b\t%1, %0\n" : "+r" (r) : "ri" (b));
11 return r;
12}
13
4a6648f4
BS
14static inline int cris_bound_w(int v, int b)
15{
dd43edf4
TS
16 int r = v;
17 asm ("bound.w\t%1, %0\n" : "+r" (r) : "ri" (b));
18 return r;
19}
20
4a6648f4
BS
21static inline int cris_bound_d(int v, int b)
22{
dd43edf4
TS
23 int r = v;
24 asm ("bound.d\t%1, %0\n" : "+r" (r) : "ri" (b));
25 return r;
26}
27
28int main(void)
29{
30 int r;
31
32 cris_tst_cc_init();
33 r = cris_bound_d(-1, 2);
34 cris_tst_cc(0, 0, 0, 0);
35 if (r != 2)
36 err();
37
38 cris_tst_cc_init();
39 r = cris_bound_d(2, 0xffffffff);
40 cris_tst_cc(0, 0, 0, 0);
41 if (r != 2)
42 err();
43
44 cris_tst_cc_init();
45 r = cris_bound_d(0xffff, 0xffff);
46 cris_tst_cc(0, 0, 0, 0);
47 if (r != 0xffff)
48 err();
49
50 cris_tst_cc_init();
51 r = cris_bound_d(-1, 0xffffffff);
52 cris_tst_cc(1, 0, 0, 0);
53 if (r != 0xffffffff)
54 err();
55
56 cris_tst_cc_init();
57 r = cris_bound_d(0x78134452, 0x5432f789);
58 cris_tst_cc(0, 0, 0, 0);
59 if (r != 0x5432f789)
60 err();
61
62 cris_tst_cc_init();
63 r = cris_bound_w(-1, 2);
64 cris_tst_cc(0, 0, 0, 0);
65 if (r != 2)
66 err();
67
68 cris_tst_cc_init();
69 r = cris_bound_w(-1, 0xffff);
70 cris_tst_cc(0, 0, 0, 0);
71 if (r != 0xffff)
72 err();
73
74 cris_tst_cc_init();
75 r = cris_bound_w(2, 0xffff);
76 cris_tst_cc(0, 0, 0, 0);
77 if (r != 2)
78 err();
79
80 cris_tst_cc_init();
81 r = cris_bound_w(0xfedaffff, 0xffff);
82 cris_tst_cc(0, 0, 0, 0);
83 if (r != 0xffff)
84 err();
85
86 cris_tst_cc_init();
87 r = cris_bound_w(0x78134452, 0xf789);
88 cris_tst_cc(0, 0, 0, 0);
89 if (r != 0xf789)
90 err();
91
92 cris_tst_cc_init();
93 r = cris_bound_b(-1, 2);
94 cris_tst_cc(0, 0, 0, 0);
95 if (r != 2)
96 err();
97
98 cris_tst_cc_init();
99 r = cris_bound_b(2, 0xff);
100 cris_tst_cc(0, 0, 0, 0);
101 if (r != 2)
102 err();
103
104 cris_tst_cc_init();
105 r = cris_bound_b(-1, 0xff);
106 cris_tst_cc(0, 0, 0, 0);
107 if (r != 0xff)
108 err();
109
110 cris_tst_cc_init();
111 r = cris_bound_b(0xff, 0xff);
112 cris_tst_cc(0, 0, 0, 0);
113 if (r != 0xff)
114 err();
115
116 cris_tst_cc_init();
117 r = cris_bound_b(0xfeda49ff, 0xff);
118 cris_tst_cc(0, 0, 0, 0);
119 if (r != 0xff)
120 err();
121
122 cris_tst_cc_init();
123 r = cris_bound_b(0x78134452, 0x89);
124 cris_tst_cc(0, 0, 0, 0);
125 if (r != 0x89)
126 err();
127
128 cris_tst_cc_init();
129 r = cris_bound_w(0x78134452, 0);
130 cris_tst_cc(0, 1, 0, 0);
131 if (r != 0)
132 err();
133
134 cris_tst_cc_init();
135 r = cris_bound_b(0xffff, -1);
136 cris_tst_cc(0, 0, 0, 0);
137 if (r != 0xff)
138 err();
139
140 pass();
141 return 0;
142}