On 10/27/2011 05:17 AM, Sergey Ostanevich wrote: > + /* MOVCC semantics implies that source is always read which is wrong > + for devices I/O that are defined using volatile in C. PR47698 */ > + > + if (MEM_P (operands[2]) && MEM_VOLATILE_P (operands[2])) > + return false;
This looks to be at the wrong level. This fix should be tested in ifcvt.c where we attempted this. r~