From 2d257716a91a58e3c957060f281a73eae4528adf Mon Sep 17 00:00:00 2001 From: Stan Cox Date: Fri, 4 Feb 1994 16:29:24 +0000 Subject: [PATCH] Split movdf so it can go into a branch delay slot. From-SVN: r6480 --- gcc/config/m88k/m88k.md | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/gcc/config/m88k/m88k.md b/gcc/config/m88k/m88k.md index 08510547f46..44d95a0cb9f 100644 --- a/gcc/config/m88k/m88k.md +++ b/gcc/config/m88k/m88k.md @@ -2,7 +2,7 @@ ;; Copyright (C) 1988, 1989, 1990, 1991, 1993 Free Software Foundation, Inc. ;; Contributed by Michael Tiemann (tiemann@mcc.com) ;; Additional changes by Michael Meissner (meissner@osf.org) -;; Version 2 port by Tom Wood (Tom_Wood@NeXT.com) +;; Version 2 port by Tom Wood (twood@pets.sps.mot.com) ;; This file is part of GNU CC. @@ -23,15 +23,16 @@ ;;- See file "rtl.def" for documentation on define_insn, match_*, et. al. -;; SCCS rev field. This is a NOP, just to get the SCCS id into the +;; RCS rev field. This is a NOP, just to get the RCS id into the ;; program image. -(define_expand "m88k_sccs_id" +(define_expand "m88k_rcs_id" [(match_operand:SI 0 "" "")] "" - "{ static char sccs_id[] = \"@(#)m88k.md 2.3.3.2 12/16/92 08:26:12\"; + "{ static char rcs_id[] = \"$What: <@(#) m88k.md,v 1.5> $\"; FAIL; }") -;; Attribute specifications +;; Attribute describing the processor. This attribute must match exactly +;; with the processor_type enumeration in m88k.h. ; Target CPU. (define_attr "cpu" "m88100,m88110,m88000" @@ -1970,6 +1971,18 @@ DONE; }") +(define_split + [(set (match_operand:DF 0 "register_operand" "=r") + (match_operand:DF 1 "register_operand" "r"))] + "reload_completed" + [(set (match_dup 2) (match_dup 3)) + (set (match_dup 4) (match_dup 5))] + " +{ operands[2] = operand_subword (operands[0], 0, 0, DFmode); + operands[3] = operand_subword (operands[1], 0, 0, DFmode); + operands[4] = operand_subword (operands[0], 1, 0, DFmode); + operands[5] = operand_subword (operands[1], 1, 0, DFmode); }") + ;; @@ This pattern is incomplete and doesn't appear necessary. ;; ;; This pattern forces (set (reg:DF ...) (const_double ...)) -- 2.30.2