Skip to content

Commit b58b7f7

Browse files
committed
[FPEnv][LibCallsShrinkWrap] Correct strictfp tests.
Correct ShrinkWrap strictfp tests to follow the rules documented in the LangRef: https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics These tests needed the strictfp attribute added to function calls. Since I was here anyway I removed the strictfp attribute from constrained intrinsic calls. After D154991 the constrained intrinsics have the strictfp attribute by default so they don't need it here, but other functions do. Test changes verified with D146845.
1 parent 29dec35 commit b58b7f7

File tree

4 files changed

+146
-146
lines changed

4 files changed

+146
-146
lines changed

llvm/test/Transforms/Util/libcalls-shrinkwrap-double.ll

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -58,48 +58,48 @@ entry:
5858

5959
define void @test_range_error_strictfp(double %value) strictfp {
6060
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")
6464
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
6565
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT:[0-9]+]]
6666
; CHECK: [[CALL_LABEL]]:
6767
; CHECK-NEXT: %call_0 = call double @cosh(double %value)
6868
; CHECK-NEXT: br label %[[END_LABEL]]
6969
; CHECK: [[END_LABEL]]:
7070

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")
7474
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
7575
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
7676
; CHECK: [[CALL_LABEL]]:
7777
; CHECK-NEXT: %call_1 = call double @exp(double %value)
7878
; CHECK-NEXT: br label %[[END_LABEL]]
7979
; CHECK: [[END_LABEL]]:
8080

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")
8484
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
8585
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
8686
; CHECK: [[CALL_LABEL]]:
8787
; CHECK-NEXT: %call_3 = call double @exp2(double %value)
8888
; CHECK-NEXT: br label %[[END_LABEL]]
8989
; CHECK: [[END_LABEL]]:
9090

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")
9494
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
9595
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
9696
; CHECK: [[CALL_LABEL]]:
9797
; CHECK-NEXT: %call_4 = call double @sinh(double %value)
9898
; CHECK-NEXT: br label %[[END_LABEL]]
9999
; CHECK: [[END_LABEL]]:
100100

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")
103103
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
104104
; CHECK: [[CALL_LABEL]]:
105105
; CHECK-NEXT: %call_5 = call double @expm1(double %value)
@@ -228,106 +228,106 @@ entry:
228228

229229
define void @test_domain_error_strictfp(double %value) strictfp {
230230
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")
234234
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
235235
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
236236
; CHECK: [[CALL_LABEL]]:
237237
; CHECK-NEXT: %call_00 = call double @acos(double %value)
238238
; CHECK-NEXT: br label %[[END_LABEL]]
239239
; CHECK: [[END_LABEL]]:
240240

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")
244244
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
245245
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
246246
; CHECK: [[CALL_LABEL]]:
247247
; CHECK-NEXT: %call_01 = call double @asin(double %value)
248248
; CHECK-NEXT: br label %[[END_LABEL]]
249249
; CHECK: [[END_LABEL]]:
250250

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")
254254
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
255255
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
256256
; CHECK: [[CALL_LABEL]]:
257257
; CHECK-NEXT: %call_02 = call double @cos(double %value)
258258
; CHECK-NEXT: br label %[[END_LABEL]]
259259
; CHECK: [[END_LABEL]]:
260260

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")
264264
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
265265
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
266266
; CHECK: [[CALL_LABEL]]:
267267
; CHECK-NEXT: %call_03 = call double @sin(double %value)
268268
; CHECK-NEXT: br label %[[END_LABEL]]
269269
; CHECK: [[END_LABEL]]:
270270

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")
273273
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
274274
; CHECK: [[CALL_LABEL]]:
275275
; CHECK-NEXT: %call_04 = call double @acosh(double %value)
276276
; CHECK-NEXT: br label %[[END_LABEL]]
277277
; CHECK: [[END_LABEL]]:
278278

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")
281281
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
282282
; CHECK: [[CALL_LABEL]]:
283283
; CHECK-NEXT: %call_05 = call double @sqrt(double %value)
284284
; CHECK-NEXT: br label %[[END_LABEL]]
285285
; CHECK: [[END_LABEL]]:
286286

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")
290290
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
291291
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
292292
; CHECK: [[CALL_LABEL]]:
293293
; CHECK-NEXT: %call_06 = call double @atanh(double %value)
294294
; CHECK-NEXT: br label %[[END_LABEL]]
295295
; CHECK: [[END_LABEL]]:
296296

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")
299299
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
300300
; CHECK: [[CALL_LABEL]]:
301301
; CHECK-NEXT: %call_07 = call double @log(double %value)
302302
; CHECK-NEXT: br label %[[END_LABEL]]
303303
; CHECK: [[END_LABEL]]:
304304

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")
307307
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
308308
; CHECK: [[CALL_LABEL]]:
309309
; CHECK-NEXT: %call_08 = call double @log10(double %value)
310310
; CHECK-NEXT: br label %[[END_LABEL]]
311311
; CHECK: [[END_LABEL]]:
312312

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")
315315
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
316316
; CHECK: [[CALL_LABEL]]:
317317
; CHECK-NEXT: %call_09 = call double @log2(double %value)
318318
; CHECK-NEXT: br label %[[END_LABEL]]
319319
; CHECK: [[END_LABEL]]:
320320

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")
323323
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
324324
; CHECK: [[CALL_LABEL]]:
325325
; CHECK-NEXT: %call_10 = call double @logb(double %value)
326326
; CHECK-NEXT: br label %[[END_LABEL]]
327327
; CHECK: [[END_LABEL]]:
328328

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")
331331
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
332332
; CHECK: [[CALL_LABEL]]:
333333
; CHECK-NEXT: %call_11 = call double @log1p(double %value)
@@ -399,18 +399,18 @@ define void @test_pow(i32 %int_val, double %exp) {
399399
}
400400

401401
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")
404404
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
405405
; CHECK: [[CALL_LABEL]]:
406406
; CHECK-NEXT: %call = call double @pow(double 2.500000e+00, double %exp)
407407
; CHECK-NEXT: br label %[[END_LABEL]]
408408
; CHECK: [[END_LABEL]]:
409409

410410
%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")
414414
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
415415
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
416416
; CHECK: [[CALL_LABEL]]:
@@ -420,9 +420,9 @@ define void @test_pow_strictfp(i32 %int_val, double %exp) strictfp {
420420

421421
%conv2 = trunc i32 %int_val to i8
422422
%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")
426426
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
427427
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
428428
; CHECK: [[CALL_LABEL]]:
@@ -433,9 +433,9 @@ define void @test_pow_strictfp(i32 %int_val, double %exp) strictfp {
433433

434434
%conv5 = trunc i32 %int_val to i16
435435
%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")
439439
; CHECK: [[COND:%[0-9]+]] = or i1 [[COND2]], [[COND1]]
440440
; CHECK: br i1 [[COND]], label %[[CALL_LABEL:cdce.call[0-9]*]], label %[[END_LABEL:cdce.end[0-9]*]], !prof ![[BRANCH_WEIGHT]]
441441
; CHECK: [[CALL_LABEL]]:

0 commit comments

Comments
 (0)