--- Comment #1 from wiml at dot org 2009-08-10 05:18 ---
Workaround notes:
Changing the structure assignment to multiple assignments, one for each field,
produces noticeably better code; and changing the argument list to pass the
structure fields individually produces code that loo
--- Comment #4 from kkojima at gcc dot gnu dot org 2009-08-10 05:08 ---
Ah, I see. Could you please send that patch to libc list?
I'll fix gcc/longlong.h on gcc trunk and 4.4 branch after
the usual tests.
--
kkojima at gcc dot gnu dot org changed:
What|Removed
--- Comment #3 from sugioka at itonet dot co dot jp 2009-08-10 04:47
---
I found that there is a copy of longlong.h in glibc/stdlib.
After fixing it, it worked.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41015
A simple function to store a small struct ends up writing the struct to
memory twice unnecessarily (plus writing it for real the third time).
The function's args are passed in r0-r3 (with r1-r3 being the struct).
It compiles to a sequence containing the following loads and stores,
among others:
--- Comment #2 from kkojima at gcc dot gnu dot org 2009-08-09 22:44 ---
I've confirmed that 4.5 has the same problem and 4.3 doesn't.
> In this code, "tst r9,r9" is moved to wrong place as if
> "t" bit is not clobbered in __udiv_qrnnd_16.
>
> I guessed that missing "t" bit constraint i
--- Comment #2 from davek at gcc dot gnu dot org 2009-08-09 22:03 ---
Still present, although the location has slipped slightly for the warnings on
the function declarations with no body.
$ g++ -S vis.cpp -o vis.asm
vis.cpp: In function 'int foo(int)':
vis.cpp:11: warning: visibility at
--- Comment #5 from rguenth at gcc dot gnu dot org 2009-08-09 21:39 ---
Fixed.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
Status|ASSIGNED
--- Comment #4 from rguenth at gcc dot gnu dot org 2009-08-09 21:39 ---
Subject: Bug 41016
Author: rguenth
Date: Sun Aug 9 21:39:19 2009
New Revision: 150598
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150598
Log:
2009-08-09 Richard Guenther
PR tree-optimization/
--- Comment #1 from davek at gcc dot gnu dot org 2009-08-09 21:31 ---
(In reply to comment #0)
> $ g++-4 -v
Yuck, that got horribly wrapped. Here it is again, hopefully formatted a
little better this time:
Using built-in specs.
Target: i686-pc-cygwin
Configured with: /gnu/gcc/gcc-pa
Attempting to declare a previously-declared extern "C" function as a friend
within a class definition fails with an error that the friend declaration
ambiguates the original extern "C" declaration. It appears that the friend
declaration is taken as an overload with "C++" linkage, since G++ then
co
--- Comment #4 from mikulas at artax dot karlin dot mff dot cuni dot cz
2009-08-09 21:16 ---
Regparm changed between gcc 3.x -> 4.x (I remember it too painfully, I had to
rewrite some assembler files). In 3.x, all arguments were incrementing register
count, even if they were on stack, i
--- Comment #3 from m_albert137 at yahoo dot com 2009-08-09 21:09 ---
Created an attachment (id=18334)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18334&action=view)
"savetemps" file from "g++ -O3 -v --save-temps t.cpp"
The savetemps file.
--
http://gcc.gnu.org/bugzilla/sh
--- Comment #2 from m_albert137 at yahoo dot com 2009-08-09 21:05 ---
Created an attachment (id=18333)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18333&action=view)
Configuration information from "g++ -O3 -v --save-temps t.cpp"
Config information from "-v" compilation.
--
--- Comment #1 from m_albert137 at yahoo dot com 2009-08-09 21:02 ---
Created an attachment (id=18332)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18332&action=view)
Example code
When compiled below -O3 (e.g., -O2), this code gives:
0 -0.29321891723895837645
1 0.2531608189579668
The attached code, we compiled with "-O3", gives an incorrect sequence (and
different from the sequence without optimization or -O1 or -O2).
This problem was discovered due to incorrect statistical behavior of a Monte
Carlo calculation (not attached).
--
Summary: Variate_generator wi
--- Comment #3 from rguenth at gcc dot gnu dot org 2009-08-09 20:10 ---
Subject: Bug 41016
Author: rguenth
Date: Sun Aug 9 20:10:41 2009
New Revision: 150595
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150595
Log:
2009-08-09 Richard Guenther
PR tree-optimization/
--- Comment #3 from rguenth at gcc dot gnu dot org 2009-08-09 19:13 ---
Btw, the documentation claims regparm only affects integral parameters.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41017
--- Comment #2 from rguenth at gcc dot gnu dot org 2009-08-09 19:10 ---
Can you check if regparm(3) behavior ever changed during the gcc releases?
> Hardly anyone deliberately designed it this way. Gcc internals are exposed to
> the ABI!
well, regparm(n) is certainly out of the psABI a
--
andreast at gcc dot gnu dot org changed:
What|Removed |Added
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last r
This patch: http://gcc.gnu.org/ml/gcc-cvs/2008-10/msg00471.html
broke bootstrap on powerpc targets which do not include svr4.h.
SVR4_ASM_SPEC is never defined.
This patch restores bootstrap, tested on 4.4 branch and head.
http://gcc.gnu.org/ml/gcc-patches/2009-06/msg00421.html
Approval for this
--- Comment #1 from mikulas at artax dot karlin dot mff dot cuni dot cz
2009-08-09 18:40 ---
Created an attachment (id=18331)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18331&action=view)
a proposed patch. Fixed bug 41013 as well.
Change it so that all the aggregate types take
regparm=3 passes structures in registers if they fit there. There is
inconsistency in this rule, if structure contains only float or only double
type, it is passed on the stack.
Example:
__attribute__((regparm(3))) void function(struct s s);
now, the argument passing varies wildly depending on t
--- Comment #2 from rguenth at gcc dot gnu dot org 2009-08-09 17:47 ---
A tuplification bug.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41016
--- Comment #1 from rguenth at gcc dot gnu dot org 2009-08-09 17:37 ---
Confirmed. We build a integer constant of floating-point type. From
tree-ifcombine, thus, mine.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
---
The following code ICEs with -O1 on gcc-4.4:
typedef struct _IO_FILE FILE;
void
CompareRNAStructures (FILE * ofp, int start, int L, char *ss_true, char *ss)
{
int i;
float agree = 0.;
float pairs = 0.;
float pairs_true = 0.;
for (i = 0; i < L; i++)
{
pairs_true += 1.;
agr
--- Comment #1 from rguenth at gcc dot gnu dot org 2009-08-09 16:38 ---
Patches to gcc should be sent to gcc-patches with a ChangeLog entry following
existing practice and a note on how you tested the patch. Note there is a
different upstream for libffi somewhere at sourceforge.
--
--- Comment #6 from pinskia at gcc dot gnu dot org 2009-08-09 16:35 ---
>The build-triplet is the
most confusing one and I would remove it retaining the host and target
fields (with proper descriptions).
Except sometimes that information is needed if doing a canadian cross so I
would re
--- Comment #1 from sugioka at itonet dot co dot jp 2009-08-09 16:28
---
Created an attachment (id=18330)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18330&action=view)
preprocessed source
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41015
glibc-2.10.1 is not correctly compiled with gcc-4.4.1 for sh4-linux.
I attached preproccessed code.
Reproduce: sh4-linux-gcc -O2 -fPIC -S strtod_l.i
Wrong part is as follows.
.L453:
mov #64,r13
tst r9,r9 !!
add r14,r13
mov.l @(4,r13),r0
#APP
This patch fixes the libffi.call/err_bad_abi.c expected test failures, The bug
seems to be that various that bad ABI numbers, as used by err_bad_abi.c,
generate assertion failures instead of returning FFI_BAD_ABI. If the test is
correct then this if the wrong thing. The only unaffected architecture
--- Comment #1 from mikulas at artax dot karlin dot mff dot cuni dot cz
2009-08-09 13:39 ---
"an argument that has integer type" should really be "an argument that has
integer or pointer type" ... pointers are passed in registers too. Anything
else isn't, I think.
--
http://gcc.gnu
In Windows, fastcall calling convention is implemented in the following way:
* an argument that has integer type with size less-or-equal than 4 bytes is
eligible for fastcall
* the first argument that is eligible for fastcall is passed in ECX
* the second argument that is eligible for fastcall is p
--- Comment #3 from fxcoudert at gcc dot gnu dot org 2009-08-09 13:25
---
Fixed on trunk.
--
fxcoudert at gcc dot gnu dot org changed:
What|Removed |Added
St
--- Comment #3 from irar at il dot ibm dot com 2009-08-09 12:15 ---
Fixed.
--
irar at il dot ibm dot com changed:
What|Removed |Added
Status|UNCONFIRMED
--- Comment #2 from irar at gcc dot gnu dot org 2009-08-09 12:13 ---
Subject: Bug 41008
Author: irar
Date: Sun Aug 9 12:13:19 2009
New Revision: 150591
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150591
Log:
PR tree-optimization/41008
* tree-vect-loop.c (vec
--- Comment #5 from rguenth at gcc dot gnu dot org 2009-08-09 12:08 ---
IMHO all fields on http://gcc.gnu.org/bugzilla/enter_bug.cgi need a link to
documentation just like some already have. We can't expect people to guess
what to put there.
The alternative is to remove some of the fie
--- Comment #2 from fxcoudert at gcc dot gnu dot org 2009-08-09 11:02
---
Subject: Bug 40549
Author: fxcoudert
Date: Sun Aug 9 11:02:08 2009
New Revision: 150590
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150590
Log:
PR libfortran/40549
* Makefile.in (LTLDF
--- Comment #5 from burnus at gcc dot gnu dot org 2009-08-09 08:40 ---
FIXED on the trunk (4.5).
--
burnus at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #4 from burnus at gcc dot gnu dot org 2009-08-09 08:36 ---
Subject: Bug 40955
Author: burnus
Date: Sun Aug 9 08:35:36 2009
New Revision: 150589
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150589
Log:
2009-08-05 Tobias Burnus
PR fortran/40955
*
39 matches
Mail list logo