This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
x86_64 - inconsistent choice of parameter passing method for 16byte struct
- From: Paul Schlie <schlie at comcast dot net>
- To: Gary Funck <gary at intrepid dot com>
- Cc: <gcc at gcc dot gnu dot org>
- Date: Fri, 21 Jan 2005 19:03:04 -0500
- Subject: x86_64 - inconsistent choice of parameter passing method for 16byte struct
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)