https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443
Bug ID: 67443 Summary: DSE removes required store instruction Product: gcc Version: 5.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: krebbel at gcc dot gnu.org Target Milestone: --- Created attachment 36289 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36289&action=edit Autoreduced testcase This bug has been reported on the Debian mailing list. It occurs when building the mozilla javascript engine with GCC 5 on S/390: https://lists.debian.org/debian-s390/2015/08/msg00006.html Bisecting shows that the failure occurred after this commit: commit 90f3e775d6b7bec70e883579beb49b456c135a09 Author: wmi <wmi@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Thu Jan 22 17:59:23 2015 +0000 2015-01-22 Wei Mi <w...@google.com> PR rtl-optimization/64557 * dse.c (record_store): Call get_addr for mem_addr. (check_mem_read_rtx): Likewise. Building the attached testcase with GCC before and after the commit shows that a single stc (store character) instruction is missing after the patch. Build options: -O2 -march=z900 -fPIC -std=gnu++11