xref: /openbmc/qemu/tests/tcg/openrisc/test_lf_add.c (revision d901eff3e6da96d34be33b307aa6cea75098c180)
1*d901eff3SJia Liu #include <stdio.h>
2*d901eff3SJia Liu 
main(void)3*d901eff3SJia Liu int main(void)
4*d901eff3SJia Liu {
5*d901eff3SJia Liu     float a, b;
6*d901eff3SJia Liu     float res2;
7*d901eff3SJia Liu 
8*d901eff3SJia Liu     a = 1.5;
9*d901eff3SJia Liu     b = 2.5;
10*d901eff3SJia Liu     res2 = 4.0;
11*d901eff3SJia Liu     __asm
12*d901eff3SJia Liu     ("lf.add.s  %0, %0, %1\n\t"
13*d901eff3SJia Liu      : "+r"(a)
14*d901eff3SJia Liu      : "r"(b)
15*d901eff3SJia Liu     );
16*d901eff3SJia Liu     if (a != res2) {
17*d901eff3SJia Liu         printf("lf.add.s error, %f\n", a);
18*d901eff3SJia Liu         return -1;
19*d901eff3SJia Liu     }
20*d901eff3SJia Liu 
21*d901eff3SJia Liu /*    double c, d;
22*d901eff3SJia Liu     double res1;
23*d901eff3SJia Liu 
24*d901eff3SJia Liu     c = 1.5;
25*d901eff3SJia Liu     d = 1.5;
26*d901eff3SJia Liu     res1 = 3.00;
27*d901eff3SJia Liu     __asm
28*d901eff3SJia Liu     ("lf.add.d  %0, %1, %2\n\t"
29*d901eff3SJia Liu      : "+r"(c)
30*d901eff3SJia Liu      : "r"(d)
31*d901eff3SJia Liu     );
32*d901eff3SJia Liu 
33*d901eff3SJia Liu     if ((e - res1) > 0.002) {
34*d901eff3SJia Liu         printf("lf.add.d error, %f\n", e - res1);
35*d901eff3SJia Liu         return -1;
36*d901eff3SJia Liu     }*/
37*d901eff3SJia Liu 
38*d901eff3SJia Liu     return 0;
39*d901eff3SJia Liu }
40