qemu/tests/tcg/mips/mips64-dsp/shrlv_ob.c
<<
>>
Prefs
   1#include "io.h"
   2
   3int main(void)
   4{
   5    long long rd, rt, rs;
   6    long long res;
   7
   8    rt = 0xab76543212345678;
   9    rs = 0x3;
  10    res = 0x150e0a0602060a0f;
  11
  12    __asm
  13        ("shrlv.ob %0, %1, %2\n\t"
  14         : "=r"(rd)
  15         : "r"(rt), "r"(rs)
  16        );
  17
  18    if (rd != res) {
  19        printf("shrlv.ob error\n");
  20        return -1;
  21    }
  22
  23    rt = 0xab76543212345678;
  24    rs = 0x0;
  25    res = 0xab76543212345678;
  26
  27    __asm
  28        ("shrlv.ob %0, %1, %2\n\t"
  29         : "=r"(rd)
  30         : "r"(rt), "r"(rs)
  31        );
  32
  33    if (rd != res) {
  34        printf("shrlv.ob error\n");
  35        return -1;
  36    }
  37
  38    return 0;
  39}
  40