Code Review
/
kvmfornfv.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
history
|
raw
|
HEAD
Add qemu 2.4.0
[kvmfornfv.git]
/
qemu
/
tests
/
tcg
/
mips
/
mips32-dsp
/
addwc.c
1
#include<stdio.h>
2
#include<assert.h>
3
4
int main()
5
{
6
int rd, rs, rt;
7
int dspi, dspo;
8
int result;
9
10
rs = 0x10FF01FF;
11
rt = 0x10010001;
12
dspi = 0x00002000;
13
result = 0x21000201;
14
__asm
15
("wrdsp %3\n"
16
"addwc %0, %1, %2\n\t"
17
: "=r"(rd)
18
: "r"(rs), "r"(rt), "r"(dspi)
19
);
20
assert(rd == result);
21
22
rs = 0xFFFF1111;
23
rt = 0x00020001;
24
dspi = 0x00;
25
result = 0x00011112;
26
__asm
27
("wrdsp %3\n"
28
"addwc %0, %1, %2\n\t"
29
: "=r"(rd)
30
: "r"(rs), "r"(rt), "r"(dspi)
31
);
32
assert(rd == result);
33
34
rs = 0x8FFF1111;
35
rt = 0x80020001;
36
dspi = 0x00;
37
result = 0x10011112;
38
__asm
39
("wrdsp %4\n"
40
"addwc %0, %2, %3\n\t"
41
"rddsp %1\n\t"
42
: "=r"(rd), "=r"(dspo)
43
: "r"(rs), "r"(rt), "r"(dspi)
44
);
45
assert(rd == result);
46
assert(((dspo >> 20) & 0x01) == 1);
47
48
return 0;
49
}