Add qemu 2.4.0
[kvmfornfv.git] / qemu / tests / tcg / mips / mips64-dsp / shll_s_qh.c
1 #include "io.h"
2
3 int main(void)
4 {
5     long long rd, rt, dsp;
6     long long res, resdsp;
7
8     rt = 0x9ba8765433456789;
9     res = 0x9ba8765433456789;
10     resdsp = 0x0;
11     __asm
12         ("shll_s.qh %0, %2, 0x0\n\t"
13          "rddsp %1\n\t"
14          : "=r"(rd), "=r"(dsp)
15          : "r"(rt)
16         );
17
18     dsp = (dsp >> 22) & 0x1;
19
20     if ((dsp != resdsp) || (rd != res)) {
21         printf("shll_s.qh error\n");
22         return -1;
23     }
24
25     rt = 0x9ba8765433456789;
26     res = 0x80007fff7fff7fff;
27     resdsp = 0x1;
28     __asm
29         ("shll_s.qh %0, %2, 0x3\n\t"
30          "rddsp %1\n\t"
31          : "=r"(rd), "=r"(dsp)
32          : "r"(rt)
33         );
34
35     dsp = (dsp >> 22) & 0x1;
36
37     if ((dsp != resdsp) || (rd != res)) {
38         printf("shll_s.qh error\n");
39         return -1;
40     }
41
42     return 0;
43 }