From: Richard Stallman Date: Thu, 7 Jan 1993 00:05:59 +0000 (+0000) Subject: (convert_move): Added code to support new modes QFmode and HFmode. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b424402e936e77adde61851164970c5e09335e6b;p=gcc.git (convert_move): Added code to support new modes QFmode and HFmode. From-SVN: r3133 --- diff --git a/gcc/expr.c b/gcc/expr.c index 8b8ebbdb07f..04a4d39ded4 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -461,6 +461,71 @@ convert_move (to, from, unsignedp) if (to_real) { +#ifdef HAVE_extendqfhf2 + if (HAVE_extendqfsf2 && from_mode == QFmode && to_mode == HFmode) + { + emit_unop_insn (CODE_FOR_extendqfsf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_extendqfsf2 + if (HAVE_extendqfsf2 && from_mode == QFmode && to_mode == SFmode) + { + emit_unop_insn (CODE_FOR_extendqfsf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_extendqfdf2 + if (HAVE_extendqfdf2 && from_mode == QFmode && to_mode == DFmode) + { + emit_unop_insn (CODE_FOR_extendqfdf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_extendqfxf2 + if (HAVE_extendqfxf2 && from_mode == QFmode && to_mode == XFmode) + { + emit_unop_insn (CODE_FOR_extendqfxf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_extendqftf2 + if (HAVE_extendqftf2 && from_mode == QFmode && to_mode == TFmode) + { + emit_unop_insn (CODE_FOR_extendqftf2, to, from, UNKNOWN); + return; + } +#endif + +#ifdef HAVE_extendhfsf2 + if (HAVE_extendhfsf2 && from_mode == HFmode && to_mode == SFmode) + { + emit_unop_insn (CODE_FOR_extendhfsf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_extendhfdf2 + if (HAVE_extendhfdf2 && from_mode == HFmode && to_mode == DFmode) + { + emit_unop_insn (CODE_FOR_extendhfdf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_extendhfxf2 + if (HAVE_extendhfxf2 && from_mode == HFmode && to_mode == XFmode) + { + emit_unop_insn (CODE_FOR_extendhfxf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_extendhftf2 + if (HAVE_extendhftf2 && from_mode == HFmode && to_mode == TFmode) + { + emit_unop_insn (CODE_FOR_extendhftf2, to, from, UNKNOWN); + return; + } +#endif + #ifdef HAVE_extendsfdf2 if (HAVE_extendsfdf2 && from_mode == SFmode && to_mode == DFmode) { @@ -496,6 +561,70 @@ convert_move (to, from, unsignedp) return; } #endif + +#ifdef HAVE_trunchfqf2 + if (HAVE_trunchfqf2 && from_mode == HFmode && to_mode == QFmode) + { + emit_unop_insn (CODE_FOR_trunchfqf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_truncsfqf2 + if (HAVE_truncsfqf2 && from_mode == SFmode && to_mode == QFmode) + { + emit_unop_insn (CODE_FOR_truncsfqf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_truncdfqf2 + if (HAVE_truncdfqf2 && from_mode == DFmode && to_mode == QFmode) + { + emit_unop_insn (CODE_FOR_truncdfqf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_truncxfqf2 + if (HAVE_truncxfqf2 && from_mode == XFmode && to_mode == QFmode) + { + emit_unop_insn (CODE_FOR_truncxfqf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_trunctfqf2 + if (HAVE_trunctfqf2 && from_mode == TFmode && to_mode == QFmode) + { + emit_unop_insn (CODE_FOR_trunctfqf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_truncsfhf2 + if (HAVE_truncsfhf2 && from_mode == SFmode && to_mode == HFmode) + { + emit_unop_insn (CODE_FOR_truncsfhf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_truncdfhf2 + if (HAVE_truncdfhf2 && from_mode == DFmode && to_mode == HFmode) + { + emit_unop_insn (CODE_FOR_truncdfhf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_truncxfhf2 + if (HAVE_truncxfhf2 && from_mode == XFmode && to_mode == HFmode) + { + emit_unop_insn (CODE_FOR_truncxfhf2, to, from, UNKNOWN); + return; + } +#endif +#ifdef HAVE_trunctfhf2 + if (HAVE_trunctfhf2 && from_mode == TFmode && to_mode == HFmode) + { + emit_unop_insn (CODE_FOR_trunctfhf2, to, from, UNKNOWN); + return; + } +#endif #ifdef HAVE_truncdfsf2 if (HAVE_truncdfsf2 && from_mode == DFmode && to_mode == SFmode) {