On Thu, 27 Oct 2011, Uros Bizjak wrote: > Hello! > > > Here's a patch for PR47698, which is about CMOV should not be > > generated for memory address marked as volatile. > > Successfully bootstrapped and passed make check on x86_64-unknown-linux-gnu. > > > PR rtl-optimization/47698 > * config/i386/i386.c (ix86_expand_int_movcc) prevent CMOV generation > for volatile mem > > PR rtl-optimization/47698 > * gcc.target/i386/47698.c: New test > > Please use punctuation marks and correct capitalization in ChangeLog entries. > > OTOH, do we want to fix this per-target, or in the middle-end?
The middle-end pattern documentation does not say operands 2 and 3 are not evaluated if they do not end up being stored, so a middle-end fix is more appropriate. Richard.