--- Comment #11 from segher at kernel dot crashing dot org 2010-05-29
00:34 ---
(In reply to comment #5)
Can you recommend an elegant way to rewrite this code to avoid the warning?
static inline void
foo(int *p)
{
if ((uintptr_t)p - (uintptr_t)(a + 1) sizeof a - sizeof a[0
--- Comment #14 from segher at kernel dot crashing dot org 2010-05-26
16:46 ---
(In reply to comment #13)
Please see -mcpu= .
Almost forgot, but how do I specify that at gcc build/configure ?
You can configure with --with-cpu= to set a default for -mcpu= .
Also, I haven't seen
--- Comment #7 from segher at kernel dot crashing dot org 2010-01-05 15:57
---
With -fno-signed-zeroes, a-b*c is transformed to -(b*c-a), which is a machine
instruction. If the result would have been +0 before, it now is -0.
The code then takes the sqrt() of that; sqrt(-0) is -0
--- Comment #8 from segher at kernel dot crashing dot org 2010-01-05 16:00
---
(In reply to comment #6)
IIRC the problem is that using fma causes the -0 argument for fsqrt (which
behaves 100% correct). Thus a more sensible fix would be to do the 0+ on
the fma result.
But a -0
--- Comment #10 from segher at kernel dot crashing dot org 2010-01-05
16:42 ---
(In reply to comment #9)
Right. Just it might be simpler with -fno-signed-zeros to
transform a-b*c to 0 + -(b*c-a).
a-b*c is two machine instructions; -(b*c-a) is one. Adding
zero again makes it two
: unassigned at gcc dot gnu dot org
ReportedBy: segher at kernel dot crashing dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41893
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: segher at kernel dot crashing dot org
GCC target triplet: powerpc-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41741
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: segher at kernel dot crashing dot org
GCC target triplet: powerpc-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41742
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: segher at kernel dot crashing dot org
GCC target triplet: powerpc-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi
--- Comment #8 from segher at kernel dot crashing dot org 2009-04-19 19:39
---
Added:
branches/gcc-4_4-branch/gcc/testsuite/gcc.target/i386/pr39804.c
Hi hjl,
Why backport a single testcase from trunk to 4.4? This bug never existed
on 4.4, it's not terribly useful as far as I
ReportedBy: segher at kernel dot crashing dot org
GCC host triplet: x86_64-linux
GCC target triplet: i386-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39804
--- Comment #1 from segher at kernel dot crashing dot org 2009-04-18 09:53
---
Created an attachment (id=17653)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17653action=view)
testcase, not minimised
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39804
at gcc dot gnu dot org
ReportedBy: segher at kernel dot crashing dot org
GCC host triplet: x86_64-linux
GCC target triplet: cris-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39765
--- Comment #1 from segher at kernel dot crashing dot org 2009-04-14 15:30
---
Created an attachment (id=17634)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17634action=view)
testcase, not minimised
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39765
: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: segher at kernel dot crashing dot org
GCC host triplet: x86_64-linux
GCC target triplet: h8300-elf
http
--- Comment #1 from segher at kernel dot crashing dot org 2009-04-14 15:50
---
Created an attachment (id=17635)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17635action=view)
testcase, not minimised
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39766
, at
rtl.h:1005
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: segher at kernel dot crashing dot org
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: segher at kernel dot crashing dot org
GCC host triplet: x86_64-linux
GCC target triplet: bfin-uclinux
http://gcc.gnu.org
--- Comment #1 from segher at kernel dot crashing dot org 2009-04-14 16:15
---
Created an attachment (id=17636)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17636action=view)
testcase, not minimised
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39768
--- Comment #3 from segher at kernel dot crashing dot org 2008-02-26 16:16
---
Not equivalent in the presence of overflow.
You mean defined overflow :).
No, I mean overflow.
Let's assume int is 16-bit (just to keep the numbers smallish);
now take i=1, j=1000, k=1000. i/j/k
--- Comment #1 from segher at kernel dot crashing dot org 2008-02-23 19:51
---
(In reply to comment #0)
The following rule is not handled by GCC
(a x) || (a y) === a (x | y)
Perhaps that is because those two expressions aren't equivalent?
But, confirmed, assuming you meant
--- Comment #1 from segher at kernel dot crashing dot org 2008-02-23 19:57
---
Not equivalent in the presence of overflow.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35307
ReportedBy: segher at kernel dot crashing dot org
GCC target triplet: i386-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33600
--- Comment #1 from segher at kernel dot crashing dot org 2007-09-30 10:39
---
Created an attachment (id=14272)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14272action=view)
reduced testcase
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33600
--- Comment #4 from segher at kernel dot crashing dot org 2007-09-30 14:07
---
The original code is: (arch/i386/lib/usercopy.c):
/* Generic arbitrary sized copy. */
#define __copy_user(to,from,size) \
do
dot gnu dot org
ReportedBy: segher at kernel dot crashing dot org
GCC build triplet: x86_64-linux
GCC host triplet: x86_64-linux
GCC target triplet: cris-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33360
--- Comment #1 from segher at kernel dot crashing dot org 2007-09-08 23:06
---
SVN revision 128276
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33360
--- Comment #3 from segher at kernel dot crashing dot org 2007-08-18 00:12
---
(In reply to comment #1)
volatile != atomic.
And that is relevant why? Paul is perfectly aware of this, btw.
There might be other reasons why GCC doesn't want to do this
optimisation, but this isn't one
--- Comment #5 from segher at kernel dot crashing dot org 2007-08-18 00:31
---
It is still the same issue.
*** This bug has been marked as a duplicate of 3506 ***
It isn't the same issue. The submitter of #3506 claimed the code
that GCC currently generates is incorrect, which
: segher at kernel dot crashing dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33053
--- Comment #10 from segher at kernel dot crashing dot org 2007-05-18
14:57 ---
Created an attachment (id=13578)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13578action=view)
proposed patch
still need to run the testsuite on it
--
http://gcc.gnu.org/bugzilla/show_bug.cgi
--- Comment #8 from segher at kernel dot crashing dot org 2007-05-15 13:07
---
Bisecting shows that the original bug (powerpc64 Linux build
errors out) is caused by r122781. I didn't actually test on 4.2
but the same patch is applied there (as r122782).
If the reduced testcase
--- Comment #1 from segher at kernel dot crashing dot org 2006-11-12 11:10
---
Not a bug in GCC but in your code; g says immediate values
are allowed, while this asm insn only takes registers (or 16-bit
memory).
--
segher at kernel dot crashing dot org changed:
What
--- Comment #4 from segher at kernel dot crashing dot org 2006-11-12 14:01
---
If the code is invalid, the fact that it compiles with -O0 is probably a
bug...
No, GCC cannot in general detect whether your asm code is buggy.
The assembler however can detect many asm bugs, as it did
--- Comment #3 from segher at kernel dot crashing dot org 2006-09-03 20:39
---
The overwriting behaviour is required by 6.7.8/18 and 19.
A warning is certainly in order; long ago, GCC used to warn, and
bugs were caught because of that. Not anymore...
I'll see if I can do a patch
--- Comment #1 from segher at kernel dot crashing dot org 2006-03-03 16:58
---
Confirmed, bug is in combine... looking into it...
--
segher at kernel dot crashing dot org changed:
What|Removed |Added
--- Comment #4 from segher at kernel dot crashing dot org 2006-03-03 18:34
---
Not a bug at all, actually. GCC thinks it can mask out the lower few bits,
because GPR1 should
always be 16-byte aligned. And it isn't in your prom_init testing, and that's
the bug. Better
figure out how
--- Comment #3 from segher at kernel dot crashing dot org 2005-10-26 11:44
---
The (first) carriage return issue is a separate bug, though.
Please reopen?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23779
--- Additional Comments From segher at kernel dot crashing dot org
2005-09-27 16:19 ---
Looks like the issue is that lex.c:save_comment() doesn't look at line_note's.
An analogous issue happens with trigraphs.
Btw, the C standard _does_ require escaped newlines and trigrpahs
--- Additional Comments From segher at kernel dot crashing dot org
2005-04-28 15:08 ---
The C standard has this to say about line numbers, in 6.10.4/2:
The line number of the current source line is one greater than the number of
new-line characters read
or introduced in translation
Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: segher at kernel dot crashing dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: powerpc-linux
GCC host triplet: powerpc-linux
GCC target triplet: powerpc64-linux
http
--- Additional Comments From segher at kernel dot crashing dot org
2005-04-07 23:34 ---
Subject: Re: New: 64 bit shift by non-constant implemented as libcall on PPC32
(O5 will give slightly better code for both, but let's start somewhere
:P)
Well the code for the left shift can
--- Additional Comments From segher at kernel dot crashing dot org
2005-04-05 23:32 ---
Subject: Re: strict aliasing warning with float pointer pointing to int pointer
Aka this is valid and defined (even though we warn):
float a(float b)
{
int i;
*(float*)i = b;
return
--
What|Removed |Added
CC||segher at kernel dot
||crashing dot org
http://gcc.gnu.org
--
What|Removed |Added
CC||segher at kernel dot
||crashing dot org
http://gcc.gnu.org
45 matches
Mail list logo