In these cases, both parameters and return values are passed as a pointer to a stack allocation.
MSVC doesn't use the f80 data type at all, while it is used for long doubles on mingw.
The CCIfNotSubtarget part feels rather unclean, is there any other way to match this earlier and have it stop matching, to trigger the same behaviour as if there was no match?
This is an alternative to D44582, fixing the same issue.