================ @@ -1185,6 +1189,9 @@ Currently, only the following parameter attributes are defined: value should be sign-extended to the extent required by the target's ABI (which is usually 32-bits) by the caller (for a parameter) or the callee (for a return value). +``noext`` This indicates to the code generator that the parameter or return + value has the high bits undefined, as for a struct in register, and + therefore does not need to be sign or zero extended. ---------------- JonPsson1 wrote:
> * That's incorrect. Some implementation defined behavior are subject to > change, hence cannot be called an ABI. It just like we cannot assume UB code > get the same result between different compilers or from version to version. > * If other front end doesn't specific a calling convention, then it uses C > calling convention. See my previous link. Sorry, I don't follow - what part is incorrect according to you? The *target* ABI is independent of the implementation - it is how things are done on a specific platform. On some machines this type of extensions *must* be done, and this will not change. Other machines do not care about this at all. How could this become more clear in the LangRef.rst do you mean? https://github.com/llvm/llvm-project/pull/100757 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits