From fc65cf649c1ae6a162ac2dd6defe5a0bf0eafe8f Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Sun, 3 Aug 2014 05:27:14 +0000 Subject: [PATCH] R600/SI: Fix extra whitespace in asm str This slipped in in r214467, so something like V_MOV_B32_e32 v0, ... is now printed with 2 spaces between the instruction name and first operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214660 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/R600/SIInstrInfo.td | 2 +- test/CodeGen/R600/operand-spacing.ll | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 test/CodeGen/R600/operand-spacing.ll diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td index a0c00332948..91e4d0d79d0 100644 --- a/lib/Target/R600/SIInstrInfo.td +++ b/lib/Target/R600/SIInstrInfo.td @@ -442,7 +442,7 @@ class VOPProfile _ArgVT> { field dag Ins64 = getIns64.ret; - field string Asm32 = "_e32 "#getAsm32.ret; + field string Asm32 = "_e32"#getAsm32.ret; field string Asm64 = getAsm64.ret; } diff --git a/test/CodeGen/R600/operand-spacing.ll b/test/CodeGen/R600/operand-spacing.ll new file mode 100644 index 00000000000..d9e153d4fe4 --- /dev/null +++ b/test/CodeGen/R600/operand-spacing.ll @@ -0,0 +1,15 @@ +; RUN: llc -march=r600 -mcpu=SI -verify-machineinstrs < %s | FileCheck -strict-whitespace -check-prefix=SI %s + +; Make sure there isn't an extra space between the instruction name and first operands. + +; SI-LABEL: @add_f32 +; SI-DAG: S_LOAD_DWORD [[SREGA:s[0-9]+]], s{{\[[0-9]+:[0-9]+\]}}, 0xb +; SI-DAG: S_LOAD_DWORD [[SREGB:s[0-9]+]], s{{\[[0-9]+:[0-9]+\]}}, 0xc +; SI: V_MOV_B32_e32 [[VREGB:v[0-9]+]], [[SREGB]] +; SI: V_ADD_F32_e32 [[RESULT:v[0-9]+]], [[SREGA]], [[VREGB]] +; SI: BUFFER_STORE_DWORD [[RESULT]], +define void @add_f32(float addrspace(1)* %out, float %a, float %b) { + %result = fadd float %a, %b + store float %result, float addrspace(1)* %out + ret void +} -- 2.34.1