llvm-6502/test
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
..
Analysis SCEV: Handle a corner case reducing AddRecExpr * AddRecExpr 2012-05-30 03:35:20 +00:00
Archive
Assembler Add half support to LLVM (for OpenCL) 2012-05-24 15:59:06 +00:00
Bindings/Ocaml
Bitcode PR12696: Attribute bits above 1<<30 are not encoded in bitcode 2012-05-28 15:45:43 +00:00
BugPoint
CodeGen X86: optimize generated code for integer ABS 2012-06-07 22:39:10 +00:00
DebugInfo Add support for enum forward declarations. 2012-06-01 00:22:32 +00:00
ExecutionEngine Temporarily disabled the MCJIT tests for Darwin, because the RuntimeDyldMachO has a problems with relocations for 32bit x86. 2012-05-18 00:30:58 +00:00
Feature rdar://11542750 - llvm.trap should be marked no return. 2012-05-27 23:20:41 +00:00
Instrumentation [asan] instrument cmpxchg and atomicrmw 2012-05-30 09:04:06 +00:00
Integer remove two (useless) tests that use incorrect intrinsic prototypes, detected by the new intrinsic verifier. 2012-05-27 19:31:00 +00:00
Linker
MC Correct decoder for T1 conditional B encoding 2012-06-06 09:12:53 +00:00
Object
Other
Scripts
TableGen Add support for range expressions in TableGen foreach loops. 2012-05-24 22:17:39 +00:00
Transforms Fix a bug in FoldSelectOpOp. Bitcast ops may change the number of vector elements, which may disagree with the select condition type. 2012-06-07 20:28:57 +00:00
Unit
Verifier Use dominates(Instruction, Use) in the verifier. 2012-06-01 21:56:26 +00:00
YAMLParser
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
site.exp.in
TestRunner.sh