summaryrefslogtreecommitdiff
path: root/src/target/arm_disassembler.c
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-07-24 05:42:45 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-07-24 05:42:45 +0000
commit431925a45249d4225f0f94416d12464bfaf08b31 (patch)
treec507922d1ead8cf1c61b29b9bb2af34deb8f46eb /src/target/arm_disassembler.c
parent50aa56179613646d6b4ae4890e0ffcf5d00d8d5d (diff)
downloadopenocd+libswd-431925a45249d4225f0f94416d12464bfaf08b31.tar.gz
openocd+libswd-431925a45249d4225f0f94416d12464bfaf08b31.tar.bz2
openocd+libswd-431925a45249d4225f0f94416d12464bfaf08b31.tar.xz
openocd+libswd-431925a45249d4225f0f94416d12464bfaf08b31.zip
Andreas Fritiofson <andreas.fritiofson@gmail.com> I noticed there are a few checks for (rt == 0xf) even though that case
is handled with an early return at the top of the function. git-svn-id: svn://svn.berlios.de/openocd/trunk@2562 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/target/arm_disassembler.c')
-rw-r--r--src/target/arm_disassembler.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/target/arm_disassembler.c b/src/target/arm_disassembler.c
index 6c90bd7e..2af07c4e 100644
--- a/src/target/arm_disassembler.c
+++ b/src/target/arm_disassembler.c
@@ -3523,8 +3523,6 @@ static int t2ev_load_halfword(uint32_t opcode, uint32_t address,
if ((opcode & (1 << 23)) == 0) {
if (rn == 0xf) {
ldrh_literal:
- if (rt == 0xf)
- return ERROR_INVALID_ARGUMENTS;
immed = opcode & 0xfff;
address = thumb_alignpc4(address);
if (opcode & (1 << 23))
@@ -3535,8 +3533,6 @@ ldrh_literal:
sign, rt, address);
return ERROR_OK;
}
- if (rt == 0xf)
- return ERROR_INVALID_ARGUMENTS;
if (op2 == 0) {
int rm = opcode & 0xf;
@@ -3574,12 +3570,11 @@ ldrh_literal:
} else {
if (rn == 0xf)
goto ldrh_literal;
- if (rt != 0x0f) {
- immed = opcode & 0xfff;
- sprintf(cp, "LDR%sH.W\tr%d, [r%d, #%d]\t; %#6.6x",
- sign, rt, rn, immed, immed);
- return ERROR_OK;
- }
+
+ immed = opcode & 0xfff;
+ sprintf(cp, "LDR%sH.W\tr%d, [r%d, #%d]\t; %#6.6x",
+ sign, rt, rn, immed, immed);
+ return ERROR_OK;
}
return ERROR_INVALID_ARGUMENTS;