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
/
precrq_rs_ph_w.c
1
#include<stdio.h>
2
#include<assert.h>
3
4
int main()
5
{
6
int rd, rs, rt;
7
int dsp;
8
int result;
9
10
rs = 0x12345678;
11
rt = 0x87654321;
12
result = 0x12348765;
13
14
__asm
15
("wrdsp $0\n\t"
16
"precrq_rs.ph.w %0, %1, %2\n\t"
17
: "=r"(rd)
18
: "r"(rs), "r"(rt)
19
);
20
assert(result == rd);
21
22
rs = 0x7FFFC678;
23
rt = 0x865432A0;
24
result = 0x7FFF8654;
25
26
__asm
27
("wrdsp $0\n\t"
28
"precrq_rs.ph.w %0, %2, %3\n\t"
29
"rddsp %1\n\t"
30
: "=r"(rd), "=r"(dsp)
31
: "r"(rs), "r"(rt)
32
);
33
assert(((dsp >> 22) & 0x01) == 1);
34
assert(result == rd);
35
36
rs = 0xBEEFFEED;
37
rt = 0x7FFF8000;
38
result = 0xBEF07FFF;
39
40
__asm
41
("wrdsp $0\n\t"
42
"precrq_rs.ph.w %0, %2, %3\n\t"
43
"rddsp %1\n\t"
44
: "=r"(rd), "=r"(dsp)
45
: "r"(rs), "r"(rt)
46
);
47
assert(((dsp >> 22) & 0x01) == 1);
48
assert(result == rd);
49
50
return 0;
51
}