llvm-for-llvmta/test/MC/AArch64/armv8.3a-diagnostics.s

33 lines
1.4 KiB
ArmAsm
Raw Permalink Normal View History

2022-04-25 10:02:23 +02:00
// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.3a < %s 2> %t
// RUN: FileCheck %s < %t
msr ID_ISAR6_EL1, x0
// CHECK: error: expected writable system register or pstate
// CHECK-NEXT: msr ID_ISAR6_EL1, x0
// CHECK-NEXT: ^
ldraa x0, [x1, 4089]
// CHECK: error: index must be a multiple of 8 in range [-4096, 4088].
ldraa x0, [x1, -4097]
// CHECK: error: index must be a multiple of 8 in range [-4096, 4088].
ldraa x0, [x1, 4086]
// CHECK: error: index must be a multiple of 8 in range [-4096, 4088].
ldrab x0, [x1, 4089]
// CHECK: error: index must be a multiple of 8 in range [-4096, 4088].
ldrab x0, [x1, -4097]
// CHECK: error: index must be a multiple of 8 in range [-4096, 4088].
ldrab x0, [x1, 4086]
// CHECK: error: index must be a multiple of 8 in range [-4096, 4088].
ldraa x0, [x0, -4096]!
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: unpredictable LDRA instruction, writeback base is also a destination
ldrab x0, [x0, -4096]!
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: unpredictable LDRA instruction, writeback base is also a destination
ldraa xzr, [xzr, -4096]!
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
ldraa sp, [sp, -4096]!
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
ldrab xzr, [xzr, -4096]!
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
ldrab sp, [sp, -4096]!
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction