xref: /openbmc/qemu/tests/tcg/openrisc/test_fx.c (revision d3da41e3)
1*d901eff3SJia Liu #include <stdio.h>
2*d901eff3SJia Liu 
main(void)3*d901eff3SJia Liu int main(void)
4*d901eff3SJia Liu {
5*d901eff3SJia Liu     int a, b;
6*d901eff3SJia Liu     int result;
7*d901eff3SJia Liu 
8*d901eff3SJia Liu     b = 0x123;
9*d901eff3SJia Liu     result = 1;
10*d901eff3SJia Liu     __asm
11*d901eff3SJia Liu     ("l.ff1 %0, %1\n\t"
12*d901eff3SJia Liu      : "=r"(a)
13*d901eff3SJia Liu      : "r"(b)
14*d901eff3SJia Liu     );
15*d901eff3SJia Liu     if (a != result) {
16*d901eff3SJia Liu         printf("ff1 error\n");
17*d901eff3SJia Liu         return -1;
18*d901eff3SJia Liu     }
19*d901eff3SJia Liu 
20*d901eff3SJia Liu     b = 0x0;
21*d901eff3SJia Liu     result = 0;
22*d901eff3SJia Liu     __asm
23*d901eff3SJia Liu     ("l.ff1 %0, %1\n\t"
24*d901eff3SJia Liu      : "=r"(a)
25*d901eff3SJia Liu      : "r"(b)
26*d901eff3SJia Liu     );
27*d901eff3SJia Liu     if (a != result) {
28*d901eff3SJia Liu         printf("ff1 error\n");
29*d901eff3SJia Liu         return -1;
30*d901eff3SJia Liu     }
31*d901eff3SJia Liu 
32*d901eff3SJia Liu     b = 0x123;
33*d901eff3SJia Liu     result = 9;
34*d901eff3SJia Liu     __asm
35*d901eff3SJia Liu     ("l.fl1 %0, %1\n\t"
36*d901eff3SJia Liu      : "=r"(a)
37*d901eff3SJia Liu      : "r"(b)
38*d901eff3SJia Liu     );
39*d901eff3SJia Liu     if (a != result) {
40*d901eff3SJia Liu         printf("fl1 error\n");
41*d901eff3SJia Liu         return -1;
42*d901eff3SJia Liu     }
43*d901eff3SJia Liu 
44*d901eff3SJia Liu     b = 0x0;
45*d901eff3SJia Liu     result = 0;
46*d901eff3SJia Liu     __asm
47*d901eff3SJia Liu     ("l.fl1 %0, %1\n\t"
48*d901eff3SJia Liu      : "=r"(a)
49*d901eff3SJia Liu      : "r"(b)
50*d901eff3SJia Liu     );
51*d901eff3SJia Liu     if (a != result) {
52*d901eff3SJia Liu         printf("fl1 error\n");
53*d901eff3SJia Liu         return -1;
54*d901eff3SJia Liu     }
55*d901eff3SJia Liu 
56*d901eff3SJia Liu     return 0;
57*d901eff3SJia Liu }
58