llvm-6502/test/CodeGen
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
..
ARM Revert commit r157966 2012-06-05 00:47:21 +00:00
CellSPU
CPP
Generic
Hexagon
MBlaze
Mips Add a test case for mips64 unaligned load/store instructions. 2012-06-04 17:57:06 +00:00
MSP430
NVPTX
PowerPC Implement local-exec TLS on PowerPC. 2012-06-04 17:36:38 +00:00
SPARC
Thumb
Thumb2
X86 X86: optimize generated code for integer ABS 2012-06-07 22:39:10 +00:00
XCore