Add qemu 2.4.0
[kvmfornfv.git] / qemu / tests / tcg / mips / mips64-dsp / msubu.c
1 #include "io.h"
2
3 int main(void)
4 {
5     long long achi, acli, rs, rt;
6     long long acho, aclo;
7     long long resulth, resultl;
8
9     rs      = 0x00BBAACC;
10     rt      = 0x0B1C3D2F;
11     achi    = 0x00004433;
12     acli    = 0xFFCC0011;
13     resulth = 0xFFFFFFFFFFF81F29;
14     resultl = 0xFFFFFFFFB355089D;
15
16     __asm
17         ("mthi %2, $ac1\n\t"
18          "mtlo %3, $ac1\n\t"
19          "msubu $ac1, %4, %5\n\t"
20          "mfhi %0, $ac1\n\t"
21          "mflo %1, $ac1\n\t"
22          : "=r"(acho), "=r"(aclo)
23          : "r"(achi), "r"(acli), "r"(rs), "r"(rt)
24         );
25     if ((acho != resulth) || (aclo != resultl)) {
26         printf("msubu wrong\n");
27
28         return -1;
29     }
30
31     return 0;
32 }