mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-06 06:33:24 +00:00
ARM parsing and encoding for ADR.
The label does not have a '#' prefix. Add parsing and encoding tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136360 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
19b9d6912a
commit
70a0915cd1
@ -1436,7 +1436,7 @@ let neverHasSideEffects = 1, isReMaterializable = 1 in
|
|||||||
// the instruction. The {24-21} opcode bits are set by the fixup, as we don't
|
// the instruction. The {24-21} opcode bits are set by the fixup, as we don't
|
||||||
// know until then which form of the instruction will be used.
|
// know until then which form of the instruction will be used.
|
||||||
def ADR : AI1<{0,?,?,0}, (outs GPR:$Rd), (ins adrlabel:$label),
|
def ADR : AI1<{0,?,?,0}, (outs GPR:$Rd), (ins adrlabel:$label),
|
||||||
MiscFrm, IIC_iALUi, "adr", "\t$Rd, #$label", []> {
|
MiscFrm, IIC_iALUi, "adr", "\t$Rd, $label", []> {
|
||||||
bits<4> Rd;
|
bits<4> Rd;
|
||||||
bits<12> label;
|
bits<12> label;
|
||||||
let Inst{27-25} = 0b001;
|
let Inst{27-25} = 0b001;
|
||||||
|
@ -123,8 +123,20 @@ _func:
|
|||||||
|
|
||||||
|
|
||||||
@------------------------------------------------------------------------------
|
@------------------------------------------------------------------------------
|
||||||
@ FIXME: ADR
|
@ ADR
|
||||||
@------------------------------------------------------------------------------
|
@------------------------------------------------------------------------------
|
||||||
|
Lback:
|
||||||
|
adr r2, Lback
|
||||||
|
adr r3, Lforward
|
||||||
|
Lforward:
|
||||||
|
|
||||||
|
@ CHECK: Lback:
|
||||||
|
@ CHECK: adr r2, Lback @ encoding: [0bAAAAAAA0,0x20'A',0x0f'A',0b1110001A]
|
||||||
|
@ CHECK: @ fixup A - offset: 0, value: Lback, kind: fixup_arm_adr_pcrel_12
|
||||||
|
@ CHECK: adr r3, Lforward @ encoding: [0bAAAAAAA0,0x30'A',0x0f'A',0b1110001A]
|
||||||
|
@ CHECK: @ fixup A - offset: 0, value: Lforward, kind: fixup_arm_adr_pcrel_12
|
||||||
|
@ CHECK: Lforward:
|
||||||
|
|
||||||
|
|
||||||
@------------------------------------------------------------------------------
|
@------------------------------------------------------------------------------
|
||||||
@ ADD
|
@ ADD
|
||||||
|
Loading…
x
Reference in New Issue
Block a user