From: Sam Kolton Date: Thu, 14 Jul 2016 14:50:35 +0000 (+0000) Subject: [AMDGPU] Assembler: fix row_bcast parsing X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1c8103698ff1fdc0b3166f1a601595caadd19303;p=llvm [AMDGPU] Assembler: fix row_bcast parsing Summary: This change fix bug 28538 Reviewers: tstellarAMD, vpykhtin Subscribers: arsenm, kzhuravl Differential Revision: https://reviews.llvm.org/D22355 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275422 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp b/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp index efa57c87d09..efcf1b23ada 100644 --- a/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp +++ b/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp @@ -2554,6 +2554,8 @@ AMDGPUAsmParser::parseDPPCtrl(OperandVector &Operands) { Int = 0x142; } else if (Int == 31) { Int = 0x143; + } else { + return MatchOperand_ParseFail; } } else { return MatchOperand_ParseFail; diff --git a/test/MC/AMDGPU/regression/bug28538.s b/test/MC/AMDGPU/regression/bug28538.s new file mode 100644 index 00000000000..82b2d27331f --- /dev/null +++ b/test/MC/AMDGPU/regression/bug28538.s @@ -0,0 +1,12 @@ +// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOCIVI --check-prefix=NOVI +// RUN: not llvm-mc -arch=amdgcn -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOSI --check-prefix=NOSICI +// RUN: not llvm-mc -arch=amdgcn -mcpu=SI -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOSI --check-prefix=NOSICI +// RUN: not llvm-mc -arch=amdgcn -mcpu=bonaire -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOSICI + +// NOSICI: error: +// NOVI: error: failed parsing operand +v_mov_b32 v0, v0 row_bcast:0 + +// NOSICI: error: +// NOVI: error: failed parsing operand +v_mov_b32 v0, v0 row_bcast:13