1 #include<stdio.h>
2 #include<assert.h>
3 
4 int main()
5 {
6     int rd, rt;
7     int result;
8 
9     rt     = 0x87654321;
10     result = 0xF0ECA864;
11 
12     __asm
13         ("shra_r.w %0, %1, 0x03\n\t"
14          : "=r"(rd)
15          : "r"(rt)
16         );
17     assert(rd == result);
18 
19     rt     = 0x87654321;
20     result = 0x87654321;
21 
22     __asm
23         ("shra_r.w %0, %1, 0x0\n\t"
24          : "=r"(rd)
25          : "r"(rt)
26         );
27     assert(rd == result);
28 
29     return 0;
30 }
31