summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2014-09-26 01:09:46 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2014-09-26 01:09:46 +0000
commit3a99759498579a15bc4531774148ee9815d84d35 (patch)
tree9bee30b89563438663ebebe78c20dfcc592332f1 /llvm
parentce465421d702a7fe58a303590b4f0274edd89a6b (diff)
downloadbcm5719-llvm-3a99759498579a15bc4531774148ee9815d84d35.tar.gz
bcm5719-llvm-3a99759498579a15bc4531774148ee9815d84d35.zip
R600/SI: Fix emitting trailing whitespace after s_waitcnt
llvm-svn: 218486
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp24
-rw-r--r--llvm/test/CodeGen/R600/wait.ll8
2 files changed, 23 insertions, 9 deletions
diff --git a/llvm/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp b/llvm/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp
index fa7e0de90fa..6d893b27790 100644
--- a/llvm/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp
+++ b/llvm/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp
@@ -493,12 +493,26 @@ void AMDGPUInstPrinter::printWaitFlag(const MCInst *MI, unsigned OpNo,
unsigned Vmcnt = SImm16 & 0xF;
unsigned Expcnt = (SImm16 >> 4) & 0xF;
unsigned Lgkmcnt = (SImm16 >> 8) & 0xF;
- if (Vmcnt != 0xF)
- O << "vmcnt(" << Vmcnt << ") ";
- if (Expcnt != 0x7)
- O << "expcnt(" << Expcnt << ") ";
- if (Lgkmcnt != 0x7)
+
+ bool NeedSpace = false;
+
+ if (Vmcnt != 0xF) {
+ O << "vmcnt(" << Vmcnt << ')';
+ NeedSpace = true;
+ }
+
+ if (Expcnt != 0x7) {
+ if (NeedSpace)
+ O << ' ';
+ O << "expcnt(" << Expcnt << ')';
+ NeedSpace = true;
+ }
+
+ if (Lgkmcnt != 0x7) {
+ if (NeedSpace)
+ O << ' ';
O << "lgkmcnt(" << Lgkmcnt << ')';
+ }
}
#include "AMDGPUGenAsmWriter.inc"
diff --git a/llvm/test/CodeGen/R600/wait.ll b/llvm/test/CodeGen/R600/wait.ll
index 17e0b82e8a7..b0b7e919586 100644
--- a/llvm/test/CodeGen/R600/wait.ll
+++ b/llvm/test/CodeGen/R600/wait.ll
@@ -1,11 +1,11 @@
-; RUN: llc -march=r600 -mcpu=SI -verify-machineinstrs < %s | FileCheck %s
+; RUN: llc -march=r600 -mcpu=SI -verify-machineinstrs < %s | FileCheck -strict-whitespace %s
; CHECK-LABEL: @main
; CHECK: S_LOAD_DWORDX4
; CHECK: S_LOAD_DWORDX4
-; CHECK: S_WAITCNT lgkmcnt(0)
-; CHECK: S_WAITCNT vmcnt(0)
-; CHECK: S_WAITCNT expcnt(0) lgkmcnt(0)
+; CHECK: S_WAITCNT lgkmcnt(0){{$}}
+; CHECK: S_WAITCNT vmcnt(0){{$}}
+; CHECK: S_WAITCNT expcnt(0) lgkmcnt(0){{$}}
define void @main(<16 x i8> addrspace(2)* inreg %arg, <16 x i8> addrspace(2)* inreg %arg1, <32 x i8> addrspace(2)* inreg %arg2, <16 x i8> addrspace(2)* inreg %arg3, <16 x i8> addrspace(2)* inreg %arg4, i32 inreg %arg5, i32 %arg6, i32 %arg7, i32 %arg8, i32 %arg9, float addrspace(2)* inreg %constptr) #0 {
main_body:
%tmp = getelementptr <16 x i8> addrspace(2)* %arg3, i32 0
OpenPOWER on IntegriCloud