summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-v850.c10
2 files changed, 9 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 1d9468fddd..1b92555145 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,7 @@
+2002-08-16 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-v850.c (md_assemble): Fix assembling of "callt 0x3f".
+
2002-08-15 Alexandre Oliva <aoliva@redhat.com>
* config/tc-mips.c (macro_build_jalr): Make sure we generate
diff --git a/gas/config/tc-v850.c b/gas/config/tc-v850.c
index eaadaafb20..480f4fcd05 100644
--- a/gas/config/tc-v850.c
+++ b/gas/config/tc-v850.c
@@ -1952,13 +1952,13 @@ md_assemble (str)
{
expression (&ex);
/* Special case:
- If we are assembling a MOV instruction (or a CALLT.... :-)
- and the immediate value does not fit into the bits
- available then create a fake error so that the next MOV
- instruction will be selected. This one has a 32 bit
- immediate field. */
+ If we are assembling a MOV instruction and the immediate
+ value does not fit into the bits available then create a
+ fake error so that the next MOV instruction will be
+ selected. This one has a 32 bit immediate field. */
if (((insn & 0x07e0) == 0x0200)
+ && operand->bits == 5 /* Do not match the CALLT instruction. */
&& ex.X_op == O_constant
&& (ex.X_add_number < (-(1 << (operand->bits - 1)))
|| ex.X_add_number > ((1 << (operand->bits - 1)) - 1)))