------- Comment #3 from pinskia at gcc dot gnu dot org 2010-01-03 06:30 ------- Oh in fact I think the reason is the SRA issue. In that: int Cyc_string_ungetc (int ignore, struct _fat_ptr *sptr) { sptr->curr += 4294967295U; } Works.
-- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|rtl-optimization |tree-optimization Keywords| |missed-optimization Summary|load-modify-store on x86 |SRA does not always work |should be single instruction| Version|unknown |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42586