mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
Fixed a bug in ARM disassembly where LDRSBT should have am3offset operand, not
am2offset. Modified the instruction table entry and added a new test case. llvm-svn: 101415
This commit is contained in:
parent
55f814fdc4
commit
53225c4582
@ -1232,7 +1232,7 @@ def LDRBT : AI2ldbpo<(outs GPR:$dst, GPR:$base_wb),
|
|||||||
}
|
}
|
||||||
|
|
||||||
def LDRSBT : AI3ldsbpo<(outs GPR:$dst, GPR:$base_wb),
|
def LDRSBT : AI3ldsbpo<(outs GPR:$dst, GPR:$base_wb),
|
||||||
(ins GPR:$base,am2offset:$offset), LdMiscFrm, IIC_iLoadru,
|
(ins GPR:$base,am3offset:$offset), LdMiscFrm, IIC_iLoadru,
|
||||||
"ldrsbt", "\t$dst, [$base], $offset", "$base = $base_wb", []> {
|
"ldrsbt", "\t$dst, [$base], $offset", "$base = $base_wb", []> {
|
||||||
let Inst{21} = 1; // overwrite
|
let Inst{21} = 1; // overwrite
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,9 @@
|
|||||||
# CHECK: ldr r0, [r2], #15
|
# CHECK: ldr r0, [r2], #15
|
||||||
0x0f 0x00 0x92 0xe4
|
0x0f 0x00 0x92 0xe4
|
||||||
|
|
||||||
|
# CHECK: ldrsbtvs lr, [r2], -r9
|
||||||
|
0xd9 0xe9 0x32 0x60
|
||||||
|
|
||||||
# CHECK: lsls r0, r2, #31
|
# CHECK: lsls r0, r2, #31
|
||||||
0x82 0x0f 0xb0 0xe1
|
0x82 0x0f 0xb0 0xe1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user