This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
alpha unop disassembly
- From: Richard Henderson <rth at redhat dot com>
- To: binutils at sources dot redhat dot com
- Date: Tue, 22 Jan 2002 01:48:39 -0800
- Subject: alpha unop disassembly
We've not been disassembling unop properly since my changes
last month. Doh.
r~
opcodes
* alpha-dis.c (print_insn_alpha): Also mask the base opcode for
comparison.
gas/testsuite
* gas/alpha/unop.s, gas/alpha/unop.d: New test.
* gas/alpha/alpha.exp: Run it.
Index: opcodes/alpha-dis.c
===================================================================
RCS file: /cvs/src/src/opcodes/alpha-dis.c,v
retrieving revision 1.5
diff -c -p -d -r1.5 alpha-dis.c
*** alpha-dis.c 2001/07/24 04:10:19 1.5
--- alpha-dis.c 2002/01/22 09:40:25
*************** print_insn_alpha (memaddr, info)
*** 118,124 ****
opcode_end = opcode_index[op + 1];
for (opcode = opcode_index[op]; opcode < opcode_end; ++opcode)
{
! if ((insn & opcode->mask) != opcode->opcode)
continue;
if (!(opcode->flags & isa_mask))
--- 118,124 ----
opcode_end = opcode_index[op + 1];
for (opcode = opcode_index[op]; opcode < opcode_end; ++opcode)
{
! if ((insn ^ opcode->opcode) & opcode->mask)
continue;
if (!(opcode->flags & isa_mask))
Index: gas/alpha/alpha.exp
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/alpha/alpha.exp,v
retrieving revision 1.1
diff -c -p -d -r1.1 alpha.exp
*** alpha.exp 2001/09/05 02:39:43 1.1
--- alpha.exp 2002/01/22 09:45:17
*************** if { [istarget alpha*-*-*] } then {
*** 30,33 ****
--- 30,34 ----
}
run_dump_test "fp"
+ run_dump_test "unop"
}
Index: gas/alpha/unop.d
===================================================================
RCS file: unop.d
diff -N unop.d
*** /dev/null Tue May 5 13:32:27 1998
--- unop.d Tue Jan 22 01:45:17 2002
***************
*** 0 ****
--- 1,12 ----
+ #objdump: -d
+ #name: alpha unop disassembly
+
+ .*: file format .*
+
+ Disassembly of section .text:
+
+ 0*0000000 <.text>:
+ 0: 00 00 fe 2f unop
+ 4: 00 00 e0 2f unop
+ 8: 00 00 fe 2f unop
+ c: 00 00 ff 2f unop
Index: gas/alpha/unop.s
===================================================================
RCS file: unop.s
diff -N unop.s
*** /dev/null Tue May 5 13:32:27 1998
--- unop.s Tue Jan 22 01:45:17 2002
***************
*** 0 ****
--- 1,4 ----
+ unop
+ ldq_u $31,0($0)
+ ldq_u $31,0($30)
+ ldq_u $31,0($31)