[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-17 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #48 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2012-08-17 19:59:51 UTC --- Author: hjl Date: Fri Aug 17 19:59:46 2012 New Revision: 190492 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190492 Log: Define

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-17 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|NEW |RESOLVED

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-17 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|NEW |RESOLVED

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #38 from Richard Guenther rguenth at gcc dot gnu.org 2012-08-15 08:57:51 UTC --- What are the code generation deficiencies you are targeting with this? For testcase #1 I get sptr_result: .LFB0: .cfi_startproc movq

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-15 Thread chip at pobox dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #39 from Chip Salzenberg chip at pobox dot com 2012-08-15 09:13:36 UTC --- avoiding BLKmode avoids unnecessary spills to memory. See Bug 28831 and Bug 41194 for examples.

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-15 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #40 from rguenther at suse dot de rguenther at suse dot de 2012-08-15 09:29:02 UTC --- On Wed, 15 Aug 2012, chip at pobox dot com wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #39 from Chip Salzenberg chip

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-15 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #41 from Gary Funck gary at intrepid dot com 2012-08-15 13:47:37 UTC --- (In reply to comment #38) What are the code generation deficiencies you are targeting with this? For testcase #1 I get sptr_result: .LFB0:

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-15 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #42 from H.J. Lu hjl.tools at gmail dot com 2012-08-15 13:58:16 UTC --- (In reply to comment #37) (In reply to comment #36) (In reply to comment #35) Note that for the test case in comment #34 (and comment #9) to fail that

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-15 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #43 from H.J. Lu hjl.tools at gmail dot com 2012-08-15 14:21:05 UTC --- The problem is we return a TI union in XF register because the x86-64 psABI.

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-15 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #44 from Gary Funck gary at intrepid dot com 2012-08-15 14:45:42 UTC --- (In reply to comment #43) The problem is we return a TI union in XF register because the x86-64 psABI. Is this the same problem documented in comment #9? The

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-15 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #46 from H.J. Lu hjl.tools at gmail dot com 2012-08-15 16:01:15 UTC --- (In reply to comment #45) Changing this is generally very risky for ABI incompatibilities, many targets base some of the decisions how to pass parameters or

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-15 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #47 from H.J. Lu hjl.tools at gmail dot com 2012-08-16 00:00:25 UTC --- Created attachment 28028 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28028 A patch Here is a patch which should be applied on top of

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-14 Thread chip at pobox dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #31 from Chip Salzenberg chip at pobox dot com 2012-08-14 22:46:12 UTC --- I've tested the attached patch, and I find that it succeeds in preventing the current missed optimizations in structs passed by value from affecting 128-bit

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-14 Thread chip at pobox dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #32 from Chip Salzenberg chip at pobox dot com 2012-08-14 23:09:01 UTC --- More good data: this patch reduces the size of libstdc++.so by .5% $ size usr/lib/libstdc++.so.6.0.17 /usr/lib/libstdc++.so.6.0.17 textdata bss

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-14 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #33 from H.J. Lu hjl.tools at gmail dot com 2012-08-14 23:43:24 UTC --- We must make sure that --- union S160 { long double a; }; extern union S160 check160 (void); extern void checkx160 (union S160); void test160 (void) {

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-14 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #34 from Gary Funck gary at intrepid dot com 2012-08-14 23:55:57 UTC --- (In reply to comment #33) We must make sure that --- union S160 { long double a; }; extern union S160 check160 (void); extern void checkx160 (union

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-14 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #35 from Gary Funck gary at intrepid dot com 2012-08-15 00:00:43 UTC --- Note that for the test case in comment #34 (and comment #9) to fail that the MAX_FIXED_MODE_SIZE patch has to be applied, and likely GCC internal checking has to

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-14 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #36 from H.J. Lu hjl.tools at gmail dot com 2012-08-15 01:23:54 UTC --- (In reply to comment #35) Note that for the test case in comment #34 (and comment #9) to fail that the MAX_FIXED_MODE_SIZE patch has to be applied, and likely

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-14 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #37 from Gary Funck gary at intrepid dot com 2012-08-15 03:34:55 UTC --- (In reply to comment #36) (In reply to comment #35) Note that for the test case in comment #34 (and comment #9) to fail that the MAX_FIXED_MODE_SIZE patch

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-13 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #30 from Gary Funck gary at intrepid dot com 2012-08-14 04:24:54 UTC --- Patch posted: http://gcc.gnu.org/ml/gcc-patches/2012-08/msg00839.html

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #16 from Gary Funck gary at intrepid dot com 2012-08-12 18:08:05 UTC --- Created attachment 27995 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=27995 test case #1 - struct targeted to TImode

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #17 from Gary Funck gary at intrepid dot com 2012-08-12 18:11:25 UTC --- Created attachment 27996 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=27996 test case #2 - struct targeted to TImode

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #18 from Gary Funck gary at intrepid dot com 2012-08-12 18:17:19 UTC --- Created attachment 27997 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=27997 test case #3 - struct targeted to TImode

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #19 from Gary Funck gary at intrepid dot com 2012-08-12 18:30:25 UTC --- (In reply to comment #15) Do we have a run-time testcase? I attached three compile-time test cases that check if the generated RTL refers to TImode values.

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #20 from H.J. Lu hjl.tools at gmail dot com 2012-08-12 19:50:08 UTC --- (In reply to comment #19) (In reply to comment #15) Do we have a run-time testcase? I attached three compile-time test cases that check if the generated RTL

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #21 from Gary Funck gary at intrepid dot com 2012-08-12 21:24:40 UTC --- (In reply to comment #20) X86 doesn't support __int128 and requires SSE for TImode. We may need to limit those testcases for int128 target. OK, I'll add: /*

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 Gary Funck gary at intrepid dot com changed: What|Removed |Added Attachment #27995|0 |1 is

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 Gary Funck gary at intrepid dot com changed: What|Removed |Added Attachment #27996|0 |1 is

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 Gary Funck gary at intrepid dot com changed: What|Removed |Added Attachment #27997|0 |1 is

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #25 from Gary Funck gary at intrepid dot com 2012-08-12 22:08:50 UTC --- (In reply to comment #20) X86 doesn't support __int128 and requires SSE for TImode. We may need to limit those testcases for int128 target. If targeting

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #26 from Gary Funck gary at intrepid dot com 2012-08-12 22:14:56 UTC --- Typo fixed below: #define MAX_FIXED_MODE_SIZE targetm.scalar_mode_supported_p (TImode) ? TImode : DImode

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added CC||ubizjak at gmail dot

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #28 from Gary Funck gary at intrepid dot com 2012-08-12 22:43:16 UTC --- (In reply to comment #27) Please try this patch: diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index c4d85b7..6c4c2ce 100644 ---

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-12 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #29 from H.J. Lu hjl.tools at gmail dot com 2012-08-13 02:17:28 UTC --- (In reply to comment #28) (In reply to comment #27) Please try this patch: diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-11 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #15 from H.J. Lu hjl.tools at gmail dot com 2012-08-11 14:37:30 UTC --- Do we have a run-time testcase?

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-10 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #14 from Gary Funck gary at intrepid dot com 2012-08-11 03:22:34 UTC --- (In reply to comment #13) Is this bug obsolete now? Comment #7 (2005-06-25) states that this is a valid bug, and near as I can tell the current compiler still

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2012-08-06 Thread chip at pobox dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 Chip Salzenberg chip at pobox dot com changed: What|Removed |Added CC||chip at pobox dot

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2011-07-09 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #12 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-09 10:27:42 UTC --- Since the PR was opened, a new usage of MAX_FIXED_MODE_SIZE has been introduced: 2006-11-18 John David Anglin dave.ang...@nrc-cnrc.gc.ca PR

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2011-07-08 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #9 from Gary Funck gary at intrepid dot com 2011-07-08 16:20:50 UTC --- This note is both a ping for this rather old bug report, as well as a follow up with some additional information. For the ping side of things, we have been

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2011-07-08 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #10 from Gary Funck gary at intrepid dot com 2011-07-08 16:58:55 UTC --- Note: I don't know how this fix fits in with the x86_64 ABI, and obviously once this fix is in place, the binary call interface will change for 128 bit

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2011-07-08 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 --- Comment #11 from Gary Funck gary at intrepid dot com 2011-07-08 17:20:32 UTC --- (In reply to comment #10) Note: I don't know how this fix fits in with the x86_64 ABI, and obviously once this fix is in place, the binary call interface

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2008-08-03 Thread ubizjak at gmail dot com
--- Comment #8 from ubizjak at gmail dot com 2008-08-03 17:44 --- CCing HJ for ABI issue. -- ubizjak at gmail dot com changed: What|Removed |Added CC|

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2005-06-25 Thread steven at gcc dot gnu dot org
--- Additional Comments From steven at gcc dot gnu dot org 2005-06-25 11:56 --- So it's agreed this is a valid bug... Now, what are we going to do about it? -- What|Removed |Added

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2005-05-22 Thread pinskia at gcc dot gnu dot org
-- What|Removed |Added GCC host triplet|x86_64-unknown-linux-gnu| GCC target triplet||x86_64-unknown-linux-gnu

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2005-02-17 Thread matz at suse dot de
-- What|Removed |Added CC||matz at suse dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2005-02-17 Thread gary at intrepid dot com
--- Additional Comments From gary at intrepid dot com 2005-02-17 19:35 --- The MAX_FIXED_REC_SIZE defintion is a relatively recent addition to config/rs6000.h (and from a quick review of the cvs log, it seems that this change hasn't yet been incorporated into a release.) Just fyi.

Re: [Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2005-02-17 Thread Andrew Pinski
On Feb 17, 2005, at 2:35 PM, gary at intrepid dot com wrote: The MAX_FIXED_REC_SIZE defintion is a relatively recent addition to config/rs6000.h (and from a quick review of the cvs log, it seems that this change hasn't yet been incorporated into a release.) Just fyi. Yes so, just a note the patch

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2005-02-17 Thread pinskia at physics dot uc dot edu
--- Additional Comments From pinskia at physics dot uc dot edu 2005-02-17 20:05 --- Subject: Re: x86_64 - 128 bit structs not targeted to TImode On Feb 17, 2005, at 2:35 PM, gary at intrepid dot com wrote: The MAX_FIXED_REC_SIZE defintion is a relatively recent addition to

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2005-02-17 Thread gary at intrepid dot com
--- Additional Comments From gary at intrepid dot com 2005-02-17 21:41 --- Also note MAX_FIXED_MODE_SIZE was changed on rs6000 for a reason and not for an optimization issue. Based on my interpretaion of the procedure call ABI, both this problem and a related Bug #19566

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2005-02-17 Thread matz at suse dot de
--- Additional Comments From matz at suse dot de 2005-02-17 22:06 --- I think that #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, only how such struct is handled by transforming code.

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2005-02-17 Thread gary at intrepid dot com
--- 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

[Bug target/20020] x86_64 - 128 bit structs not targeted to TImode

2005-02-16 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-17 04:02 --- You missed another important 64 bit target PPC (aka rs6000): #define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (TARGET_POWERPC64 ? TImode : DImode) But note: MAX_FIXED_MODE_SIZE should be deprecated. About