mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
0fe443d893
The UDF instruction is a reserved undefined instruction space. The assembler mnemonic was introduced with ARM ARM rev C.a. The instruction is not predicated and the immediate constant is ignored by the CPU. Add support for the three encodings for this instruction. The changes to the invalid instruction test is due to the fact that the invalid instructions actually overlap with the undefined instruction. Introduction of the new instruction results in a partial decode as an undefined sequence. Drop the tests as they are invalid instruction patterns anyways. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208751 91177308-0d34-0410-b5e6-96231b3b80d8
26 lines
437 B
ArmAsm
26 lines
437 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: instruction requires: arm-mode
|
|
@ CHECK: udf #256
|
|
@ CHECK: ^
|
|
|
|
udf.w #65536
|
|
|
|
@ CHECK: error: invalid operand for instruction
|
|
@ CHECK: udf.w #65536
|
|
@ CHECK: ^
|
|
|