repo.or.cz
/
qemu
/
ar7.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
tap: factor out common tap initialization
[qemu/ar7.git]
/
tests
/
tcg
/
openrisc
/
test_mul.c
blob
130101fdee0d452d19890c8f218c72dabb9a3d5e
1
#include <stdio.h>
2
3
int
main
(
void
)
4
{
5
int
a
,
b
,
c
;
6
int
result
;
7
8
b
=
0x4
;
9
c
=
0x1
;
10
result
=
0x4
;
11
__asm
12
(
"l.mul %0, %1, %2
\n\t
"
13
:
"=r"
(
a
)
14
:
"r"
(
b
),
"r"
(
c
)
15
);
16
if
(
a
!=
result
) {
17
printf
(
"mul error
\n
"
);
18
return
-
1
;
19
}
20
21
b
=
0x1
;
22
c
=
0x0
;
23
result
=
0x0
;
24
__asm
25
(
"l.mul %0, %1, %2
\n\t
"
26
:
"=r"
(
a
)
27
:
"r"
(
b
),
"r"
(
c
)
28
);
29
if
(
a
!=
result
) {
30
printf
(
"mul error
\n
"
);
31
return
-
1
;
32
}
33
34
b
=
0x1
;
35
c
=
0xff
;
36
result
=
0xff
;
37
__asm
38
(
"l.mul %0, %1, %2
\n\t
"
39
:
"=r"
(
a
)
40
:
"r"
(
b
),
"r"
(
c
)
41
);
42
if
(
a
!=
result
) {
43
printf
(
"mul error
\n
"
);
44
return
-
1
;
45
}
46
47
b
=
0x7fffffff
;
48
c
=
0x2
;
49
result
=
0xfffffffe
;
50
__asm
51
(
"l.mul %0, %1, %2
\n\t
"
52
:
"=r"
(
a
)
53
:
"r"
(
b
),
"r"
(
c
)
54
);
55
if
(
a
!=
result
) {
56
printf
(
"mul error
\n
"
);
57
return
-
1
;
58
}
59
60
return
0
;
61
}