@@ -89,59 +89,17 @@ float fp_contract_6(float a, float b, float c) {
8989
9090
9191#pragma clang fp contract(fast)
92- float fp_contract_7 (float a, float b, float c ) {
92+ float fp_contract_7 (float a) {
9393// COMMON: _Z13fp_contract_7f
9494// CHECK: tail call contract float @llvm.sqrt.f32(float %a)
95- // CHECK: tail call contract float @llvm.ceil.f32(float %a)
96- // CHECK: tail call contract float @llvm.sin.f32(float %a)
97- // CHECK: tail call contract float @llvm.pow.f32(float %a, float %b)
98- // CHECK: tail call contract float @llvm.exp.f32(float %a)
99- // CHECK: tail call contract float @llvm.fma.f32(float %a, float %b, float %c)
100- // CHECK: tail call contract float @llvm.nearbyint.f32(float %a)
101- // CHECK: tail call contract float @llvm.log2.f32(float %a)
10295// STRICT: tail call contract float @llvm.experimental.constrained.sqrt.f32(float %a, metadata !"round.tonearest", metadata !"fpexcept.strict")
103- // STRICT: tail call contract float @llvm.experimental.constrained.ceil.f32(float %a, metadata !"fpexcept.strict")
104- // STRICT: tail call contract float @llvm.experimental.constrained.sin.f32(float %a, metadata !"round.tonearest", metadata !"fpexcept.strict")
105- // STRICT: tail call contract float @llvm.experimental.constrained.pow.f32(float %a, float %b, metadata !"round.tonearest", metadata !"fpexcept.strict")
106- // STRICT: tail call contract float @llvm.experimental.constrained.exp.f32(float %a, metadata !"round.tonearest", metadata !"fpexcept.strict")
107- // STRICT: tail call contract float @llvm.experimental.constrained.fma.f32(float %a, float %b, float %c, metadata !"round.tonearest", metadata !"fpexcept.strict")
108- // STRICT: tail call contract float @llvm.experimental.constrained.nearbyint.f32(float %a, metadata !"round.tonearest", metadata !"fpexcept.strict")
109- // STRICT: tail call contract float @llvm.experimental.constrained.log2.f32(float %a, metadata !"round.tonearest", metadata !"fpexcept.strict")
110- return __builtin_sqrtf (a) +
111- __builtin_elementwise_ceil (a) +
112- __builtin_elementwise_sin (a) +
113- __builtin_elementwise_pow (a, b) +
114- __builtin_elementwise_exp (a) +
115- __builtin_elementwise_fma (a, b, c) +
116- __builtin_elementwise_nearbyint (a) +
117- __builtin_elementwise_log2 (a);
96+ return __builtin_sqrtf (a);
11897}
11998
120- float fp_contract_8 (float a, float b, float c ) {
99+ float fp_contract_8 (float a) {
121100// COMMON: _Z13fp_contract_8f
122101// CHECK: tail call float @llvm.sqrt.f32(float %a)
123- // CHECK: tail call float @llvm.ceil.f32(float %a)
124- // CHECK: tail call float @llvm.sin.f32(float %a)
125- // CHECK: tail call float @llvm.pow.f32(float %a, float %b)
126- // CHECK: tail call float @llvm.exp.f32(float %a)
127- // CHECK: tail call float @llvm.fma.f32(float %a, float %b, float %c)
128- // CHECK: tail call float @llvm.nearbyint.f32(float %a)
129- // CHECK: tail call float @llvm.log2.f32(float %a)
130102// STRICT: tail call float @llvm.experimental.constrained.sqrt.f32(float %a, metadata !"round.tonearest", metadata !"fpexcept.strict")
131- // STRICT: tail call float @llvm.experimental.constrained.ceil.f32(float %a, metadata !"fpexcept.strict")
132- // STRICT: tail call float @llvm.experimental.constrained.sin.f32(float %a, metadata !"round.tonearest", metadata !"fpexcept.strict")
133- // STRICT: tail call float @llvm.experimental.constrained.pow.f32(float %a, float %b, metadata !"round.tonearest", metadata !"fpexcept.strict")
134- // STRICT: tail call float @llvm.experimental.constrained.exp.f32(float %a, metadata !"round.tonearest", metadata !"fpexcept.strict")
135- // STRICT: tail call float @llvm.experimental.constrained.fma.f32(float %a, float %b, float %c, metadata !"round.tonearest", metadata !"fpexcept.strict")
136- // STRICT: tail call float @llvm.experimental.constrained.nearbyint.f32(float %a, metadata !"round.tonearest", metadata !"fpexcept.strict")
137- // STRICT: tail call float @llvm.experimental.constrained.log2.f32(float %a, metadata !"round.tonearest", metadata !"fpexcept.strict")
138- #pragma clang fp contract(off)
139- return __builtin_sqrtf (a) +
140- __builtin_elementwise_ceil (a) +
141- __builtin_elementwise_sin (a) +
142- __builtin_elementwise_pow (a, b) +
143- __builtin_elementwise_exp (a) +
144- __builtin_elementwise_fma (a, b, c) +
145- __builtin_elementwise_nearbyint (a) +
146- __builtin_elementwise_log2 (a);
103+ #pragma clang fp contract(off)
104+ return __builtin_sqrtf (a);
147105}
0 commit comments