qemu/tests/tcg/openrisc/test_add.c
<<
>>
Prefs
   1#include <stdio.h>
   2
   3int main(void)
   4{
   5    int a, b, d;
   6    int result;
   7
   8    a = 0x100;
   9    b = 0x100;
  10    result = 0x200;
  11    __asm
  12    ("l.add %0, %0, %1\n\t"
  13     : "+r"(a)
  14     : "r"(b)
  15    );
  16    if (a != result) {
  17        printf("add error\n");
  18        return -1;
  19    }
  20
  21    a = 0xffff;
  22    b = 0x1;
  23    result = 0x10000;
  24    __asm
  25    ("l.add %0, %0, %1\n\t"
  26     : "+r"(a)
  27     : "r"(b)
  28    );
  29    if (a != result) {
  30        printf("add error\n");
  31        return -1;
  32    }
  33
  34    a = 0x7fffffff;
  35    b = 0x1;
  36    __asm
  37    ("l.add %0, %1, %2\n\t"
  38     : "=r"(d)
  39     : "r"(b), "r"(a)
  40    );
  41
  42    return 0;
  43}
  44