From 8ae66b94c6d3ade3bbd4fb87ecb3cf8c784e9621 Mon Sep 17 00:00:00 2001 From: Fred Fish Date: Tue, 15 Jul 1997 02:53:47 +0000 Subject: [PATCH] * config/tc-tic80.c (build_insn): Fix endianness problem with O_big operands. PR 12765 --- gas/ChangeLog | 7 +++++++ gas/config/tc-tic80.c | 16 ++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index a55b34fd581..df21cb11c45 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +start-sanitize-tic80 +Mon Jul 14 19:30:55 1997 Fred Fish + + * config/tc-tic80.c (build_insn): Fix endianness problem with + O_big operands. + +end-sanitize-tic80 Sun Jul 13 20:43:46 1997 Ian Lance Taylor * config/tc-mips.c (check_absolute_expr): Change warning to diff --git a/gas/config/tc-tic80.c b/gas/config/tc-tic80.c index f5b4e7992a6..d173bad0e49 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: -- 2.30.2