qemu/tests/tcg/mips/user/ase/dsp/test_dsp_r1_shrav_r_w.c
<<
>>
Prefs
   1#include<stdio.h>
   2#include<assert.h>
   3
   4int main()
   5{
   6    int rd, rs, rt;
   7    int result;
   8
   9    rs     = 0x03;
  10    rt     = 0x87654321;
  11    result = 0xF0ECA864;
  12
  13    __asm
  14        ("shrav_r.w %0, %1, %2\n\t"
  15         : "=r"(rd)
  16         : "r"(rt), "r"(rs)
  17        );
  18    assert(rd == result);
  19
  20    rs     = 0x00;
  21    rt     = 0x40000000;
  22    result = 0x40000000;
  23
  24    __asm
  25        ("shrav_r.w %0, %1, %2\n\t"
  26         : "=r"(rd)
  27         : "r"(rt), "r"(rs)
  28        );
  29
  30    assert(rd == result);
  31    return 0;
  32}
  33