diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2013-02-07 17:02:09 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2013-02-07 17:02:09 +0000 |
commit | 36ba9091843bd1205fe3499ba4b55bbedc6583c9 (patch) | |
tree | 257e498147cbf69d6548526534c626e005cdf300 /lib/Target/R600/AMDGPUAsmPrinter.cpp | |
parent | 66f535a273e52d56199c7ce8f975796017b6cbb2 (diff) | |
download | external_llvm-36ba9091843bd1205fe3499ba4b55bbedc6583c9.zip external_llvm-36ba9091843bd1205fe3499ba4b55bbedc6583c9.tar.gz external_llvm-36ba9091843bd1205fe3499ba4b55bbedc6583c9.tar.bz2 |
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.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/R600/AMDGPUAsmPrinter.cpp b/lib/Target/R600/AMDGPUAsmPrinter.cpp index 715a378..082e734 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"); } |