On x86_64 mingw, long doubles are passed as arguments and returned as if they were a struct. For normal functions, this calling convention detail is handled within clang when generating the IR. When a math function is handled as a builtin, it gets emitted as an LLVM intrinsic call, which for x86_64 mingw in most (all?) cases gets emitted as a libcall. When the libcall is lowered in llvm, the long double specifics of the calling convention aren't taken into account (since they're normally taken care of in clang).
Skip emitting intrinsics for the functions that handle long doubles for this target.
While use of long double might be quite rare in general, it's used internally in the implementation of some mingw math functions for other precisions than long double.