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