qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

test_dsp_r1_shllv_ph.c (769B)


      1 #include<stdio.h>
      2 #include<assert.h>
      3 
      4 int main()
      5 {
      6     int rd, rs, rt, dsp;
      7     int result, resultdsp;
      8 
      9     rs        = 0x0;
     10     rt        = 0x12345678;
     11     result    = 0x12345678;
     12     resultdsp = 0;
     13 
     14     __asm
     15         ("shllv.ph %0, %2, %3\n\t"
     16          "rddsp %1\n\t"
     17          : "=r"(rd), "=r"(dsp)
     18          : "r"(rt), "r"(rs)
     19         );
     20     dsp = (dsp >> 22) & 0x01;
     21     assert(dsp == resultdsp);
     22     assert(rd  == result);
     23 
     24     rs        = 0x0B;
     25     rt        = 0x12345678;
     26     result    = 0xA000C000;
     27     resultdsp = 1;
     28 
     29     __asm
     30         ("shllv.ph %0, %2, %3\n\t"
     31          "rddsp %1\n\t"
     32          : "=r"(rd), "=r"(dsp)
     33          : "r"(rt), "r"(rs)
     34         );
     35     dsp = (dsp >> 22) & 0x01;
     36     assert(dsp == resultdsp);
     37     assert(rd  == result);
     38 
     39     return 0;
     40 }