From cabba01c57f167998fe309a19482c600709497c1 Mon Sep 17 00:00:00 2001 From: pbrook Date: Wed, 22 Feb 2006 15:03:29 +0000 Subject: [PATCH] 2005-02-22 Paul Brook gas/ * config/tc-arm.c (do_pld): Remove incorrect write to inst.instruction. (encode_thumb32_addr_mode): Use correct operand. gas/testsuite/ * gas/arm/thumb32.d: Fix expected pld opcode. --- gas/ChangeLog | 6 ++++++ gas/config/tc-arm.c | 5 ++--- gas/testsuite/ChangeLog | 4 ++++ gas/testsuite/gas/arm/thumb32.d | 4 ++-- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 15945a3f2d..347d32e00a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2005-02-22 Paul Brook + + * config/tc-arm.c (do_pld): Remove incorrect write to + inst.instruction. + (encode_thumb32_addr_mode): Use correct operand. + 2006-02-21 Paul Brook * config/tc-arm.c (md_apply_fix): Fix off-by-one errors. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 20a31b9805..906f62a35a 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -5181,7 +5181,6 @@ do_pld (void) _("writeback used in preload instruction")); constraint (!inst.operands[0].preind, _("unindexed addressing used in preload instruction")); - inst.instruction |= inst.operands[0].reg; encode_arm_addr_mode_2 (0, /*is_t=*/FALSE); } @@ -5900,7 +5899,7 @@ encode_thumb32_addr_mode (int i, bfd_boolean is_t, bfd_boolean is_d) constraint (inst.operands[i].shifted && inst.operands[i].shift_kind != SHIFT_LSL, _("Thumb supports only LSL in shifted register indexing")); - inst.instruction |= inst.operands[1].imm; + inst.instruction |= inst.operands[i].imm; if (inst.operands[i].shifted) { constraint (inst.reloc.exp.X_op != O_constant, @@ -5916,7 +5915,7 @@ encode_thumb32_addr_mode (int i, bfd_boolean is_t, bfd_boolean is_d) { constraint (is_pc && inst.operands[i].writeback, _("cannot use writeback with PC-relative addressing")); - constraint (is_t && inst.operands[1].writeback, + constraint (is_t && inst.operands[i].writeback, _("cannot use writeback with this instruction")); if (is_d) diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 2cb93d10ba..bab0878d83 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2005-02-22 Paul Brook + + * gas/arm/thumb32.d: Fix expected pld opcode. + 2006-02-17 Shrirang Khisti Anil Paranjape Shilin Shakti diff --git a/gas/testsuite/gas/arm/thumb32.d b/gas/testsuite/gas/arm/thumb32.d index 0c1da2fc75..e811b14ada 100644 --- a/gas/testsuite/gas/arm/thumb32.d +++ b/gas/testsuite/gas/arm/thumb32.d @@ -513,8 +513,8 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> f815 f930 pld \[r5\], #-48 0[0-9a-f]+ <[^>]+> f815 ff30 pld \[r5, #48\]! 0[0-9a-f]+ <[^>]+> f815 fd30 pld \[r5, #-48\]! -0[0-9a-f]+ <[^>]+> f815 f000 pld \[r5, r0\] -0[0-9a-f]+ <[^>]+> f819 f000 pld \[r9, r0\] +0[0-9a-f]+ <[^>]+> f815 f004 pld \[r5, r4\] +0[0-9a-f]+ <[^>]+> f819 f00c pld \[r9, ip\] 0[0-9a-f]+ <[^>]+> f89f f006 pld \[pc, #6\] ; 0+5ba <[^>]+> 0[0-9a-f]+ <[^>]+> f81f f02a pld \[pc, #-42\] ; 0+58e <[^>]+> 0[0-9a-f]+ <[^>]+> e9d5 2300 ldrd r2, r3, \[r5\] -- 2.11.0