mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
33d655fd7a
Currently, our diagnostics for assembly operands are not consistent. Some start with (for example) "immediate operand must be ...", and some with "operand must be an immediate ...". I think the latter form is preferable for a few reasons: * It's unambiguous that it is referring to the expected type of operand, not the type the user provided. For example, the user could provide an register operand, and get a message taking about an operand is if it is already an immediate, just not in the accepted range. * It allows us to have a consistent style once we add diagnostics for operands that could take two forms, for example a label or pc-relative memory operand. Differential revision: https://reviews.llvm.org/D36689 llvm-svn: 314887
28 lines
599 B
ArmAsm
28 lines
599 B
ArmAsm
@ RUN: not llvm-mc -triple thumbv7-eabi -mattr +thumb2 %s 2>&1 | FileCheck %s
|
|
|
|
.syntax unified
|
|
.text
|
|
.thumb
|
|
|
|
undefined:
|
|
udfpl
|
|
|
|
@ CHECK: error: instruction 'udf' is not predicable, but condition code specified
|
|
@ CHECK: udfpl
|
|
@ CHECK: ^
|
|
|
|
udf #256
|
|
|
|
@ CHECK: error: invalid instruction, any one of the following would fix this:
|
|
@ CHECK: note: instruction requires: arm-mode
|
|
@ CHECK: note: operand must be an immediate in the range [0,255]
|
|
@ CHECK: udf #256
|
|
@ CHECK: ^
|
|
|
|
udf.w #65536
|
|
|
|
@ CHECK: error: operand must be an immediate in the range [0,65535]
|
|
@ CHECK: udf.w #65536
|
|
@ CHECK: ^
|
|
|