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