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: unassig...@gcc.gnu.org ReportedBy: rearn...@gcc.gnu.org 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 $