From: Richard Kenner Date: Wed, 28 Sep 1994 23:32:44 +0000 (-0400) Subject: (convert_move): Added handling of PDImode conversions. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0407367d5352e159b08e72697db4409a4c05f094;p=gcc.git (convert_move): Added handling of PDImode conversions. From-SVN: r8161 --- diff --git a/gcc/expr.c b/gcc/expr.c index 220559121e2..743f8095676 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -1025,6 +1025,41 @@ convert_move (to, from, unsignedp) } } + if (to_mode == PDImode) + { + if (from_mode != DImode) + from = convert_to_mode (DImode, from, unsignedp); + +#ifdef HAVE_truncdipdi2 + if (HAVE_truncdipdi2) + { + emit_unop_insn (CODE_FOR_truncdipdi2, to, from, UNKNOWN); + return; + } +#endif /* HAVE_truncdipdi2 */ + abort (); + } + + if (from_mode == PDImode) + { + if (to_mode != DImode) + { + from = convert_to_mode (DImode, from, unsignedp); + from_mode = DImode; + } + else + { +#ifdef HAVE_extendpdidi2 + if (HAVE_extendpdidi2) + { + emit_unop_insn (CODE_FOR_extendpdidi2, to, from, UNKNOWN); + return; + } +#endif /* HAVE_extendpdidi2 */ + abort (); + } + } + /* Now follow all the conversions between integers no more than a word long. */