qemu/tests/tcg/mips/mips64-dsp/absq_s_w.c
<<
>>
Prefs
   1#include "io.h"
   2
   3int main(void)
   4{
   5    long long rd, rt;
   6    long long result;
   7
   8    rt     = 0x80000000;
   9    result = 0x7FFFFFFF;
  10    __asm
  11        ("absq_s.w %0, %1\n\t"
  12         : "=r"(rd)
  13         : "r"(rt)
  14        );
  15    if (rd != result) {
  16        printf("absq_s_w.ph wrong\n");
  17
  18        return -1;
  19    }
  20
  21    rt     = 0x80030000;
  22    result = 0x7FFD0000;
  23    __asm
  24        ("absq_s.w %0, %1\n\t"
  25         : "=r"(rd)
  26         : "r"(rt)
  27        );
  28    if (rd != result) {
  29        printf("absq_s_w.ph wrong\n");
  30
  31        return -1;
  32    }
  33
  34    rt     = 0x31036080;
  35    result = 0x31036080;
  36    __asm
  37        ("absq_s.w %0, %1\n\t"
  38         : "=r"(rd)
  39         : "r"(rt)
  40        );
  41    if (rd != result) {
  42        printf("absq_s_w.ph wrong\n");
  43
  44        return -1;
  45    }
  46
  47    return 0;
  48}
  49