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 test
-------------------------
void g(short);
void f(short a) {
 g(a);
}
----------------------

it avoids the extension.

Cheers,
-- 
Rafael Avila de Espindola

Google | Gordon House | Barrow Street | Dublin 4 | Ireland
Registered in Dublin, Ireland | Registration Number: 368047

Reply via email to