diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index ac8f3f1e08f..0074eb43369 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -204,3 +204,13 @@ There are two ways to fix this: disambiguate the pointers. Number 1 is the preferred solution. + +//===---------------------------------------------------------------------===// + +The instruction selector sometimes misses folding a load into a compare. The +pattern is written as (cmp reg, (load p)). Because the compare isn't +commutative, it is not matched with the load on both sides. The dag combiner +should be made smart enough to cannonicalize the load into the RHS of a compare +when it can invert the result of the compare for free. + +