http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53640
Bug #: 53640
Summary: Missed cmove with stores
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: tree-optimization
AssignedTo: [email protected]
ReportedBy: [email protected]
Take:
int f(int a, int *b)
{
if (a >= 2)
*b = 1;
else
*b = 0;
return *b;
}
int f1(int a, int *b)
{
int t;
if (a >= 2)
t = 1;
else
t = 0;
*b = t;
return *b;
}
---- CUT ----
Both of these are the same. f1 will produce better code.