@@ -147,85 +147,77 @@ mod float_div {
147
147
f32 , __divsf3, Single , all( ) ;
148
148
f64 , __divdf3, Double , all( ) ;
149
149
}
150
- }
151
-
152
- #[ cfg( target_arch = "arm" ) ]
153
- mod float_div_arm {
154
- use super :: * ;
155
150
151
+ #[ cfg( target_arch = "arm" ) ]
156
152
float ! {
157
153
f32 , __divsf3vfp, Single , all( ) ;
158
154
f64 , __divdf3vfp, Double , all( ) ;
159
155
}
160
- }
161
-
162
- #[ cfg( not( feature = "no-f16-f128" ) ) ]
163
- #[ cfg( not( all( target_arch = "x86" , not( target_feature = "sse" ) ) ) ) ]
164
- mod float_div_f128 {
165
- use super :: * ;
166
156
157
+ #[ cfg( not( feature = "no-f16-f128" ) ) ]
167
158
#[ cfg( not( any( target_arch = "powerpc" , target_arch = "powerpc64" ) ) ) ]
168
159
float ! {
169
160
f128, __divtf3, Quad , not( feature = "no-sys-f128" ) ;
170
161
}
171
162
163
+ #[ cfg( not( feature = "no-f16-f128" ) ) ]
172
164
#[ cfg( any( target_arch = "powerpc" , target_arch = "powerpc64" ) ) ]
173
165
float ! {
174
166
f128, __divkf3, Quad , not( feature = "no-sys-f128" ) ;
175
167
}
176
168
}
177
169
178
- #[ test]
179
- fn problem_f128 ( ) {
180
- use compiler_builtins:: float:: div:: __divtf3;
181
-
182
- let a = f128:: from_bits ( 0x00000000000000000000000000000001 ) ;
183
- let b = f128:: from_bits ( 0x0001FFFFFFFFFFFFFFFFFFFFFFFFFFFF ) ;
184
- let res = __divtf3 ( a, b) ;
185
- println ! (
186
- "{:#036x} / {:#036x} = {:#036x}" ,
187
- a. to_bits( ) ,
188
- b. to_bits( ) ,
189
- res. to_bits( )
190
- ) ;
191
- // got 0x3f8f0000000000000000000000000001
192
- // exp 0x3f8e0000000000000000000000000001
193
- assert_eq ! ( res. to_bits( ) , 0x3F8E0000000000000000000000000001 ) ;
194
- panic ! ( ) ;
195
- }
196
-
197
- #[ test]
198
- fn not_problem_f64 ( ) {
199
- use compiler_builtins:: float:: div:: __divdf3;
200
-
201
- let a = f64:: from_bits ( 0x0000000000000001 ) ;
202
- let b = f64:: from_bits ( 0x001FFFFFFFFFFFFF ) ;
203
- let res = __divdf3 ( a, b) ;
204
- println ! (
205
- "{:#018x} / {:#018x} = {:#018x}" ,
206
- a. to_bits( ) ,
207
- b. to_bits( ) ,
208
- res. to_bits( )
209
- ) ;
210
- // 0x3CA0000000000001
211
- assert_eq ! ( res. to_bits( ) , 0x3CA0000000000001 ) ;
212
- panic ! ( ) ;
213
- }
214
-
215
- #[ test]
216
- fn not_problem_f32 ( ) {
217
- use compiler_builtins:: float:: div:: __divsf3;
218
-
219
- let a = f32:: from_bits ( 0x00000001 ) ;
220
- let b = f32:: from_bits ( 0x00FFFFFF ) ;
221
- let res = __divsf3 ( a, b) ;
222
- println ! (
223
- "{:#010x} / {:#010x} = {:#010x}" ,
224
- a. to_bits( ) ,
225
- b. to_bits( ) ,
226
- res. to_bits( )
227
- ) ;
228
- // 0x33800001
229
- assert_eq ! ( res. to_bits( ) , 0x33800001 ) ;
230
- panic ! ( ) ;
231
- }
170
+ // #[test]
171
+ // fn problem_f128() {
172
+ // use compiler_builtins::float::div::__divtf3;
173
+
174
+ // let a = f128::from_bits(0x00000000000000000000000000000001);
175
+ // let b = f128::from_bits(0x0001FFFFFFFFFFFFFFFFFFFFFFFFFFFF);
176
+ // let res = __divtf3(a, b);
177
+ // println!(
178
+ // "{:#036x} / {:#036x} = {:#036x}",
179
+ // a.to_bits(),
180
+ // b.to_bits(),
181
+ // res.to_bits()
182
+ // );
183
+ // // got 0x3f8f0000000000000000000000000001
184
+ // // exp 0x3f8e0000000000000000000000000001
185
+ // assert_eq!(res.to_bits(), 0x3F8E0000000000000000000000000001);
186
+ // panic!();
187
+ // }
188
+
189
+ // #[test]
190
+ // fn not_problem_f64() {
191
+ // use compiler_builtins::float::div::__divdf3;
192
+
193
+ // let a = f64::from_bits(0x0000000000000001);
194
+ // let b = f64::from_bits(0x001FFFFFFFFFFFFF);
195
+ // let res = __divdf3(a, b);
196
+ // println!(
197
+ // "{:#018x} / {:#018x} = {:#018x}",
198
+ // a.to_bits(),
199
+ // b.to_bits(),
200
+ // res.to_bits()
201
+ // );
202
+ // // 0x3CA0000000000001
203
+ // assert_eq!(res.to_bits(), 0x3CA0000000000001);
204
+ // panic!();
205
+ // }
206
+
207
+ // #[test]
208
+ // fn not_problem_f32() {
209
+ // use compiler_builtins::float::div::__divsf3;
210
+
211
+ // let a = f32::from_bits(0x00000001);
212
+ // let b = f32::from_bits(0x00FFFFFF);
213
+ // let res = __divsf3(a, b);
214
+ // println!(
215
+ // "{:#010x} / {:#010x} = {:#010x}",
216
+ // a.to_bits(),
217
+ // b.to_bits(),
218
+ // res.to_bits()
219
+ // );
220
+ // // 0x33800001
221
+ // assert_eq!(res.to_bits(), 0x33800001);
222
+ // panic!();
223
+ // }
0 commit comments