From b26ea03346ee034c85757e3c0d1d9196394c63f2 Mon Sep 17 00:00:00 2001 From: kenner Date: Wed, 22 Feb 1995 12:53:15 +0000 Subject: [PATCH] (output_move_double): Let split_double extract any constant in op 1; take size from op 0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9029 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/config/i386/i386.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 2921d9f2341..2182a912aa7 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -419,7 +419,7 @@ output_move_double (operands) rtx xops[2]; rtx addreg0 = 0, addreg1 = 0; int dest_overlapped_low = 0; - int size = GET_MODE_SIZE (GET_MODE (operands[1])); + int size = GET_MODE_SIZE (GET_MODE (operands[0])); middlehalf[0] = 0; middlehalf[1] = 0; @@ -575,20 +575,7 @@ output_move_double (operands) else if (optype1 == OFFSOP) latehalf[1] = adj_offsettable_operand (operands[1], 4); else if (optype1 == CNSTOP) - { - if (GET_CODE (operands[1]) == CONST_DOUBLE) - split_double (operands[1], &operands[1], &latehalf[1]); - else if (CONSTANT_P (operands[1])) - { - /* ??? jrv: Can this really happen? A DImode constant - that isn't a CONST_DOUBLE? */ - if (GET_CODE (operands[1]) == CONST_INT - && INTVAL (operands[1]) < 0) - latehalf[1] = constm1_rtx; - else - latehalf[1] = const0_rtx; - } - } + split_double (operands[1], &operands[1], &latehalf[1]); else latehalf[1] = operands[1]; } -- 2.11.0