Hi Laurent, I think it is actually a quite interesting point. I checked how the LLVM cross-compiler for SPAC handles this and it actually does it differently from GCC. ---> LLVM does not cast in the caller function, just in the callee. <--- Surely avoiding that in GCC would improve code size but I'm not sure if there is an option for that. Now, I'm also wondering if this is because both compilers use different calling conventions? is this standarized somewhere? why such difference? Regards, George