diff options
-rw-r--r-- | llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 2 | ||||
-rw-r--r-- | llvm/test/MC/AMDGPU/regression/bug28538.s | 12 |
2 files changed, 14 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp index efa57c87d09..efcf1b23ada 100644 --- a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp +++ b/llvm/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/llvm/test/MC/AMDGPU/regression/bug28538.s b/llvm/test/MC/AMDGPU/regression/bug28538.s new file mode 100644 index 00000000000..82b2d27331f --- /dev/null +++ b/llvm/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 |