mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
c6bc9da0dd
Summary: - Separated tgt encoding from parsing; - Separated tgt decoding from printing; - Improved errors handling; - Disabled leading zeroes in index. The following code is no longer accepted: exp pos00 v3, v2, v1, v0 Reviewers: arsenm, rampitec, foad Differential Revision: https://reviews.llvm.org/D95216
120 lines
3.0 KiB
ArmAsm
120 lines
3.0 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: exp target is not supported on this GPU
|
|
|
|
exp pos5 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: invalid exp target
|
|
|
|
exp mrtX v3, v2, v1, v0
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp pos-1 v3, v2, v1, v0
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp posX v3, v2, v1, v0
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp param-1 v3, v2, v1, v0
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp paramX v3, v2, v1, v0
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp invalid_target_-1 v3, v2, v1, v0
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp invalid_target_X v3, v2, v1, v0
|
|
// GCN: :5: error: invalid exp target
|
|
|
|
exp 0 v3, v2, v1, v0
|
|
// GCN: :5: error: invalid operand for instruction
|
|
|
|
exp , v3, v2, v1, v0
|
|
// GCN: :5: error: unknown token in expression
|
|
|
|
exp
|
|
// GCN: :1: error: too few operands for instruction
|
|
|
|
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
|