]> Git Repo - qemu.git/blame - tests/tcg/mips/mips32-dspr2/dpa_w_ph.c
target-mips: Fix helper and tests for dot/cross-dot product instructions
[qemu.git] / tests / tcg / mips / mips32-dspr2 / dpa_w_ph.c
CommitLineData
d70080c4
JL
1#include<stdio.h>
2#include<assert.h>
3
4int main()
5{
6 int rs, rt;
7 int ach = 5, acl = 5;
8 int resulth, resultl;
9
10 rs = 0x00FF00FF;
11 rt = 0x00010002;
12 resulth = 0x05;
13 resultl = 0x0302;
14 __asm
15 ("mthi %0, $ac1\n\t"
16 "mtlo %1, $ac1\n\t"
17 "dpa.w.ph $ac1, %2, %3\n\t"
18 "mfhi %0, $ac1\n\t"
19 "mflo %1, $ac1\n\t"
20 : "+r"(ach), "+r"(acl)
21 : "r"(rs), "r"(rt)
22 );
23 assert(ach == resulth);
24 assert(acl == resultl);
25
26 ach = 6, acl = 7;
27 rs = 0xFFFF00FF;
28 rt = 0xFFFF0002;
da1a4cef
PJ
29 resulth = 0x06;
30 resultl = 0x206;
d70080c4
JL
31 __asm
32 ("mthi %0, $ac1\n\t"
33 "mtlo %1, $ac1\n\t"
34 "dpa.w.ph $ac1, %2, %3\n\t"
35 "mfhi %0, $ac1\n\t"
36 "mflo %1, $ac1\n\t"
37 : "+r"(ach), "+r"(acl)
38 : "r"(rs), "r"(rt)
39 );
40 assert(ach == resulth);
41 assert(acl == resultl);
42
43 return 0;
44}
This page took 0.056744 seconds and 4 git commands to generate.