Skip to content

Commit 6214605

Browse files
committed
-ffp-exception-behavior=strict
1 parent 77ad097 commit 6214605

File tree

1 file changed

+15
-30
lines changed

1 file changed

+15
-30
lines changed
Lines changed: 15 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// RUN: %clang_cc1 -triple x86_64 %s -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK
2+
// RUN: %clang_cc1 -ffp-exception-behavior=strict -triple x86_64 %s -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK-STRICT
23

34
float fminf (float, float);
45
double fmin (double, double);
@@ -8,50 +9,34 @@ double fmax (double, double);
89
long double fmaxl (long double, long double);
910

1011
// CHECK: call nsz float @llvm.minnum.f32
11-
float fmin32(float a, float b) {
12+
// CHECK-STRICT: call nsz float @llvm.experimental.constrained.minnum.f32{{.*}} #2
13+
float fmin1(float a, float b) {
1214
return fminf(a, b);
1315
}
14-
// CHECK: call nsz float @llvm.minnum.f32
15-
float fmin32b(float a, float b) {
16-
return __builtin_fminf(a, b);
17-
}
1816
// CHECK: call nsz double @llvm.minnum.f64
19-
float fmin64(double a, double b) {
17+
// CHECK-STRICT: call nsz double @llvm.experimental.constrained.minnum.f64{{.*}} #2
18+
float fmin2(double a, double b) {
2019
return fmin(a, b);
2120
}
22-
// CHECK: call nsz double @llvm.minnum.f64
23-
float fmin64b(double a, double b) {
24-
return __builtin_fmin(a, b);
25-
}
2621
// CHECK: call nsz x86_fp80 @llvm.minnum.f80
27-
float fmin80(long double a, long double b) {
22+
// CHECK-STRICT: call nsz x86_fp80 @llvm.experimental.constrained.minnum.f80{{.*}} #2
23+
float fmin3(long double a, long double b) {
2824
return fminl(a, b);
2925
}
30-
// CHECK: call nsz x86_fp80 @llvm.minnum.f80
31-
float fmin80b(long double a, long double b) {
32-
return __builtin_fminl(a, b);
33-
}
3426
// CHECK: call nsz float @llvm.maxnum.f32
35-
float fmax32(float a, float b) {
27+
// CHECK-STRICT: call nsz float @llvm.experimental.constrained.maxnum.f32{{.*}} #2
28+
float fmax1(float a, float b) {
3629
return fmaxf(a, b);
3730
}
38-
// CHECK: call nsz float @llvm.maxnum.f32
39-
float fmax32b(float a, float b) {
40-
return __builtin_fmaxf(a, b);
41-
}
4231
// CHECK: call nsz double @llvm.maxnum.f64
43-
float fmax64(double a, double b) {
32+
// CHECK-STRICT: call nsz double @llvm.experimental.constrained.maxnum.f64{{.*}} #2
33+
float fmax2(double a, double b) {
4434
return fmax(a, b);
4535
}
46-
// CHECK: call nsz double @llvm.maxnum.f64
47-
float fmax64b(double a, double b) {
48-
return __builtin_fmax(a, b);
49-
}
5036
// CHECK: call nsz x86_fp80 @llvm.maxnum.f80
51-
float fmax80(long double a, long double b) {
37+
// CHECK-STRICT: call nsz x86_fp80 @llvm.experimental.constrained.maxnum.f80{{.*}} #2
38+
float fmax3(long double a, long double b) {
5239
return fmaxl(a, b);
5340
}
54-
// CHECK: call nsz x86_fp80 @llvm.maxnum.f80
55-
float fmax80b(long double a, long double b) {
56-
return __builtin_fmaxl(a, b);
57-
}
41+
42+
//CHECK-STRICT: attributes #2 = { strictfp }

0 commit comments

Comments
 (0)