[Bug target/18154] New: Inefficient max/min code for PowerPC
dje at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Tue Oct 26 04:18:00 GMT 2004
int min(int a, int b) {
if (a < b)
return a;
else
return b;
}
should produce
rlwinm r2,r3,1,31,31
subfc r0,r4,r3
rlwinm r0,r4,1,31,31
subfe r0,r2,r0
andc r2,r4,r0
and r0,r3,r0
or r3,r0,r2
blr
but instead produces a branch sequence
mr r0,r3
mr r3,r4
cmpw cr7,r0,r4
bgelr- cr7
mr r3,r0
blr
with unnecessary dependencies.
--
Summary: Inefficient max/min code for PowerPC
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Keywords: missed-optimization
Severity: enhancement
Priority: P2
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dje at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: *-*-*
GCC host triplet: powerpc-*-*
GCC target triplet: *-*-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18154
More information about the Gcc-bugs
mailing list