http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54295
Bug #: 54295
Summary: [4.7 regression] Widening multiply-accumulate
operation uses wrong value extension
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: [email protected]
ReportedBy: [email protected]
Target: arm aarch64
A widening multiply-accumulate operation can generate an incorrect result if
there are casts in expression.
Compile the attached test-case on ARM at -O2, the result is:
$./a.out
<aborted>
Correct result, as seen at -O1 is
$./a.out
$