qemu/tests/tcg/mips/mips64-dsp/shllv_qb.c
<<
>>
Prefs
   1#include "io.h"
   2
   3int main(void)
   4{
   5    long long rd, rs, rt, dsp;
   6    long long result, resultdsp;
   7
   8    rs     = 0x03;
   9    rt     = 0x87654321;
  10    result = 0x38281808;
  11    resultdsp = 0x01;
  12
  13    __asm
  14        ("shllv.qb %0, %2, %3\n\t"
  15         "rddsp   %1\n\t"
  16         : "=r"(rd), "=r"(dsp)
  17         : "r"(rt), "r"(rs)
  18        );
  19    dsp = (dsp >> 22) & 0x01;
  20    if (rd != result) {
  21        printf("shllv.qb wrong\n");
  22
  23        return -1;
  24    }
  25
  26    return 0;
  27}
  28