This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH i386] PR47698 no CMOV for volatile mem


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]