Teach DAGCombine to fold fold (sra (trunc (sr x, c1)), c2) -> (trunc (sra x, c1+c2...
[oota-llvm.git] / lib / Target / README.txt
index 8b5c5ce137131dc1d25e3d41524167c03dab15dc..c0a2b760de78955f01fa24dcf905f014f78ceb76 100644 (file)
@@ -2274,24 +2274,3 @@ llc time when it gets inlined, because we can use smaller transfers.  This also
 avoids partial register stalls in some important cases.
 
 //===---------------------------------------------------------------------===//
-
-We miss an optzn when lowering divide by some constants.  For example:
-  int test(int x) { return x/10; }
-
-We produce:
-
-_test:                                  ## @test
-## BB#0:                                ## %entry
-       movslq  %edi, %rax
-       imulq   $1717986919, %rax, %rax ## imm = 0x66666667
-       movq    %rax, %rcx
-       shrq    $63, %rcx
-**     shrq    $32, %rax
-**      sarl   $2, %eax
-       addl    %ecx, %eax
-       ret
-
-The two starred instructions could be replaced with a "sarl $34, %rax".  This
-occurs in 186.crafty very frequently.
-
-//===---------------------------------------------------------------------===//