Re: sign/zero extension of function arguments on x86-64
I got mixed results with icc for -- short a; void g(short); void f(void) { g(a); } -- it produces a movswl. For --- void g(int); void f(short a) { g(a); } -- it produces a movswq. For the original
sign/zero extension of function arguments on x86-64
This is similar to the discussion that happened some time ago about extending return values. The decisions for that was that the callee could just leave the higher bits undefined and the caller would extent the result if it needed to. We have a similar issue with function arguments. We compile