aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@cygnus>1994-11-29 20:31:40 +0000
committerKen Raeburn <raeburn@cygnus>1994-11-29 20:31:40 +0000
commit0eb44acd172fd8d8fcf691f734ca5bc6d88a754b (patch)
tree367eaccc315e1587f4d8d2308314ebb440414fcd
parentf1698cb717ffeac7cc290f033cc034df275e4fe3 (diff)
downloadgdb-0eb44acd172fd8d8fcf691f734ca5bc6d88a754b.zip
gdb-0eb44acd172fd8d8fcf691f734ca5bc6d88a754b.tar.gz
gdb-0eb44acd172fd8d8fcf691f734ca5bc6d88a754b.tar.bz2
* tc-alpha.c (in_range_signed, in_range_unsigned): New routines, split from
in_range. (in_range): Deleted. All calls changed to in_range_*signed. (create_lita_section): Macro deleted. Single use expanded in place. (alpha_ip): Handle `t' and `8' operand types. (md_apply_fix): Handle BFD_RELOC_12_PCREL. Print name of unhandled relocation types. * alpha-opcode.h: Added HALT and DRAINA. Disabled MOVI, since it doesn't work, and isn't supported by the native assembler.
-rw-r--r--gas/config/alpha-opcode.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/gas/config/alpha-opcode.h b/gas/config/alpha-opcode.h
index 85955c9..3381583 100644
--- a/gas/config/alpha-opcode.h
+++ b/gas/config/alpha-opcode.h
@@ -303,7 +303,14 @@ static const struct alpha_opcode alpha_opcodes[] =
{ "bis", 0x44001400, 0, "1,b,3" },
{ "bis", 0x44000400, 0, "r,2" }, /* macro: or ra,rb,ra */
{ "bis", 0x44001400, 0, "r,b" }, /* macro: or ra,#,ra */
+#if 0 /* The `b' handling doesn't seem to handle big constants right
+ now, and even if it did, this pattern would imply that the
+ constant should be produced and *then* moved into the
+ destination register, which is silly. Since the native
+ assembler doesn't support this instruction, don't even bother
+ trying to fix it. Just punt. */
{ "movi", 0x47E01400, 0, "b,3"}, /* movi lit,rc == bis r31,lit,rc */
+#endif
{ "xor", 0x44000800, 0, "1,2,3" },
{ "xor", 0x44001800, 0, "1,b,3" },
{ "xor", 0x44000800, 0, "r,2" }, /* macro: ra,rb,ra */
@@ -757,6 +764,8 @@ static const struct alpha_opcode alpha_opcodes[] =
{ "bpt", 0x00000080, 0, "" },
{ "chmk", 0x00000083, 0, "" },
{ "imb", 0x00000086, 0, "" },
+{ "halt", 0x00000000, 0, "" },
+{ "draina", 0x00000002, 0, "" },
{ "draint", 0x60000000, 0, "" }, /* 6o+5a+5b+16d */
{ "trapb", 0x60000000, 0, "" }, /* 6o+5a+5b+16d */