Skip to content

Commit 6adcc9e

Browse files
committed
comparesf2/comparedf2: use i32 instead of bool for return type.
Note that this changes semantics: pub extern "C" fn __eqsf2(a: f32, b: f32) -> bool { cmp(a, b).to_le_abi() != 0 } is not the same as pub extern "C" fn __eqsf2(a: f32, b: f32) -> i32 { cmp(a, b).to_le_abi() } However, compiler-rt does the latter, so this is actually an improvement.
1 parent f5d8647 commit 6adcc9e

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

src/float/cmp.rs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -115,24 +115,24 @@ intrinsics! {
115115
}
116116

117117
#[arm_aeabi_alias = fcmpun]
118-
pub extern "C" fn __unordsf2(a: f32, b: f32) -> bool {
119-
unord(a, b)
118+
pub extern "C" fn __unordsf2(a: f32, b: f32) -> i32 {
119+
unord(a, b) as i32
120120
}
121121

122-
pub extern "C" fn __eqsf2(a: f32, b: f32) -> bool {
123-
cmp(a, b).to_le_abi() != 0
122+
pub extern "C" fn __eqsf2(a: f32, b: f32) -> i32 {
123+
cmp(a, b).to_le_abi()
124124
}
125125

126-
pub extern "C" fn __ltsf2(a: f32, b: f32) -> bool {
127-
cmp(a, b).to_le_abi() != 0
126+
pub extern "C" fn __ltsf2(a: f32, b: f32) -> i32 {
127+
cmp(a, b).to_le_abi()
128128
}
129129

130-
pub extern "C" fn __nesf2(a: f32, b: f32) -> bool {
131-
cmp(a, b).to_le_abi() != 0
130+
pub extern "C" fn __nesf2(a: f32, b: f32) -> i32 {
131+
cmp(a, b).to_le_abi()
132132
}
133133

134-
pub extern "C" fn __gtsf2(a: f32, b: f32) -> bool {
135-
cmp(a, b).to_ge_abi() != 0
134+
pub extern "C" fn __gtsf2(a: f32, b: f32) -> i32 {
135+
cmp(a, b).to_ge_abi()
136136
}
137137

138138
pub extern "C" fn __ledf2(a: f64, b: f64) -> i32 {
@@ -144,23 +144,23 @@ intrinsics! {
144144
}
145145

146146
#[arm_aeabi_alias = dcmpun]
147-
pub extern "C" fn __unorddf2(a: f64, b: f64) -> bool {
148-
unord(a, b)
147+
pub extern "C" fn __unorddf2(a: f64, b: f64) -> i32 {
148+
unord(a, b) as i32
149149
}
150150

151-
pub extern "C" fn __eqdf2(a: f64, b: f64) -> bool {
152-
cmp(a, b).to_le_abi() != 0
151+
pub extern "C" fn __eqdf2(a: f64, b: f64) -> i32 {
152+
cmp(a, b).to_le_abi()
153153
}
154154

155-
pub extern "C" fn __ltdf2(a: f64, b: f64) -> bool {
156-
cmp(a, b).to_le_abi() != 0
155+
pub extern "C" fn __ltdf2(a: f64, b: f64) -> i32 {
156+
cmp(a, b).to_le_abi()
157157
}
158158

159-
pub extern "C" fn __nedf2(a: f64, b: f64) -> bool {
160-
cmp(a, b).to_le_abi() != 0
159+
pub extern "C" fn __nedf2(a: f64, b: f64) -> i32 {
160+
cmp(a, b).to_le_abi()
161161
}
162162

163-
pub extern "C" fn __gtdf2(a: f32, b: f32) -> bool {
164-
cmp(a, b).to_ge_abi() != 0
163+
pub extern "C" fn __gtdf2(a: f32, b: f32) -> i32 {
164+
cmp(a, b).to_ge_abi()
165165
}
166166
}

0 commit comments

Comments
 (0)