craig.topper added a comment. In D112398#3087183 <https://reviews.llvm.org/D112398#3087183>, @frasercrmck wrote:
> It looks as though all checks are checking the same thing? Presumably this is > expected? I wonder if allowing an extra combined check > (`--check-prefixes=CHECK,CHECK-ZFH-ILP32F` or something) would make it more > obvious when things *are* different between the different configs. > > I'm not familiar with how `Float16` is supposed to behave if the target > doesn't advertise support `zfh`, but I come more from OpenCL where it's > either fully supported or "storage-only", in which case I wouldn't expect a > `fadd` to get past the frontend (or maybe it'd enforce promotion to > `float`?). This isn't necessarily a blocker - I'm just showing the limits of > my knowledge in this area. If I remember correctly, the frontend doesn't know if the backend has support for half. It only has a single flag to say whether Float16 should be a valid type. I believe on AArch64 gcc does promote it in the frontend when there are no native instructions. clang does not. The effect of this is that clang rounds a lot more often than gcc when half isn't supported. gcc will promote an entire expression an only round at places like assignment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112398/new/ https://reviews.llvm.org/D112398 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits