================
@@ -1731,16 +1731,15 @@ long double call_copysignl(long double x, long double
y) {
float my_fmaxf(float x, float y) {
return __builtin_fmaxf(x, y);
- // CHECK: cir.func no_inline dso_local @my_fmaxf
- // CHECK: %{{.+}} = cir.fmaxnum %{{.+}}, %{{.+}} : !cir.float
+ // CIR-LABEL: my_fmaxf
+ // CIR: cir.call @fmaxf(%{{.*}}, %{{.*}}) nothrow side_effect(const) {{.*}}
: (!cir.float, !cir.float) -> !cir.float
- // LLVM: define dso_local float @my_fmaxf
- // LLVM: %{{.+}} = call float @llvm.maxnum.f32(float %{{.+}}, float
%{{.+}})
- // LLVM: }
+ // LLVM-LABEL: @my_fmaxf
+ // LLVM: call float @fmaxf(float %{{.*}}, float %{{.*}})
- // OGCG: define{{.*}}@my_fmaxf(
- // OGCG: call float @llvm.maxnum.f32(
-}
+ // OGCG-LABEL: @my_fmaxf
+ // OGCG: call float @llvm.maxnum.f32(float %{{.*}}, float %{{.*}})
----------------
erichkeane wrote:
For me, THIS is the only line that fails (presumably the above is just
cleanup?):
```
# |
/local/home/ekeane/llvm-project/clang/test/CIR/CodeGen/builtin-floating-point.c:1742:11:
error: OGCG: expected string not found in input
# | // OGCG: call float @llvm.maxnum.f32(
```
Best I can tell is the correct matching line is:
```
%2 = call nsz float @llvm.maxnum.f32(float %0, float %1)
```
So I guess I don't see how this fix would work? Looks like the OGCG (classic
codegen) has added some return attributes.
https://github.com/llvm/llvm-project/pull/180956
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits