1f08c3bdfSopenharmony_ciextern double g;
2f08c3bdfSopenharmony_ci
3f08c3bdfSopenharmony_ciint  fcmp_eq(double a) { return  (g == a); }
4f08c3bdfSopenharmony_ciint  fcmp_ne(double a) { return  (g != a); }
5f08c3bdfSopenharmony_ci
6f08c3bdfSopenharmony_ciint  fcmp_gt(double a) { return  (g >  a); }
7f08c3bdfSopenharmony_ciint  fcmp_ge(double a) { return  (g >= a); }
8f08c3bdfSopenharmony_ciint  fcmp_le(double a) { return  (g <= a); }
9f08c3bdfSopenharmony_ciint  fcmp_lt(double a) { return  (g <  a); }
10f08c3bdfSopenharmony_ci
11f08c3bdfSopenharmony_ciint nfcmp_ne(double a) { return !(g == a); }
12f08c3bdfSopenharmony_ciint nfcmp_eq(double a) { return !(g != a); }
13f08c3bdfSopenharmony_ci
14f08c3bdfSopenharmony_ciint nfcmp_le(double a) { return !(g >  a); }
15f08c3bdfSopenharmony_ciint nfcmp_lt(double a) { return !(g >= a); }
16f08c3bdfSopenharmony_ciint nfcmp_gt(double a) { return !(g <= a); }
17f08c3bdfSopenharmony_ciint nfcmp_ge(double a) { return !(g <  a); }
18f08c3bdfSopenharmony_ci
19f08c3bdfSopenharmony_ci/*
20f08c3bdfSopenharmony_ci * check-name: canonical-cmp
21f08c3bdfSopenharmony_ci * check-command: test-linearize -Wno-decl $file
22f08c3bdfSopenharmony_ci *
23f08c3bdfSopenharmony_ci * check-output-excludes: \\$123,
24f08c3bdfSopenharmony_ci *
25f08c3bdfSopenharmony_ci * check-output-start
26f08c3bdfSopenharmony_cifcmp_eq:
27f08c3bdfSopenharmony_ci.L0:
28f08c3bdfSopenharmony_ci	<entry-point>
29f08c3bdfSopenharmony_ci	load.64     %r1 <- 0[g]
30f08c3bdfSopenharmony_ci	fcmpoeq.32  %r3 <- %r1, %arg1
31f08c3bdfSopenharmony_ci	ret.32      %r3
32f08c3bdfSopenharmony_ci
33f08c3bdfSopenharmony_ci
34f08c3bdfSopenharmony_cifcmp_ne:
35f08c3bdfSopenharmony_ci.L2:
36f08c3bdfSopenharmony_ci	<entry-point>
37f08c3bdfSopenharmony_ci	load.64     %r5 <- 0[g]
38f08c3bdfSopenharmony_ci	fcmpune.32  %r7 <- %r5, %arg1
39f08c3bdfSopenharmony_ci	ret.32      %r7
40f08c3bdfSopenharmony_ci
41f08c3bdfSopenharmony_ci
42f08c3bdfSopenharmony_cifcmp_gt:
43f08c3bdfSopenharmony_ci.L4:
44f08c3bdfSopenharmony_ci	<entry-point>
45f08c3bdfSopenharmony_ci	load.64     %r9 <- 0[g]
46f08c3bdfSopenharmony_ci	fcmpogt.32  %r11 <- %r9, %arg1
47f08c3bdfSopenharmony_ci	ret.32      %r11
48f08c3bdfSopenharmony_ci
49f08c3bdfSopenharmony_ci
50f08c3bdfSopenharmony_cifcmp_ge:
51f08c3bdfSopenharmony_ci.L6:
52f08c3bdfSopenharmony_ci	<entry-point>
53f08c3bdfSopenharmony_ci	load.64     %r13 <- 0[g]
54f08c3bdfSopenharmony_ci	fcmpoge.32  %r15 <- %r13, %arg1
55f08c3bdfSopenharmony_ci	ret.32      %r15
56f08c3bdfSopenharmony_ci
57f08c3bdfSopenharmony_ci
58f08c3bdfSopenharmony_cifcmp_le:
59f08c3bdfSopenharmony_ci.L8:
60f08c3bdfSopenharmony_ci	<entry-point>
61f08c3bdfSopenharmony_ci	load.64     %r17 <- 0[g]
62f08c3bdfSopenharmony_ci	fcmpole.32  %r19 <- %r17, %arg1
63f08c3bdfSopenharmony_ci	ret.32      %r19
64f08c3bdfSopenharmony_ci
65f08c3bdfSopenharmony_ci
66f08c3bdfSopenharmony_cifcmp_lt:
67f08c3bdfSopenharmony_ci.L10:
68f08c3bdfSopenharmony_ci	<entry-point>
69f08c3bdfSopenharmony_ci	load.64     %r21 <- 0[g]
70f08c3bdfSopenharmony_ci	fcmpolt.32  %r23 <- %r21, %arg1
71f08c3bdfSopenharmony_ci	ret.32      %r23
72f08c3bdfSopenharmony_ci
73f08c3bdfSopenharmony_ci
74f08c3bdfSopenharmony_cinfcmp_ne:
75f08c3bdfSopenharmony_ci.L12:
76f08c3bdfSopenharmony_ci	<entry-point>
77f08c3bdfSopenharmony_ci	load.64     %r25 <- 0[g]
78f08c3bdfSopenharmony_ci	fcmpune.32  %r28 <- %r25, %arg1
79f08c3bdfSopenharmony_ci	ret.32      %r28
80f08c3bdfSopenharmony_ci
81f08c3bdfSopenharmony_ci
82f08c3bdfSopenharmony_cinfcmp_eq:
83f08c3bdfSopenharmony_ci.L14:
84f08c3bdfSopenharmony_ci	<entry-point>
85f08c3bdfSopenharmony_ci	load.64     %r30 <- 0[g]
86f08c3bdfSopenharmony_ci	fcmpoeq.32  %r33 <- %r30, %arg1
87f08c3bdfSopenharmony_ci	ret.32      %r33
88f08c3bdfSopenharmony_ci
89f08c3bdfSopenharmony_ci
90f08c3bdfSopenharmony_cinfcmp_le:
91f08c3bdfSopenharmony_ci.L16:
92f08c3bdfSopenharmony_ci	<entry-point>
93f08c3bdfSopenharmony_ci	load.64     %r35 <- 0[g]
94f08c3bdfSopenharmony_ci	fcmpule.32  %r38 <- %r35, %arg1
95f08c3bdfSopenharmony_ci	ret.32      %r38
96f08c3bdfSopenharmony_ci
97f08c3bdfSopenharmony_ci
98f08c3bdfSopenharmony_cinfcmp_lt:
99f08c3bdfSopenharmony_ci.L18:
100f08c3bdfSopenharmony_ci	<entry-point>
101f08c3bdfSopenharmony_ci	load.64     %r40 <- 0[g]
102f08c3bdfSopenharmony_ci	fcmpult.32  %r43 <- %r40, %arg1
103f08c3bdfSopenharmony_ci	ret.32      %r43
104f08c3bdfSopenharmony_ci
105f08c3bdfSopenharmony_ci
106f08c3bdfSopenharmony_cinfcmp_gt:
107f08c3bdfSopenharmony_ci.L20:
108f08c3bdfSopenharmony_ci	<entry-point>
109f08c3bdfSopenharmony_ci	load.64     %r45 <- 0[g]
110f08c3bdfSopenharmony_ci	fcmpugt.32  %r48 <- %r45, %arg1
111f08c3bdfSopenharmony_ci	ret.32      %r48
112f08c3bdfSopenharmony_ci
113f08c3bdfSopenharmony_ci
114f08c3bdfSopenharmony_cinfcmp_ge:
115f08c3bdfSopenharmony_ci.L22:
116f08c3bdfSopenharmony_ci	<entry-point>
117f08c3bdfSopenharmony_ci	load.64     %r50 <- 0[g]
118f08c3bdfSopenharmony_ci	fcmpuge.32  %r53 <- %r50, %arg1
119f08c3bdfSopenharmony_ci	ret.32      %r53
120f08c3bdfSopenharmony_ci
121f08c3bdfSopenharmony_ci
122f08c3bdfSopenharmony_ci * check-output-end
123f08c3bdfSopenharmony_ci */
124