From 0407367d5352e159b08e72697db4409a4c05f094 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Wed, 28 Sep 1994 19:32:44 -0400 Subject: [PATCH] (convert_move): Added handling of PDImode conversions. From-SVN: r8161 --- gcc/expr.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) 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. */ -- 2.30.2