Summary of changes: - Changed parser to eliminate generation of excessive error messages; - Corrected lit tests to match all expected error messages; - Corrected lit tests to guard against unwanted extra messages (added option "--implicit-check-not=error:"); - Added missing checks and fixed some typos in tests. See bug 46907: https://bugs.llvm.org/show_bug.cgi?id=46907 Reviewers: arsenm, rampitec Differential Revision: https://reviews.llvm.org/D86940
108 lines
2.8 KiB
ArmAsm
108 lines
2.8 KiB
ArmAsm
// RUN: not llvm-mc -arch=amdgcn %s 2>&1 | FileCheck -check-prefix=GCN --implicit-check-not=error: %s
|
|
// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=GCN --implicit-check-not=error: %s
|
|
|
|
exp mrt8 v3, v2, v1, v0
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp pos4 v3, v2, v1, v0
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp param32 v3, v2, v1, v0
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp invalid_target_10 v3, v2, v1, v0
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp invalid_target_10 v3, v2, v1, v0 done
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp invalid_target_11 v3, v2, v1, v0
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp invalid_target_11 v3, v2, v1, v0 done
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp mrt-1 v3, v2, v1, v0
|
|
// GCN: :5: error: failed parsing operand
|
|
|
|
exp mrtX v3, v2, v1, v0
|
|
// GCN: :5: error: failed parsing operand
|
|
|
|
exp pos-1 v3, v2, v1, v0
|
|
// GCN: :5: error: failed parsing operand
|
|
|
|
exp posX v3, v2, v1, v0
|
|
// GCN: :5: error: failed parsing operand
|
|
|
|
exp param-1 v3, v2, v1, v0
|
|
// GCN: :5: error: failed parsing operand
|
|
|
|
exp paramX v3, v2, v1, v0
|
|
// GCN: :5: error: failed parsing operand
|
|
|
|
exp invalid_target_-1 v3, v2, v1, v0
|
|
// GCN: :5: error: failed parsing operand
|
|
|
|
exp invalid_target_X v3, v2, v1, v0
|
|
// GCN: :5: error: failed parsing operand
|
|
|
|
exp mrt0 s0, v0, v0, v0
|
|
// GCN: 10: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, s0, v0, v0
|
|
// GCN: 14: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, v0, s0, v0
|
|
// GCN: 18: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, v0, v0, s0
|
|
// GCN: 22: error: invalid operand for instruction
|
|
|
|
exp mrt0 v[0:1], v0, v0, v0
|
|
// GCN: 10: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, v[0:1], v0, v0
|
|
// GCN: 14: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, v0, v[0:1], v0
|
|
// GCN: 18: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, v0, v0, v[0:1]
|
|
// GCN: 22: error: invalid operand for instruction
|
|
|
|
exp mrt0 1.0, v0, v0, v0
|
|
// GCN: 10: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, 1.0, v0, v0
|
|
// GCN: 14: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, v0, 1.0, v0
|
|
// GCN: 18: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, v0, v0, 1.0
|
|
// GCN: 22: error: invalid operand for instruction
|
|
|
|
exp mrt0 7, v0, v0, v0
|
|
// GCN: 10: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, 7, v0, v0
|
|
// GCN: 14: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, v0, 7, v0
|
|
// GCN: 18: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, v0, v0, 7
|
|
// GCN: 22: error: invalid operand for instruction
|
|
|
|
exp mrt0 0x12345678, v0, v0, v0
|
|
// GCN: 10: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, 0x12345678, v0, v0
|
|
// GCN: 14: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, v0, 0x12345678, v0
|
|
// GCN: 18: error: invalid operand for instruction
|
|
|
|
exp mrt0 v0, v0, v0, 0x12345678
|
|
// GCN: 22: error: invalid operand for instruction
|