https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67028
Bug ID: 67028
Summary: combine bug. Different assumptions about subreg in
different places.
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: renlin at gcc dot gnu.org
Target Milestone: ---
Created attachment 36067
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36067&action=edit
test case
This is a combine bug manifest on arm target. A test case is attached.
The expected output of the test case should be:
checksum = 1
However, with the following command line:
arm-none-eabi-gcc -march=armv7-a -O3 test.c -specs=rdimon.specs -o a.out
the output is:
checksum = 0
It generates wrong code when the optimization level is: -O2, -O3, -Os
-O0, -O1 works fine.