aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorJason Eckhardt <jle@rice.edu>2003-08-25 02:48:14 +0000
committerJason Eckhardt <jle@rice.edu>2003-08-25 02:48:14 +0000
commitaf858dae9da8d13e2a1c84b53f074a041d96b375 (patch)
treef1a7ca2a5b5dc486e87937549a95a4c7689590f4 /gas/config
parent3123f523be6622104856af9dcc3da9e3ad0bfaab (diff)
downloadgdb-af858dae9da8d13e2a1c84b53f074a041d96b375.zip
gdb-af858dae9da8d13e2a1c84b53f074a041d96b375.tar.gz
gdb-af858dae9da8d13e2a1c84b53f074a041d96b375.tar.bz2
2003-08-24 Jason Eckhardt <jle@rice.edu>
* config/tc-i860.c (md_assemble): Use isrc2 from the original instruction when expanding E_ADDR.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-i860.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gas/config/tc-i860.c b/gas/config/tc-i860.c
index 8ee4c07..6362c16 100644
--- a/gas/config/tc-i860.c
+++ b/gas/config/tc-i860.c
@@ -312,8 +312,9 @@ md_assemble (char *str)
&& the_insn.fi[0].exp.X_add_number >= -(1 << 15)))
break;
- /* Emit "orh ha%addr_expr,r0,r31". */
- pseudo[0].opcode = 0xec000000 | (atmp << 16);
+ /* Emit "orh ha%addr_expr,ireg_src2,r31". */
+ pseudo[0].opcode = 0xec000000 | (the_insn.opcode & 0x03e00000)
+ | (atmp << 16);
pseudo[0].fi[0].fup = (OP_IMM_S16 | OP_SEL_HA);
/* Emit "l%addr_expr(r31),ireg_dest". We pick up the fixup