@@ -58,48 +58,48 @@ entry:
58
58
59
59
define void @test_range_error_strictfp (double %value ) strictfp {
60
60
entry:
61
- %call_0 = call double @cosh (double %value )
62
- ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -7.100000e+02, metadata !"olt", metadata !"fpexcept.strict") #0
63
- ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 7.100000e+02, metadata !"ogt", metadata !"fpexcept.strict") #0
61
+ %call_0 = call double @cosh (double %value ) strictfp
62
+ ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -7.100000e+02, metadata !"olt", metadata !"fpexcept.strict")
63
+ ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 7.100000e+02, metadata !"ogt", metadata !"fpexcept.strict")
64
64
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
65
65
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT:[0-9]+]]
66
66
; CHECK: [[CALL_LABEL]]:
67
67
; CHECK-NEXT: %call_0 = call double @cosh(double %value)
68
68
; CHECK-NEXT: br label %[[END_LABEL]]
69
69
; CHECK: [[END_LABEL]]:
70
70
71
- %call_1 = call double @exp (double %value )
72
- ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -7.450000e+02, metadata !"olt", metadata !"fpexcept.strict") #0
73
- ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 7.090000e+02, metadata !"ogt", metadata !"fpexcept.strict") #0
71
+ %call_1 = call double @exp (double %value ) strictfp
72
+ ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -7.450000e+02, metadata !"olt", metadata !"fpexcept.strict")
73
+ ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 7.090000e+02, metadata !"ogt", metadata !"fpexcept.strict")
74
74
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
75
75
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
76
76
; CHECK: [[CALL_LABEL]]:
77
77
; CHECK-NEXT: %call_1 = call double @exp(double %value)
78
78
; CHECK-NEXT: br label %[[END_LABEL]]
79
79
; CHECK: [[END_LABEL]]:
80
80
81
- %call_3 = call double @exp2 (double %value )
82
- ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -1.074000e+03, metadata !"olt", metadata !"fpexcept.strict") #0
83
- ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 1.023000e+03, metadata !"ogt", metadata !"fpexcept.strict") #0
81
+ %call_3 = call double @exp2 (double %value ) strictfp
82
+ ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -1.074000e+03, metadata !"olt", metadata !"fpexcept.strict")
83
+ ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 1.023000e+03, metadata !"ogt", metadata !"fpexcept.strict")
84
84
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
85
85
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
86
86
; CHECK: [[CALL_LABEL]]:
87
87
; CHECK-NEXT: %call_3 = call double @exp2(double %value)
88
88
; CHECK-NEXT: br label %[[END_LABEL]]
89
89
; CHECK: [[END_LABEL]]:
90
90
91
- %call_4 = call double @sinh (double %value )
92
- ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -7.100000e+02, metadata !"olt", metadata !"fpexcept.strict") #0
93
- ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 7.100000e+02, metadata !"ogt", metadata !"fpexcept.strict") #0
91
+ %call_4 = call double @sinh (double %value ) strictfp
92
+ ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -7.100000e+02, metadata !"olt", metadata !"fpexcept.strict")
93
+ ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 7.100000e+02, metadata !"ogt", metadata !"fpexcept.strict")
94
94
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
95
95
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
96
96
; CHECK: [[CALL_LABEL]]:
97
97
; CHECK-NEXT: %call_4 = call double @sinh(double %value)
98
98
; CHECK-NEXT: br label %[[END_LABEL]]
99
99
; CHECK: [[END_LABEL]]:
100
100
101
- %call_5 = call double @expm1 (double %value )
102
- ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 7.090000e+02, metadata !"ogt", metadata !"fpexcept.strict") #0
101
+ %call_5 = call double @expm1 (double %value ) strictfp
102
+ ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 7.090000e+02, metadata !"ogt", metadata !"fpexcept.strict")
103
103
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
104
104
; CHECK: [[CALL_LABEL]]:
105
105
; CHECK-NEXT: %call_5 = call double @expm1(double %value)
@@ -228,106 +228,106 @@ entry:
228
228
229
229
define void @test_domain_error_strictfp (double %value ) strictfp {
230
230
entry:
231
- %call_00 = call double @acos (double %value )
232
- ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 1.000000e+00, metadata !"ogt", metadata !"fpexcept.strict") #0
233
- ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -1.000000e+00, metadata !"olt", metadata !"fpexcept.strict") #0
231
+ %call_00 = call double @acos (double %value ) strictfp
232
+ ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 1.000000e+00, metadata !"ogt", metadata !"fpexcept.strict")
233
+ ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -1.000000e+00, metadata !"olt", metadata !"fpexcept.strict")
234
234
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
235
235
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
236
236
; CHECK: [[CALL_LABEL]]:
237
237
; CHECK-NEXT: %call_00 = call double @acos(double %value)
238
238
; CHECK-NEXT: br label %[[END_LABEL]]
239
239
; CHECK: [[END_LABEL]]:
240
240
241
- %call_01 = call double @asin (double %value )
242
- ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 1.000000e+00, metadata !"ogt", metadata !"fpexcept.strict") #0
243
- ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -1.000000e+00, metadata !"olt", metadata !"fpexcept.strict") #0
241
+ %call_01 = call double @asin (double %value ) strictfp
242
+ ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 1.000000e+00, metadata !"ogt", metadata !"fpexcept.strict")
243
+ ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -1.000000e+00, metadata !"olt", metadata !"fpexcept.strict")
244
244
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
245
245
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
246
246
; CHECK: [[CALL_LABEL]]:
247
247
; CHECK-NEXT: %call_01 = call double @asin(double %value)
248
248
; CHECK-NEXT: br label %[[END_LABEL]]
249
249
; CHECK: [[END_LABEL]]:
250
250
251
- %call_02 = call double @cos (double %value )
252
- ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0xFFF0000000000000, metadata !"oeq", metadata !"fpexcept.strict") #0
253
- ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0x7FF0000000000000, metadata !"oeq", metadata !"fpexcept.strict") #0
251
+ %call_02 = call double @cos (double %value ) strictfp
252
+ ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0xFFF0000000000000, metadata !"oeq", metadata !"fpexcept.strict")
253
+ ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0x7FF0000000000000, metadata !"oeq", metadata !"fpexcept.strict")
254
254
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
255
255
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
256
256
; CHECK: [[CALL_LABEL]]:
257
257
; CHECK-NEXT: %call_02 = call double @cos(double %value)
258
258
; CHECK-NEXT: br label %[[END_LABEL]]
259
259
; CHECK: [[END_LABEL]]:
260
260
261
- %call_03 = call double @sin (double %value )
262
- ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0xFFF0000000000000, metadata !"oeq", metadata !"fpexcept.strict") #0
263
- ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0x7FF0000000000000, metadata !"oeq", metadata !"fpexcept.strict") #0
261
+ %call_03 = call double @sin (double %value ) strictfp
262
+ ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0xFFF0000000000000, metadata !"oeq", metadata !"fpexcept.strict")
263
+ ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0x7FF0000000000000, metadata !"oeq", metadata !"fpexcept.strict")
264
264
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
265
265
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
266
266
; CHECK: [[CALL_LABEL]]:
267
267
; CHECK-NEXT: %call_03 = call double @sin(double %value)
268
268
; CHECK-NEXT: br label %[[END_LABEL]]
269
269
; CHECK: [[END_LABEL]]:
270
270
271
- %call_04 = call double @acosh (double %value )
272
- ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 1.000000e+00, metadata !"olt", metadata !"fpexcept.strict") #0
271
+ %call_04 = call double @acosh (double %value ) strictfp
272
+ ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 1.000000e+00, metadata !"olt", metadata !"fpexcept.strict")
273
273
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
274
274
; CHECK: [[CALL_LABEL]]:
275
275
; CHECK-NEXT: %call_04 = call double @acosh(double %value)
276
276
; CHECK-NEXT: br label %[[END_LABEL]]
277
277
; CHECK: [[END_LABEL]]:
278
278
279
- %call_05 = call double @sqrt (double %value )
280
- ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0.000000e+00, metadata !"olt", metadata !"fpexcept.strict") #0
279
+ %call_05 = call double @sqrt (double %value ) strictfp
280
+ ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0.000000e+00, metadata !"olt", metadata !"fpexcept.strict")
281
281
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
282
282
; CHECK: [[CALL_LABEL]]:
283
283
; CHECK-NEXT: %call_05 = call double @sqrt(double %value)
284
284
; CHECK-NEXT: br label %[[END_LABEL]]
285
285
; CHECK: [[END_LABEL]]:
286
286
287
- %call_06 = call double @atanh (double %value )
288
- ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 1.000000e+00, metadata !"oge", metadata !"fpexcept.strict") #0
289
- ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -1.000000e+00, metadata !"ole", metadata !"fpexcept.strict") #0
287
+ %call_06 = call double @atanh (double %value ) strictfp
288
+ ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 1.000000e+00, metadata !"oge", metadata !"fpexcept.strict")
289
+ ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -1.000000e+00, metadata !"ole", metadata !"fpexcept.strict")
290
290
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
291
291
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
292
292
; CHECK: [[CALL_LABEL]]:
293
293
; CHECK-NEXT: %call_06 = call double @atanh(double %value)
294
294
; CHECK-NEXT: br label %[[END_LABEL]]
295
295
; CHECK: [[END_LABEL]]:
296
296
297
- %call_07 = call double @log (double %value )
298
- ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict") #0
297
+ %call_07 = call double @log (double %value ) strictfp
298
+ ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict")
299
299
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
300
300
; CHECK: [[CALL_LABEL]]:
301
301
; CHECK-NEXT: %call_07 = call double @log(double %value)
302
302
; CHECK-NEXT: br label %[[END_LABEL]]
303
303
; CHECK: [[END_LABEL]]:
304
304
305
- %call_08 = call double @log10 (double %value )
306
- ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict") #0
305
+ %call_08 = call double @log10 (double %value ) strictfp
306
+ ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict")
307
307
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
308
308
; CHECK: [[CALL_LABEL]]:
309
309
; CHECK-NEXT: %call_08 = call double @log10(double %value)
310
310
; CHECK-NEXT: br label %[[END_LABEL]]
311
311
; CHECK: [[END_LABEL]]:
312
312
313
- %call_09 = call double @log2 (double %value )
314
- ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict") #0
313
+ %call_09 = call double @log2 (double %value ) strictfp
314
+ ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict")
315
315
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
316
316
; CHECK: [[CALL_LABEL]]:
317
317
; CHECK-NEXT: %call_09 = call double @log2(double %value)
318
318
; CHECK-NEXT: br label %[[END_LABEL]]
319
319
; CHECK: [[END_LABEL]]:
320
320
321
- %call_10 = call double @logb (double %value )
322
- ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict") #0
321
+ %call_10 = call double @logb (double %value ) strictfp
322
+ ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict")
323
323
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
324
324
; CHECK: [[CALL_LABEL]]:
325
325
; CHECK-NEXT: %call_10 = call double @logb(double %value)
326
326
; CHECK-NEXT: br label %[[END_LABEL]]
327
327
; CHECK: [[END_LABEL]]:
328
328
329
- %call_11 = call double @log1p (double %value )
330
- ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -1.000000e+00, metadata !"ole", metadata !"fpexcept.strict") #0
329
+ %call_11 = call double @log1p (double %value ) strictfp
330
+ ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %value, double -1.000000e+00, metadata !"ole", metadata !"fpexcept.strict")
331
331
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
332
332
; CHECK: [[CALL_LABEL]]:
333
333
; CHECK-NEXT: %call_11 = call double @log1p(double %value)
@@ -399,18 +399,18 @@ define void @test_pow(i32 %int_val, double %exp) {
399
399
}
400
400
401
401
define void @test_pow_strictfp (i32 %int_val , double %exp ) strictfp {
402
- %call = call double @pow (double 2 .500000e+00 , double %exp )
403
- ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %exp, double 1.270000e+02, metadata !"ogt", metadata !"fpexcept.strict") #0
402
+ %call = call double @pow (double 2 .500000e+00 , double %exp ) strictfp
403
+ ; CHECK: [[COND:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %exp, double 1.270000e+02, metadata !"ogt", metadata !"fpexcept.strict")
404
404
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
405
405
; CHECK: [[CALL_LABEL]]:
406
406
; CHECK-NEXT: %call = call double @pow(double 2.500000e+00, double %exp)
407
407
; CHECK-NEXT: br label %[[END_LABEL]]
408
408
; CHECK: [[END_LABEL]]:
409
409
410
410
%conv = sitofp i32 %int_val to double
411
- %call1 = call double @pow (double %conv , double %exp )
412
- ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %exp, double 3.200000e+01, metadata !"ogt", metadata !"fpexcept.strict") #0
413
- ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %conv, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict") #0
411
+ %call1 = call double @pow (double %conv , double %exp ) strictfp
412
+ ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %exp, double 3.200000e+01, metadata !"ogt", metadata !"fpexcept.strict")
413
+ ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %conv, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict")
414
414
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
415
415
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
416
416
; CHECK: [[CALL_LABEL]]:
@@ -420,9 +420,9 @@ define void @test_pow_strictfp(i32 %int_val, double %exp) strictfp {
420
420
421
421
%conv2 = trunc i32 %int_val to i8
422
422
%conv3 = uitofp i8 %conv2 to double
423
- %call4 = call double @pow (double %conv3 , double %exp )
424
- ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %exp, double 1.280000e+02, metadata !"ogt", metadata !"fpexcept.strict") #0
425
- ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %conv3, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict") #0
423
+ %call4 = call double @pow (double %conv3 , double %exp ) strictfp
424
+ ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %exp, double 1.280000e+02, metadata !"ogt", metadata !"fpexcept.strict")
425
+ ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %conv3, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict")
426
426
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
427
427
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
428
428
; CHECK: [[CALL_LABEL]]:
@@ -433,9 +433,9 @@ define void @test_pow_strictfp(i32 %int_val, double %exp) strictfp {
433
433
434
434
%conv5 = trunc i32 %int_val to i16
435
435
%conv6 = uitofp i16 %conv5 to double
436
- %call7 = call double @pow (double %conv6 , double %exp )
437
- ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %exp, double 6.400000e+01, metadata !"ogt", metadata !"fpexcept.strict") #0
438
- ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %conv6, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict") #0
436
+ %call7 = call double @pow (double %conv6 , double %exp ) strictfp
437
+ ; CHECK: [[COND1:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %exp, double 6.400000e+01, metadata !"ogt", metadata !"fpexcept.strict")
438
+ ; CHECK: [[COND2:%[0-9]+]] = call i1 @llvm.experimental.constrained.fcmp.f64(double %conv6, double 0.000000e+00, metadata !"ole", metadata !"fpexcept.strict")
439
439
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
440
440
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
441
441
; CHECK: [[CALL_LABEL]]:
0 commit comments