It appears that some critical expression attributes are lost when memory reference expressions are converted to rtl BLKmode operands typically used in (set BLK BLK) operations for example.
This bug prevents volatile and read-only BLKmode memory reference operands from being treatedf properly as may be required, while these memory reference properties seem properly retained in all other circimstances? In particular the lost of this information assocaited with BLKmode mov-mem operands inhibits the simple optional allocation of read-only data to program-rom, which may then be properly identified by it's MEM_READONLY_P property, enabing specilized instructions to to used to access it. -- Summary: MEM_READONLY_P & MEM_VOLATILE_P properties are lost on BLKmode rtl operands. Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: schlie at comcast dot net CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: ppc-apple-darwin7.8 GCC host triplet: ppc-apple-darwin7.8 GCC target triplet: avr-unknown-none http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20355