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