Manman Ren 9236362a64 X86: optimize generated code for integer ABS
This patch will generate the following for integer ABS:
      movl    %edi, %eax
      negl    %eax
      cmovll  %edi, %eax
INSTEAD OF
      movl    %edi, %ecx
      sarl    $31, %ecx
      leal    (%rdi,%rcx), %eax
      xorl    %ecx, %eax

There exists a target-independent DAG combine for integer ABS, which converts
integer ABS to sar+add+xor. For X86, we match this pattern back to neg+cmov. 
This is implemented in PerformXorCombine.

rdar://10695237


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158175 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-07 22:39:10 +00:00
..
2012-05-19 23:34:59 +00:00
2012-01-27 02:31:29 +00:00
2012-02-02 19:00:49 +00:00
2012-03-20 17:20:46 +00:00
2012-02-02 19:00:49 +00:00
2012-05-24 22:08:29 +00:00
2012-05-14 21:10:25 +00:00
2012-05-07 18:06:23 +00:00
2012-04-20 23:36:09 +00:00
2012-06-01 05:00:54 +00:00
2012-05-11 10:19:54 +00:00
2012-03-30 00:26:54 +00:00