diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index dd02948f870..d2aaa592e6b 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -734,3 +734,19 @@ This currently compiles to: addl $12, %esp The add\sub pair is really unneeded here. + +//===---------------------------------------------------------------------===// + +We generate really bad code in some cases due to lowering SETCC/SELECT at +legalize time, which prevents the post-legalize dag combine pass from +understanding the code. As a silly example, this prevents us from folding +stuff like this: + +bool %test(ulong %x) { + %tmp = setlt ulong %x, 4294967296 + ret bool %tmp +} + +into x.h == 0 + +