aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-tic80.c
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1997-07-15 02:53:47 +0000
committerFred Fish <fnf@specifix.com>1997-07-15 02:53:47 +0000
commit8ae66b94c6d3ade3bbd4fb87ecb3cf8c784e9621 (patch)
tree18657ed377001ce7a0252c48b6cb8661a8247c3d /gas/config/tc-tic80.c
parentf14465c3a713e7f877b872c66bd1936b57d685a3 (diff)
downloadgdb-8ae66b94c6d3ade3bbd4fb87ecb3cf8c784e9621.zip
gdb-8ae66b94c6d3ade3bbd4fb87ecb3cf8c784e9621.tar.gz
gdb-8ae66b94c6d3ade3bbd4fb87ecb3cf8c784e9621.tar.bz2
* config/tc-tic80.c (build_insn): Fix endianness problem with
O_big operands. PR 12765
Diffstat (limited to 'gas/config/tc-tic80.c')
-rw-r--r--gas/config/tc-tic80.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/gas/config/tc-tic80.c b/gas/config/tc-tic80.c
index f5b4e79..d173bad 100644
--- a/gas/config/tc-tic80.c
+++ b/gas/config/tc-tic80.c
@@ -677,16 +677,12 @@ build_insn (opcode, opers)
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;
+ int precision = 2;
+ long exponent_bits = 8L;
+ LITTLENUM_TYPE words[2];
+ /* Value is still in generic_floating_point_number */
+ gen_to_words (words, precision, exponent_bits);
+ insn[1] = (words[0] << 16) | words[1];
}
break;
case O_illegal: