+start-sanitize-tic80
+Wed Feb 26 20:47:12 1997 Fred Fish <fnf@cygnus.com>
+
+ * config/tc-tic80.c (FLT_CHARS): Change from "dD" to "fF".
+ (find_opcode): Match operands that can be floats.
+ (build_insn): Handle O_big (float) expressions and build
+ correct opcode.
+
+end-sanitize-tic80
Wed Feb 26 18:19:00 1997 Stan Shebs <shebs@andros.cygnus.com>
* configure.in (mips*-*-lnews*): New target, also make empty
const char EXP_CHARS[] = "eE";
/* Characters which mean that a number is a floating point constant,
- as in 0d1.0. */
-const char FLT_CHARS[] = "dD";
+ as in 0f1.0. */
+const char FLT_CHARS[] = "fF";
/* This table describes all the machine specific pseudo-ops the assembler
has to support. The fields are:
match = 0;
}
break;
+ case O_big:
+ if ((num > 0) || !(flags & TIC80_OPERAND_FLOAT))
+ {
+ match = 0;
+ }
+ break;
case O_illegal:
case O_symbol_rva:
- case O_big:
case O_uminus:
case O_bit_not:
case O_logical_not:
internal_error_a ("unhandled operand modifier", opers[expi].X_add_number);
}
break;
+ case O_big:
+ extended++;
+ {
+ union {
+ unsigned long l;
+ LITTLENUM_TYPE words[10];
+ } u;
+ gen_to_words (u.words, 2, 8L); /* FIXME: magic numbers */
+ /* FIXME: More magic, swap the littlenums */
+ u.words[2] = u.words[0];
+ u.words[0] = u.words [1];
+ u.words[1] = u.words [2];
+ insn[1] = u.l;
+ }
+ break;
case O_illegal:
case O_symbol_rva:
- case O_big:
case O_uminus:
case O_bit_not:
case O_logical_not: