xref: /openbmc/qemu/tests/tcg/openrisc/test_sfgtui.c (revision fcf5ef2a)
1 #include <stdio.h>
2 
3 int 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.sfgtui %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("sfgtui error\n");
20         return -1;
21     }
22 
23 
24     a = 0xff;
25     b = 1;
26     result = 3;
27     __asm
28     ("1:\n\t"
29      "l.sub     %0, %0, %1\n\t"
30      "l.sfgtui  %0, 0x3\n\t"
31      "l.bf 1b\n\t"
32      "l.nop\n\t"
33      : "+r"(a)
34      : "r"(b)
35     );
36     if (a != result) {
37         printf("sfgtui error\n");
38         return -1;
39     }
40 
41     return 0;
42 }
43