mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-31 09:22:31 +00:00
[ARM] Thumb2 LDR (literal) should accept PC as the destination
The version of this instruction with the .w suffix already correctly accepts this, but the alias without the .w did not. Differential Revision: https://reviews.llvm.org/D26499 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286446 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b2e86a3cab
commit
4a04eb017b
@ -4407,7 +4407,7 @@ def : t2InstAlias<"ldrsh${p} $Rt, $addr",
|
||||
(t2LDRSHs rGPR:$Rt, t2addrmode_so_reg:$addr, pred:$p)>;
|
||||
|
||||
def : t2InstAlias<"ldr${p} $Rt, $addr",
|
||||
(t2LDRpci GPRnopc:$Rt, t2ldrlabel:$addr, pred:$p)>;
|
||||
(t2LDRpci GPR:$Rt, t2ldrlabel:$addr, pred:$p)>;
|
||||
def : t2InstAlias<"ldrb${p} $Rt, $addr",
|
||||
(t2LDRBpci rGPR:$Rt, t2ldrlabel:$addr, pred:$p)>;
|
||||
def : t2InstAlias<"ldrh${p} $Rt, $addr",
|
||||
|
@ -886,6 +886,7 @@ _func:
|
||||
ldr.w r5, _foo
|
||||
ldr lr, (_strcmp-4)
|
||||
ldr sp, _foo
|
||||
ldr pc, _foo
|
||||
|
||||
@ CHECK: ldr.w r5, _foo @ encoding: [0x5f'A',0xf8'A',A,0x50'A']
|
||||
@ CHECK: @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12
|
||||
@ -898,6 +899,10 @@ _func:
|
||||
@ CHECK: ldr.w sp, _foo @ encoding: [0x5f'A',0xf8'A',A,0xd0'A']
|
||||
@ CHECK: @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12
|
||||
@ CHECK-BE: ldr.w sp, _foo @ encoding: [0xf8'A',0x5f'A',0xd0'A',A]
|
||||
@ CHECK-BE: @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12
|
||||
@ CHECK: ldr.w pc, _foo @ encoding: [0x5f'A',0xf8'A',A,0xf0'A']
|
||||
@ CHECK: @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12
|
||||
@ CHECK-BE: ldr.w pc, _foo @ encoding: [0xf8'A',0x5f'A',0xf0'A',A]
|
||||
@ CHECK-BE: @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12
|
||||
|
||||
ldr r7, [pc, #8]
|
||||
|
Loading…
x
Reference in New Issue
Block a user