x86_64 - inconsistent choice of parameter passing method for 16 byte struct

Paul Schlie schlie@comcast.net
Sat Jan 22 01:54:00 GMT 2005


re: http://gcc.gnu.org/ml/gcc/2005-01/msg01221.html

Suspect you should enter a bug/pr, as there would seem to be no
justifiable reason to not treat both equivalently for a target on
which both short and int may accommodate a 16-bit wide bit-field,
as both should pack equivalently.

The problem may related to bit-fields not being classified as a
function of their declared width properly; as a signed x:3 shouldn't
mean int, but mean 3-bit SIGNED INTEGER; although may itself need to
be promoted to the minimally sized compatible INTEGER type when it's
rvalue is referenced, but not wider unless required for other reasons.

(in your example, all would seem to be strictly compatible with a short)




More information about the Gcc mailing list