llvm-6502/lib/Target/R600
Tom Stellard bd24b33e57 R600/SI: Use VALU instructions for copying i1 values
We can't use SALU instructions for this since they ignore the EXEC mask
and are always executed.

This fixes several OpenCV tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207661 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-30 15:31:33 +00:00
..
InstPrinter [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
MCTargetDesc [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
TargetInfo
AMDGPU.h R600/SI: Use VALU instructions for copying i1 values 2014-04-30 15:31:33 +00:00
AMDGPU.td
AMDGPUAsmPrinter.cpp R600/SI: Print code size along with used registers 2014-04-15 22:40:47 +00:00
AMDGPUAsmPrinter.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
AMDGPUCallingConv.td
AMDGPUConvertToISA.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
AMDGPUFrameLowering.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
AMDGPUFrameLowering.h De-virtualize or remove some methods that have no overrides nor override anything. In some cases remove all together if there are no callers either. 2014-04-30 05:53:27 +00:00
AMDGPUInstrInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
AMDGPUInstrInfo.h De-virtualize or remove some methods that have no overrides nor override anything. In some cases remove all together if there are no callers either. 2014-04-30 05:53:27 +00:00
AMDGPUInstrInfo.td R600: Match 24-bit arithmetic patterns in a Target DAGCombine 2014-04-07 19:45:41 +00:00
AMDGPUInstructions.td R600/SI: Print more immediates in hex format 2014-04-15 22:32:49 +00:00
AMDGPUIntrinsics.td R600: Add BFE, BFI, and BFM intrinsics to help with writing tests. 2014-03-31 18:21:18 +00:00
AMDGPUISelDAGToDAG.cpp R600/SI: Only select SALU instructions in the entry or exit block 2014-04-29 23:12:48 +00:00
AMDGPUISelLowering.cpp R600: optimize the UDIVREM 64 algorithm 2014-04-29 23:12:46 +00:00
AMDGPUISelLowering.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
AMDGPUMachineFunction.cpp
AMDGPUMachineFunction.h
AMDGPUMCInstLower.cpp MachineInstr: introduce explicit_operands and implicit_operands ranges 2014-04-05 22:42:04 +00:00
AMDGPUMCInstLower.h
AMDGPURegisterInfo.cpp Make consistent use of MCPhysReg instead of uint16_t throughout the tree. 2014-04-04 05:16:06 +00:00
AMDGPURegisterInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
AMDGPURegisterInfo.td
AMDGPUSubtarget.cpp R600: Remove unused function AMDGPUSubtarget::getDefaultSize() 2014-04-30 14:20:53 +00:00
AMDGPUSubtarget.h R600: Remove unused function AMDGPUSubtarget::getDefaultSize() 2014-04-30 14:20:53 +00:00
AMDGPUTargetMachine.cpp R600/SI: Use VALU instructions for copying i1 values 2014-04-30 15:31:33 +00:00
AMDGPUTargetMachine.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
AMDGPUTargetTransformInfo.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
AMDILBase.td
AMDILCFGStructurizer.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
AMDILInstrInfo.td
AMDILIntrinsicInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
AMDILIntrinsicInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
AMDILIntrinsics.td
AMDILISelLowering.cpp
AMDILRegisterInfo.td
CaymanInstructions.td R600: Match 24-bit arithmetic patterns in a Target DAGCombine 2014-04-07 19:45:41 +00:00
CMakeLists.txt R600/SI: Use VALU instructions for copying i1 values 2014-04-30 15:31:33 +00:00
EvergreenInstructions.td R600: Expand sign extension of vectors. 2014-04-16 01:41:30 +00:00
LLVMBuild.txt
Makefile
Processors.td
R600ClauseMergePass.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
R600ControlFlowFinalizer.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
R600Defines.h
R600EmitClauseMarkers.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
R600ExpandSpecialInstrs.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
R600InstrFormats.td
R600InstrInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
R600InstrInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
R600Instructions.td
R600Intrinsics.td
R600ISelLowering.cpp Use makeArrayRef insted of calling ArrayRef<T> constructor directly. I introduced most of these recently. 2014-04-30 07:17:30 +00:00
R600ISelLowering.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
R600MachineFunctionInfo.cpp
R600MachineFunctionInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
R600MachineScheduler.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
R600MachineScheduler.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
R600OptimizeVectorRegisters.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
R600Packetizer.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
R600RegisterInfo.cpp
R600RegisterInfo.h De-virtualize or remove some methods that have no overrides nor override anything. In some cases remove all together if there are no callers either. 2014-04-30 05:53:27 +00:00
R600RegisterInfo.td
R600Schedule.td
R600TextureIntrinsicsReplacer.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
R700Instructions.td
SIAnnotateControlFlow.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
SIDefines.h
SIFixSGPRCopies.cpp R600/SI: Use VALU instructions for copying i1 values 2014-04-30 15:31:33 +00:00
SIInsertWaits.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
SIInstrFormats.td
SIInstrInfo.cpp R600/SI: Teach moveToVALU how to handle some SMRD instructions 2014-04-30 15:31:29 +00:00
SIInstrInfo.h R600/SI: Teach moveToVALU how to handle some SMRD instructions 2014-04-30 15:31:29 +00:00
SIInstrInfo.td R600/SI: Stop using i128 as the resource descriptor type 2014-04-17 21:00:11 +00:00
SIInstructions.td R600/SI: Use VALU instructions for copying i1 values 2014-04-30 15:31:33 +00:00
SIIntrinsics.td
SIISelLowering.cpp R600/SI: Use VALU instructions for copying i1 values 2014-04-30 15:31:33 +00:00
SIISelLowering.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
SILowerControlFlow.cpp R600/SI: Use VALU instructions for copying i1 values 2014-04-30 15:31:33 +00:00
SILowerI1Copies.cpp R600/SI: Use VALU instructions for copying i1 values 2014-04-30 15:31:33 +00:00
SIMachineFunctionInfo.cpp
SIMachineFunctionInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
SIRegisterInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
SIRegisterInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
SIRegisterInfo.td R600/SI: Use VALU instructions for copying i1 values 2014-04-30 15:31:33 +00:00
SISchedule.td
SITypeRewriter.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00