The current support will miscompile some calls passing structs/unions
by value; should we try to detect that case and output an unsupported
error?
Same as llvm-gcc. gcc semantics in this area is undocumented. I'd prefer
just to leave things as-is and wait until someone will definitely need
this feature (nobody reported a single error wrt llvm-gcc for 2 years of
regparm inside, so I think this won't cause any problems in practive).