1 #include "io.h"
2 
main(void)3 int main(void)
4 {
5     long long rt, rs;
6     long long achi, acli;
7     long long res;
8 
9     achi = 0x87654321;
10     acli = 0x12345678;
11     rs = 0x8;
12 
13     res = 0x2100000000123456;
14 
15     __asm
16         ("mthi %1, $ac1\n\t"
17          "mtlo %2, $ac1\n\t"
18          "dextrv.l %0, $ac1, %3\n\t"
19          : "=r"(rt)
20          : "r"(achi), "r"(acli), "r"(rs)
21         );
22     if (rt != res) {
23         printf("dextrv.l error\n");
24         return -1;
25     }
26 
27     achi = 0x87654321;
28     acli = 0x12345678;
29     rs = 0x0;
30 
31     res = 0x12345678;
32 
33     __asm
34         ("mthi %1, $ac1\n\t"
35          "mtlo %2, $ac1\n\t"
36          "dextrv.l %0, $ac1, %3\n\t"
37          : "=r"(rt)
38          : "r"(achi), "r"(acli), "r"(rs)
39         );
40     if (rt != res) {
41         printf("dextrv.l error\n");
42         return -1;
43     }
44 
45     return 0;
46 }
47