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