Add qemu 2.4.0
[kvmfornfv.git] / qemu / tests / tcg / openrisc / test_lf_eqs.c
1 #include <stdio.h>
2
3 int main(void)
4 {
5     int a, result;
6     float b, c;
7
8     a = 0x1;
9     b = 122.5;
10     c = 123.5;
11     result = 0x3;
12     __asm
13     ("lfeqd:\n\t"
14      "l.addi    %0, %0, 0x1\n\t"
15      "lf.sfeq.s %1, %2\n\t"
16      "l.bf      lfeqd\n\t"
17      "l.nop\n\t"
18      "l.addi    %0, %0, 0x1\n\t"
19      : "+r"(a)
20      : "r"(b), "r"(c)
21     );
22     if (a != result) {
23         printf("lf.sfeq.s error\n");
24         return -1;
25     }
26
27     b = 13.5;
28     c = 13.5;
29     result = 0x3;
30     __asm
31     ("lf.sfeq.s %1, %2\n\t"
32      "l.bf      1f\n\t"
33      "l.nop\n\t"
34      "l.addi    r4, r4, 0x1\n\t"
35      "1:\n\t"
36      : "+r"(a)
37      : "r"(b), "r"(c)
38     );
39     if (a != result) {
40         printf("lf.sfeq.s error\n");
41         return -1;
42     }
43
44 /*    double b, c;
45     double result;
46     int a;
47
48     a = 0x1;
49     b = 122.5;
50     c = 133.5;
51     result = 0x3;
52
53     __asm
54     ("lfeqd:\n\t"
55      "l.addi %0, %0, 0x1\n\t"
56      "lf.sfeq.d %1, %2\n\t"
57      "l.bf      lfeqd\n\t"
58      "l.nop\n\t"
59      "l.addi    %0, %0, 0x1\n\t"
60      : "+r"(a)
61      : "r"(b), "r"(c)
62     );
63     if (a != result) {
64         printf("lf.sfeq.d error\n");
65         return -1;
66     }
67
68     double c, d, res;
69     int e = 0;
70     c = 11.5;
71     d = 11.5;
72     res = 1;
73     __asm
74     ("lf.sfeq.d %1, %2\n\t"
75      "l.bf      1f\n\t"
76      "l.nop\n\t"
77      "l.addi    %0, %0, 0x1\n\t"
78      "1:\n\t"
79      : "+r"(e)
80      : "r"(c), "r"(d)
81     );
82     if (e != res) {
83         printf("lf.sfeq.d error\n");
84         return -1;
85     }*/
86
87     return 0;
88 }