I worked on adding some SelectionDag patterns to address code generated by these
examples, which came out of some differential testing against GCC. The pattern
additions will be in a follow-up patch.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
LGTM. Minor nit: using %0 and %2 as the only two named values seems odd though? Most other tests in test/CodeGen/RISCV use a/b/... for arguments and %0/%1/%2/... in the body.
Comment Actions
I generated the testcases in Clang (actually using godbolt, but it's doing the same IR lowering as clang HEAD is), which is why the arguments don't have names. I can re-introduce them if that's easier.
Comment Actions
It's not the biggest deal in the world, but the following would better match conventions elsewhere in the dir (whether those conventions are sensible or not is another discussion of course!):
define zeroext i1 @float_not_nan(float %a) nounwind { %1 = fcmp ord float %a, 0.000000e+00 ret i1 %1 }