This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/29553] New: wrong-code / trivial logic misscompiled.
- From: "pluto at agmk dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Oct 2006 20:30:51 -0000
- Subject: [Bug tree-optimization/29553] New: wrong-code / trivial logic misscompiled.
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
long foo( bool flag, int __x )
{
return ( flag ? (unsigned)__x : __x ); // broken
}
long bar( bool flag, int __x )
{
if ( flag )
return (unsigned)__x;
else
return __x;
}
0000000000000000 <foo(bool, int)>:
0: 89 f0 mov %esi,%eax
2: c3 retq
0000000000000010 <bar(bool, int)>:
10: 89 f0 mov %esi,%eax
12: 40 84 ff test %dil,%dil
15: 48 63 f6 movslq %esi,%rsi
18: 48 0f 44 c6 cmove %rsi,%rax
1c: c3 retq
--
Summary: wrong-code / trivial logic misscompiled.
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pluto at agmk dot net
GCC target triplet: x86_64-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29553