This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode
- From: "gary at intrepid dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 Feb 2005 22:39:21 -0000
- Subject: [Bug target/20020] x86_64 - 128 bit structs not targeted to TImode
- References: <20050217033541.20020.gary@intrepid.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From gary at intrepid dot com 2005-02-17 22:39 -------
> I think that Bug #19566 is a real bug. The ABI specifies to pass 16byte
> structs in registers. Anyway MAX_FIXED_MODE_SIZE doesn't influence
> the calling convention ...
Thanks for the clarification. After re-reading classify_argument()
in config/i386/i386.c, I agree. I had thought that for all BLKmode
values that it would target the argument into memory, however, for
aggregate types (records/unions, etc) it ignores the mode and looks
at each field (per the ABI). Thus, I agree this Bug #20020 is
performance-related only, and Bug #19566 illustrates a variance from
the procedure call ABI.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020