summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/target/arm_simulator.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/target/arm_simulator.c b/src/target/arm_simulator.c
index e2f49c39..646baea7 100644
--- a/src/target/arm_simulator.c
+++ b/src/target/arm_simulator.c
@@ -309,19 +309,17 @@ int arm_simulate_step_core(target_t *target, uint32_t *dry_run_pc, struct arm_si
{
uint16_t opcode;
- if ((retval = target_read_u16(target, current_pc, &opcode)) != ERROR_OK)
- {
+ retval = target_read_u16(target, current_pc, &opcode);
+ if (retval != ERROR_OK)
return retval;
- }
- if ((retval = thumb_evaluate_opcode(opcode, current_pc, &instruction)) != ERROR_OK)
- {
+ retval = thumb_evaluate_opcode(opcode, current_pc, &instruction);
+ if (retval != ERROR_OK)
return retval;
- }
instruction_size = 2;
/* check condition code (only for branch instructions) */
- if ((!thumb_pass_branch_condition(sim->get_cpsr(sim, 0, 32), opcode)) &&
- (instruction.type == ARM_B))
+ if (instruction.type == ARM_B &&
+ !thumb_pass_branch_condition(sim->get_cpsr(sim, 0, 32), opcode))
{
if (dry_run_pc)
{