llvm-6502/lib/Target/R600
Michel Danzer 01115b1f50 R600/SI: Fix int_SI_fs_interp_constant
The important fix is that the constant interpolation value is stored in the
parameter slot P0, which is encoded as 2.

In addition, drop the SI_INTERP_CONST pseudo instruction, pass the parameter
slot as an operand to V_INTERP_MOV_F32 instead of hardcoding it there, and
add a special operand class for the parameter slots for type checking and
pretty printing.

NOTE: This is a candidate for the Mesa stable branch.

Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175193 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-14 19:03:25 +00:00
..
InstPrinter R600/SI: Fix int_SI_fs_interp_constant 2013-02-14 19:03:25 +00:00
MCTargetDesc R600: Add support for 128-bit parameters 2013-02-13 22:05:20 +00:00
TargetInfo
AMDGPU.h
AMDGPU.td
AMDGPUAsmPrinter.cpp R600/SI: cleanup VGPR encoding 2013-02-07 19:39:45 +00:00
AMDGPUAsmPrinter.h
AMDGPUCodeEmitter.h R600/SI: simplify and fix SMRD encoding 2013-02-07 19:39:40 +00:00
AMDGPUConvertToISA.cpp
AMDGPUFrameLowering.cpp
AMDGPUFrameLowering.h
AMDGPUIndirectAddressing.cpp
AMDGPUInstrInfo.cpp
AMDGPUInstrInfo.h
AMDGPUInstrInfo.td
AMDGPUInstructions.td R600/SI: Add basic support for more integer vector types. 2013-02-07 17:02:09 +00:00
AMDGPUIntrinsics.td
AMDGPUISelLowering.cpp
AMDGPUISelLowering.h R600: Dump the function name when TargetLowering::LowerCall() fails 2013-02-08 22:24:40 +00:00
AMDGPUMCInstLower.cpp
AMDGPUMCInstLower.h
AMDGPURegisterInfo.cpp R600: Consolidate sub register indices. 2013-02-07 14:02:37 +00:00
AMDGPURegisterInfo.h
AMDGPURegisterInfo.td R600: Consolidate sub register indices. 2013-02-07 14:02:37 +00:00
AMDGPUStructurizeCFG.cpp R600: rework flow creation in the structurizer v2 2013-02-08 22:24:38 +00:00
AMDGPUSubtarget.cpp
AMDGPUSubtarget.h
AMDGPUTargetMachine.cpp
AMDGPUTargetMachine.h
AMDIL7XXDevice.cpp
AMDIL7XXDevice.h
AMDIL.h
AMDILBase.td
AMDILCFGStructurizer.cpp
AMDILDevice.cpp
AMDILDevice.h
AMDILDeviceInfo.cpp
AMDILDeviceInfo.h
AMDILDevices.h
AMDILEvergreenDevice.cpp
AMDILEvergreenDevice.h
AMDILInstrInfo.td
AMDILIntrinsicInfo.cpp
AMDILIntrinsicInfo.h
AMDILIntrinsics.td
AMDILISelDAGToDAG.cpp R600: Do not fold single instruction with more that 3 kcache read 2013-02-14 16:57:19 +00:00
AMDILISelLowering.cpp
AMDILNIDevice.cpp
AMDILNIDevice.h
AMDILPeepholeOptimizer.cpp
AMDILRegisterInfo.td
AMDILSIDevice.cpp
AMDILSIDevice.h
CMakeLists.txt
LLVMBuild.txt
Makefile
Processors.td R600: Add an explicit default processor 2013-02-07 19:39:34 +00:00
R600Defines.h
R600ExpandSpecialInstrs.cpp
R600InstrInfo.cpp
R600InstrInfo.h
R600Instructions.td R600: Export instructions are no longer terminator 2013-02-14 16:55:11 +00:00
R600Intrinsics.td R600: Fold zero/one in export instructions 2013-02-14 16:55:06 +00:00
R600ISelLowering.cpp R600: Fold zero/one in export instructions 2013-02-14 16:55:06 +00:00
R600ISelLowering.h
R600LowerConstCopy.cpp R600: Do not fold single instruction with more that 3 kcache read 2013-02-14 16:57:19 +00:00
R600MachineFunctionInfo.cpp
R600MachineFunctionInfo.h
R600RegisterInfo.cpp R600: Consolidate sub register indices. 2013-02-07 14:02:37 +00:00
R600RegisterInfo.h
R600RegisterInfo.td R600: Consolidate sub register indices. 2013-02-07 14:02:37 +00:00
R600Schedule.td
SIAnnotateControlFlow.cpp R600/SI: Check for empty stack in SIAnnotateControlFlow::isTopOfStack 2013-02-14 08:00:33 +00:00
SIAssignInterpRegs.cpp
SIInsertWaits.cpp
SIInstrFormats.td
SIInstrInfo.cpp R600/SI: Handle VGPR64 destination in copyPhysReg(). 2013-02-07 19:39:43 +00:00
SIInstrInfo.h R600/SI: cleanup VGPR encoding 2013-02-07 19:39:45 +00:00
SIInstrInfo.td R600/SI: cleanup VGPR encoding 2013-02-07 19:39:45 +00:00
SIInstructions.td R600/SI: Fix int_SI_fs_interp_constant 2013-02-14 19:03:25 +00:00
SIIntrinsics.td R600/SI: Make sample intrinsic address parameter type overloaded. 2013-02-07 17:02:13 +00:00
SIISelLowering.cpp R600/SI: Fix int_SI_fs_interp_constant 2013-02-14 19:03:25 +00:00
SIISelLowering.h R600/SI: Fix int_SI_fs_interp_constant 2013-02-14 19:03:25 +00:00
SILowerControlFlow.cpp
SILowerLiteralConstants.cpp R600/SI: add proper 64bit immediate support v2 2013-02-07 19:39:38 +00:00
SIMachineFunctionInfo.cpp
SIMachineFunctionInfo.h
SIRegisterInfo.cpp
SIRegisterInfo.h
SIRegisterInfo.td R600/SI: cleanup VGPR encoding 2013-02-07 19:39:45 +00:00
SISchedule.td