R600/SI: Do abs/neg folding with ComplexPatterns
authorTom Stellard <thomas.stellard@amd.com>
Fri, 1 Aug 2014 00:32:39 +0000 (00:32 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 1 Aug 2014 00:32:39 +0000 (00:32 +0000)
commit17c8fefc9f89a60e4e26006d2dc7389d3e7b73e4
tree3b9c03e70b62c5496c7417377e8036e83d470eb1
parentf3b62dfcb2d7b864334bc089a2de2dac97f8a0b2
R600/SI: Do abs/neg folding with ComplexPatterns

Abs/neg folding has moved out of foldOperands and into the instruction
selection phase using complex patterns.  As a consequence of this
change, we now prefer to select the 64-bit encoding for most
instructions and the modifier operands have been dropped from
integer VOP3 instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214467 91177308-0d34-0410-b5e6-96231b3b80d8
16 files changed:
lib/Target/R600/AMDGPUISelDAGToDAG.cpp
lib/Target/R600/AMDGPUInstructions.td
lib/Target/R600/MCTargetDesc/SIMCCodeEmitter.cpp
lib/Target/R600/SIISelLowering.cpp
lib/Target/R600/SIInstrFormats.td
lib/Target/R600/SIInstrInfo.cpp
lib/Target/R600/SIInstrInfo.h
lib/Target/R600/SIInstrInfo.td
lib/Target/R600/SIInstructions.td
lib/Target/R600/SILowerI1Copies.cpp
lib/Target/R600/SIShrinkInstructions.cpp
test/CodeGen/R600/fabs.ll
test/CodeGen/R600/fneg.ll
test/CodeGen/R600/fsub.ll
test/CodeGen/R600/mul_uint24.ll
test/CodeGen/R600/vop-shrink.ll