[Codegen] Add intrinsics 'absdiff' and corresponding SDNodes for absolute difference...
commitacd275a629652c97f6ed136de0873258814465d7
authorJames Molloy <james.molloy@arm.com>
Thu, 16 Jul 2015 15:22:46 +0000 (16 15:22 +0000)
committerJames Molloy <james.molloy@arm.com>
Thu, 16 Jul 2015 15:22:46 +0000 (16 15:22 +0000)
tree31d764172eaaaf5fa70d979145e17a32932c3f0f
parente0117a90cf0715459b9a40beff36e45d97bc8e88
[Codegen] Add intrinsics 'absdiff' and corresponding SDNodes for absolute difference operation

This adds new intrinsics "*absdiff" for absolute difference ops to facilitate efficient code generation for "sum of absolute differences" operation.
The patch also contains the introduction of corresponding SDNodes and basic legalization support.Sanity of the generated code is tested on X86.

This is 1st of the three patches.

Patch by Shahid Asghar-ahmad!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242409 91177308-0d34-0410-b5e6-96231b3b80d8
docs/LangRef.rst
include/llvm/CodeGen/ISDOpcodes.h
include/llvm/IR/Intrinsics.td
include/llvm/Target/TargetSelectionDAG.td
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
lib/CodeGen/TargetLoweringBase.cpp
test/CodeGen/X86/absdiff_expand.ll [new file with mode: 0644]