summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp
diff options
context:
space:
mode:
authorArtem Tamazov <artem.tamazov@amd.com>2016-04-27 15:17:03 +0000
committerArtem Tamazov <artem.tamazov@amd.com>2016-04-27 15:17:03 +0000
commit5cd55b17848e16ba170e2898a5f426bcde3f350f (patch)
treea8111b0dd8dc32aa4309fa46afab3fa4ad134490 /llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp
parente69b9548b87d30fd148e1b24eb3c6b1c8dda59ca (diff)
downloadbcm5719-llvm-5cd55b17848e16ba170e2898a5f426bcde3f350f.tar.gz
bcm5719-llvm-5cd55b17848e16ba170e2898a5f426bcde3f350f.zip
[AMDGPU][llvm-mc] s_getreg/setreg* - Support symbolic names of hardware registers.
Possibility to specify code of hardware register kept. Disassemble to symbolic name, if name is known. Tests updated/added. Differential Revision: http://reviews.llvm.org/D19335 llvm-svn: 267724
Diffstat (limited to 'llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp b/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp
index 8ac3caf0081..1ea8c77be69 100644
--- a/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp
+++ b/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp
@@ -814,11 +814,21 @@ void AMDGPUInstPrinter::printHwreg(const MCInst *MI, unsigned OpNo,
const unsigned Offset = (SImm16 >> 6) & 0x1f;
const unsigned Width = ((SImm16 >> 11) & 0x1F) + 1;
- if (Width == 32 && Offset == 0) {
- O << "hwreg(" << HwRegCode << ')';
- } else {
- O << "hwreg(" << HwRegCode << ", " << Offset << ", " << Width << ')';
+ O << "hwreg(";
+ switch(HwRegCode) {
+ case 1: O << "HW_REG_MODE" ; break;
+ case 2: O << "HW_REG_STATUS" ; break;
+ case 3: O << "HW_REG_TRAPSTS" ; break;
+ case 4: O << "HW_REG_HW_ID" ; break;
+ case 5: O << "HW_REG_GPR_ALLOC" ; break;
+ case 6: O << "HW_REG_LDS_ALLOC" ; break;
+ case 7: O << "HW_REG_IB_STS" ; break;
+ default: O << HwRegCode; break;
+ }
+ if (! (Width == 32 && Offset == 0)) {
+ O << ", " << Offset << ", " << Width;
}
+ O << ')';
}
#include "AMDGPUGenAsmWriter.inc"
OpenPOWER on IntegriCloud