* 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.
This commit is contained in:
Ken Raeburn 1994-11-29 20:31:40 +00:00
parent f1698cb717
commit 0eb44acd17

View file

@ -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 */