summaryrefslogtreecommitdiff
path: root/lib/Target/R600/AMDGPUAsmPrinter.cpp
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2013-02-07 17:02:09 +0000
committerTom Stellard <thomas.stellard@amd.com>2013-02-07 17:02:09 +0000
commit36ba9091843bd1205fe3499ba4b55bbedc6583c9 (patch)
tree257e498147cbf69d6548526534c626e005cdf300 /lib/Target/R600/AMDGPUAsmPrinter.cpp
parent66f535a273e52d56199c7ce8f975796017b6cbb2 (diff)
downloadllvm-36ba9091843bd1205fe3499ba4b55bbedc6583c9.tar.gz
llvm-36ba9091843bd1205fe3499ba4b55bbedc6583c9.tar.bz2
llvm-36ba9091843bd1205fe3499ba4b55bbedc6583c9.tar.xz
R600/SI: Add basic support for more integer vector types.
v1i32, v2i32, v8i32 and v16i32. Only add VGPR register classes for integer vector types, to avoid attempts copying from VGPR to SGPR registers, which is not possible. Patch By: Michel Dänzer Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174632 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/R600/AMDGPUAsmPrinter.cpp')
-rw-r--r--lib/Target/R600/AMDGPUAsmPrinter.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/R600/AMDGPUAsmPrinter.cpp b/lib/Target/R600/AMDGPUAsmPrinter.cpp
index 715a37822c..082e7345d4 100644
--- a/lib/Target/R600/AMDGPUAsmPrinter.cpp
+++ b/lib/Target/R600/AMDGPUAsmPrinter.cpp
@@ -118,6 +118,12 @@ void AMDGPUAsmPrinter::EmitProgramInfo(MachineFunction &MF) {
} else if (AMDGPU::SReg_256RegClass.contains(reg)) {
isSGPR = true;
width = 8;
+ } else if (AMDGPU::VReg_256RegClass.contains(reg)) {
+ isSGPR = false;
+ width = 8;
+ } else if (AMDGPU::VReg_512RegClass.contains(reg)) {
+ isSGPR = false;
+ width = 16;
} else {
assert(!"Unknown register class");
}