pengfei added a comment. > Do we have any builtins with the same name as gcc but different > operands/behaviours? Those are the only ones that I'd be worried about.
I think it's rare in existing intrinsics. 1) The builtins are always straightforward passed the arguments in intrinsics in the same order; 2) We do have a few that the the order between builtins and arguments is different, I checked several manually and didn't find any problem. I think it's a good question for new enabled ISAs, I will check FP16 when GCC patches landed. > Using a different name in clang for something gcc also has is kinda silly. > But I guess we’re worse at this then I thought. > > Using the same name and having different behavior should be avoided if the it > won’t give a compile error. We may diversify a few on the names with GCC in FP16, I think we can fix them once GCC landed as a nice to have. > For IFMA I think I made them commutable by swapping the operands between the > builtin and the internal intrinsic using the handling for the > X86IntrinsicTable I think this is a simply approach if we want to keep the builtin in a special C, A, B order. But I don't prefer this way because we need to swapped the order 3 times, intrinsic to builtin, builtin to SDNode, SDNode to MI. Which may result confusion for future developer. > It seems in this patch the builtins interface is aligned to intrinsics > interface. Since AVX512FP16 is pretty new, I assume nobody is using the GCC > builtin. Can we ask GCC guys change their builtin interface? I think we should make an agreement with them. Just found we are using different order on cfmul builtins already. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D109658/new/ https://reviews.llvm.org/D109658 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits